From d8b112fa22f69856c82f4ebb3086c24c8097cab9 Mon Sep 17 00:00:00 2001 From: wangbo <875818649@qq.com> Date: Wed, 31 May 2023 06:40:42 +0000 Subject: [PATCH 1/6] feat: support mask distsql parse to AST --- .../antlr4/encrypt/.antlr/Alphabet.interp | 47 + .../antlr4/encrypt/.antlr/Alphabet.java | 154 + .../antlr4/encrypt/.antlr/Alphabet.tokens | 2 + .../antlr4/encrypt/.antlr/BaseRule.interp | 201 + .../antlr4/encrypt/.antlr/BaseRule.tokens | 133 + .../encrypt/.antlr/BaseRuleLexer.interp | 316 + .../antlr4/encrypt/.antlr/BaseRuleLexer.java | 495 + .../encrypt/.antlr/BaseRuleLexer.tokens | 133 + .../antlr4/encrypt/.antlr/BaseRuleParser.java | 558 ++ .../antlr4/encrypt/.antlr/Keyword.interp | 170 + .../antlr4/encrypt/.antlr/Keyword.java | 342 + .../antlr4/encrypt/.antlr/Keyword.tokens | 43 + .../antlr4/encrypt/.antlr/Literals.interp | 191 + .../antlr4/encrypt/.antlr/Literals.java | 298 + .../antlr4/encrypt/.antlr/Literals.tokens | 90 + .../antlr4/encrypt/.antlr/RDLStatement.interp | 225 + .../antlr4/encrypt/.antlr/RDLStatement.tokens | 133 + .../encrypt/.antlr/RDLStatementLexer.interp | 316 + .../encrypt/.antlr/RDLStatementLexer.java | 495 + .../encrypt/.antlr/RDLStatementLexer.tokens | 133 + .../encrypt/.antlr/RDLStatementParser.java | 1907 ++++ .../antlr4/encrypt/.antlr/Symbol.interp | 143 + .../distsql/antlr4/encrypt/.antlr/Symbol.java | 184 + .../antlr4/encrypt/.antlr/Symbol.tokens | 83 + .../antlr4/mask/.antlr/Alphabet.interp | 47 + .../distsql/antlr4/mask/.antlr/Alphabet.java | 154 + .../antlr4/mask/.antlr/Alphabet.tokens | 2 + .../antlr4/mask/.antlr/BaseRule.interp | 189 + .../antlr4/mask/.antlr/BaseRule.tokens | 127 + .../antlr4/mask/.antlr/BaseRuleLexer.interp | 298 + .../antlr4/mask/.antlr/BaseRuleLexer.java | 515 + .../antlr4/mask/.antlr/BaseRuleLexer.tokens | 127 + .../antlr4/mask/.antlr/BaseRuleParser.java | 572 ++ .../distsql/antlr4/mask/.antlr/Keyword.interp | 152 + .../distsql/antlr4/mask/.antlr/Keyword.java | 362 + .../distsql/antlr4/mask/.antlr/Keyword.tokens | 37 + .../antlr4/mask/.antlr/Literals.interp | 191 + .../distsql/antlr4/mask/.antlr/Literals.java | 298 + .../antlr4/mask/.antlr/Literals.tokens | 90 + .../antlr4/mask/.antlr/RDLStatement.interp | 197 + .../antlr4/mask/.antlr/RDLStatement.tokens | 127 + .../mask/.antlr/RDLStatementLexer.interp | 298 + .../antlr4/mask/.antlr/RDLStatementLexer.java | 515 + .../mask/.antlr/RDLStatementLexer.tokens | 127 + .../mask/.antlr/RDLStatementParser.java | 1079 ++ .../antlr4/mask/.antlr/RQLStatement.interp | 192 + .../antlr4/mask/.antlr/RQLStatement.tokens | 127 + .../mask/.antlr/RQLStatementLexer.interp | 298 + .../antlr4/mask/.antlr/RQLStatementLexer.java | 515 + .../mask/.antlr/RQLStatementLexer.tokens | 127 + .../mask/.antlr/RQLStatementParser.java | 746 ++ .../distsql/antlr4/mask/.antlr/Symbol.interp | 143 + .../distsql/antlr4/mask/.antlr/Symbol.java | 184 + .../distsql/antlr4/mask/.antlr/Symbol.tokens | 83 + .../pkg/distsql/antlr4/mask/Alphabet.g4 | 48 + .../pkg/distsql/antlr4/mask/BaseRule.g4 | 64 + .../pkg/distsql/antlr4/mask/Keyword.g4 | 160 + .../pkg/distsql/antlr4/mask/Literals.g4 | 50 + .../pkg/distsql/antlr4/mask/RDLStatement.g4 | 52 + .../pkg/distsql/antlr4/mask/RQLStatement.g4 | 32 + .../pkg/distsql/antlr4/mask/Symbol.g4 | 61 + .../.antlr/Alphabet.interp | 47 + .../read_write_splitting/.antlr/Alphabet.java | 154 + .../.antlr/Alphabet.tokens | 2 + .../.antlr/BaseRule.interp | 179 + .../.antlr/BaseRule.tokens | 121 + .../.antlr/BaseRuleLexer.interp | 280 + .../.antlr/BaseRuleLexer.java | 424 + .../.antlr/BaseRuleLexer.tokens | 121 + .../.antlr/BaseRuleParser.java | 608 ++ .../.antlr/Keyword.interp | 134 + .../read_write_splitting/.antlr/Keyword.java | 274 + .../.antlr/Keyword.tokens | 31 + .../.antlr/Literals.interp | 191 + .../read_write_splitting/.antlr/Literals.java | 298 + .../.antlr/Literals.tokens | 90 + .../.antlr/RALStatement.interp | 181 + .../.antlr/RALStatement.tokens | 121 + .../.antlr/RALStatementLexer.interp | 280 + .../.antlr/RALStatementLexer.java | 424 + .../.antlr/RALStatementLexer.tokens | 121 + .../.antlr/RALStatementParser.java | 781 ++ .../.antlr/RDLStatement.interp | 193 + .../.antlr/RDLStatement.tokens | 121 + .../.antlr/RDLStatementLexer.interp | 280 + .../.antlr/RDLStatementLexer.java | 424 + .../.antlr/RDLStatementLexer.tokens | 121 + .../.antlr/RDLStatementParser.java | 1312 +++ .../read_write_splitting/.antlr/Symbol.interp | 143 + .../read_write_splitting/.antlr/Symbol.java | 184 + .../read_write_splitting/.antlr/Symbol.tokens | 83 + .../antlr4/read_write_splitting/Alphabet.g4 | 48 + .../antlr4/read_write_splitting/BaseRule.g4 | 62 + .../antlr4/read_write_splitting/Keyword.g4 | 136 + .../antlr4/read_write_splitting/Literals.g4 | 50 + .../read_write_splitting/RALStatement.g4 | 28 + .../read_write_splitting/RDLStatement.g4 | 76 + .../read_write_splitting/RQLStatement.g4 | 32 + .../antlr4/read_write_splitting/Symbol.g4 | 61 + .../pkg/distsql/antlr4/shadow/Alphabet.g4 | 48 + .../pkg/distsql/antlr4/shadow/BaseRule.g4 | 54 + .../pkg/distsql/antlr4/shadow/Keyword.g4 | 152 + .../pkg/distsql/antlr4/shadow/Literals.g4 | 54 + .../pkg/distsql/antlr4/shadow/RDLStatement.g4 | 80 + .../pkg/distsql/antlr4/shadow/RQLStatement.g4 | 48 + .../pkg/distsql/antlr4/shadow/Symbol.g4 | 61 + .../pkg/distsql/antlr4/sharding/Alphabet.g4 | 48 + .../pkg/distsql/antlr4/sharding/BaseRule.g4 | 92 + .../pkg/distsql/antlr4/sharding/Keyword.g4 | 308 + .../pkg/distsql/antlr4/sharding/Literals.g4 | 34 + .../distsql/antlr4/sharding/RDLStatement.g4 | 195 + .../distsql/antlr4/sharding/RQLStatement.g4 | 88 + .../pkg/distsql/antlr4/sharding/Symbol.g4 | 61 + .../ast/{rdl_ast.go => encrypt_rdl_ast.go} | 0 .../pkg/distsql/ast/mask_rdl_ast.go | 113 + .../pkg/distsql/visitor/distsql_test.go | 2 +- ...{rdl_visitor.go => encrypt_rdl_visitor.go} | 66 +- .../pkg/distsql/visitor/mask_rdl_visitor.go | 219 + .../mask/rdlstatement_base_visitor.go | 73 + .../visitor_parser/mask/rdlstatement_lexer.go | 645 ++ .../mask/rdlstatement_parser.go | 2511 +++++ .../mask/rdlstatement_visitor.go | 58 + .../rdlstatement_base_visitor.go | 105 + .../rdlstatement_lexer.go | 530 + .../rdlstatement_parser.go | 3238 ++++++ .../rdlstatement_visitor.go | 82 + .../shadow/rdlstatement_base_visitor.go | 101 + .../shadow/rdlstatement_lexer.go | 542 + .../shadow/rdlstatement_parser.go | 3372 +++++++ .../shadow/rdlstatement_visitor.go | 79 + .../sharding/rdlstatement_base_visitor.go | 229 + .../sharding/rdlstatement_lexer.go | 815 ++ .../sharding/rdlstatement_parser.go | 8804 +++++++++++++++++ .../sharding/rdlstatement_visitor.go | 175 + 134 files changed, 46442 insertions(+), 34 deletions(-) create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Alphabet.interp create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Alphabet.java create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Alphabet.tokens create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRule.interp create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRule.tokens create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleLexer.interp create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleLexer.java create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleLexer.tokens create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleParser.java create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Keyword.interp create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Keyword.java create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Keyword.tokens create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Literals.interp create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Literals.java create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Literals.tokens create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatement.interp create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatement.tokens create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementLexer.interp create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementLexer.java create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementLexer.tokens create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementParser.java create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Symbol.interp create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Symbol.java create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Symbol.tokens create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Alphabet.interp create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Alphabet.java create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Alphabet.tokens create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRule.interp create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRule.tokens create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleLexer.interp create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleLexer.java create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleLexer.tokens create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleParser.java create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Keyword.interp create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Keyword.java create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Keyword.tokens create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Literals.interp create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Literals.java create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Literals.tokens create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatement.interp create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatement.tokens create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementLexer.interp create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementLexer.java create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementLexer.tokens create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementParser.java create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatement.interp create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatement.tokens create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementLexer.interp create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementLexer.java create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementLexer.tokens create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementParser.java create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Symbol.interp create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Symbol.java create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Symbol.tokens create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/Alphabet.g4 create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/BaseRule.g4 create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/Keyword.g4 create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/Literals.g4 create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/RDLStatement.g4 create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/RQLStatement.g4 create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/Symbol.g4 create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Alphabet.interp create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Alphabet.java create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Alphabet.tokens create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRule.interp create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRule.tokens create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleLexer.interp create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleLexer.java create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleLexer.tokens create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleParser.java create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Keyword.interp create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Keyword.java create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Keyword.tokens create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Literals.interp create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Literals.java create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Literals.tokens create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatement.interp create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatement.tokens create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementLexer.interp create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementLexer.java create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementLexer.tokens create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementParser.java create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatement.interp create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatement.tokens create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementLexer.interp create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementLexer.java create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementLexer.tokens create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementParser.java create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Symbol.interp create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Symbol.java create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Symbol.tokens create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/Alphabet.g4 create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/BaseRule.g4 create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/Keyword.g4 create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/Literals.g4 create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/RALStatement.g4 create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/RDLStatement.g4 create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/RQLStatement.g4 create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/Symbol.g4 create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/shadow/Alphabet.g4 create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/shadow/BaseRule.g4 create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/shadow/Keyword.g4 create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/shadow/Literals.g4 create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/shadow/RDLStatement.g4 create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/shadow/RQLStatement.g4 create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/shadow/Symbol.g4 create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/sharding/Alphabet.g4 create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/sharding/BaseRule.g4 create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/sharding/Keyword.g4 create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/sharding/Literals.g4 create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/sharding/RDLStatement.g4 create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/sharding/RQLStatement.g4 create mode 100644 shardingsphere-operator/pkg/distsql/antlr4/sharding/Symbol.g4 rename shardingsphere-operator/pkg/distsql/ast/{rdl_ast.go => encrypt_rdl_ast.go} (100%) create mode 100644 shardingsphere-operator/pkg/distsql/ast/mask_rdl_ast.go rename shardingsphere-operator/pkg/distsql/visitor/{rdl_visitor.go => encrypt_rdl_visitor.go} (75%) create mode 100644 shardingsphere-operator/pkg/distsql/visitor/mask_rdl_visitor.go create mode 100644 shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_base_visitor.go create mode 100644 shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_lexer.go create mode 100644 shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_parser.go create mode 100644 shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_visitor.go create mode 100644 shardingsphere-operator/pkg/distsql/visitor_parser/read_write_splitting/rdlstatement_base_visitor.go create mode 100644 shardingsphere-operator/pkg/distsql/visitor_parser/read_write_splitting/rdlstatement_lexer.go create mode 100644 shardingsphere-operator/pkg/distsql/visitor_parser/read_write_splitting/rdlstatement_parser.go create mode 100644 shardingsphere-operator/pkg/distsql/visitor_parser/read_write_splitting/rdlstatement_visitor.go create mode 100644 shardingsphere-operator/pkg/distsql/visitor_parser/shadow/rdlstatement_base_visitor.go create mode 100644 shardingsphere-operator/pkg/distsql/visitor_parser/shadow/rdlstatement_lexer.go create mode 100644 shardingsphere-operator/pkg/distsql/visitor_parser/shadow/rdlstatement_parser.go create mode 100644 shardingsphere-operator/pkg/distsql/visitor_parser/shadow/rdlstatement_visitor.go create mode 100644 shardingsphere-operator/pkg/distsql/visitor_parser/sharding/rdlstatement_base_visitor.go create mode 100644 shardingsphere-operator/pkg/distsql/visitor_parser/sharding/rdlstatement_lexer.go create mode 100644 shardingsphere-operator/pkg/distsql/visitor_parser/sharding/rdlstatement_parser.go create mode 100644 shardingsphere-operator/pkg/distsql/visitor_parser/sharding/rdlstatement_visitor.go diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Alphabet.interp b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Alphabet.interp new file mode 100644 index 00000000..edd4b2d1 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Alphabet.interp @@ -0,0 +1,47 @@ +token literal names: +null +'DO NOT MATCH ANY THING, JUST FOR GENERATOR' + +token symbolic names: +null +FOR_GENERATOR + +rule names: +FOR_GENERATOR +A +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y +Z +UL_ + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 3, 156, 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, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 3, 18, 3, 18, 3, 19, 3, 19, 3, 20, 3, 20, 3, 21, 3, 21, 3, 22, 3, 22, 3, 23, 3, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 2, 2, 30, 3, 3, 5, 2, 7, 2, 9, 2, 11, 2, 13, 2, 15, 2, 17, 2, 19, 2, 21, 2, 23, 2, 25, 2, 27, 2, 29, 2, 31, 2, 33, 2, 35, 2, 37, 2, 39, 2, 41, 2, 43, 2, 45, 2, 47, 2, 49, 2, 51, 2, 53, 2, 55, 2, 57, 2, 3, 2, 28, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 2, 128, 2, 3, 3, 2, 2, 2, 3, 59, 3, 2, 2, 2, 5, 102, 3, 2, 2, 2, 7, 104, 3, 2, 2, 2, 9, 106, 3, 2, 2, 2, 11, 108, 3, 2, 2, 2, 13, 110, 3, 2, 2, 2, 15, 112, 3, 2, 2, 2, 17, 114, 3, 2, 2, 2, 19, 116, 3, 2, 2, 2, 21, 118, 3, 2, 2, 2, 23, 120, 3, 2, 2, 2, 25, 122, 3, 2, 2, 2, 27, 124, 3, 2, 2, 2, 29, 126, 3, 2, 2, 2, 31, 128, 3, 2, 2, 2, 33, 130, 3, 2, 2, 2, 35, 132, 3, 2, 2, 2, 37, 134, 3, 2, 2, 2, 39, 136, 3, 2, 2, 2, 41, 138, 3, 2, 2, 2, 43, 140, 3, 2, 2, 2, 45, 142, 3, 2, 2, 2, 47, 144, 3, 2, 2, 2, 49, 146, 3, 2, 2, 2, 51, 148, 3, 2, 2, 2, 53, 150, 3, 2, 2, 2, 55, 152, 3, 2, 2, 2, 57, 154, 3, 2, 2, 2, 59, 60, 7, 70, 2, 2, 60, 61, 7, 81, 2, 2, 61, 62, 7, 34, 2, 2, 62, 63, 7, 80, 2, 2, 63, 64, 7, 81, 2, 2, 64, 65, 7, 86, 2, 2, 65, 66, 7, 34, 2, 2, 66, 67, 7, 79, 2, 2, 67, 68, 7, 67, 2, 2, 68, 69, 7, 86, 2, 2, 69, 70, 7, 69, 2, 2, 70, 71, 7, 74, 2, 2, 71, 72, 7, 34, 2, 2, 72, 73, 7, 67, 2, 2, 73, 74, 7, 80, 2, 2, 74, 75, 7, 91, 2, 2, 75, 76, 7, 34, 2, 2, 76, 77, 7, 86, 2, 2, 77, 78, 7, 74, 2, 2, 78, 79, 7, 75, 2, 2, 79, 80, 7, 80, 2, 2, 80, 81, 7, 73, 2, 2, 81, 82, 7, 46, 2, 2, 82, 83, 7, 34, 2, 2, 83, 84, 7, 76, 2, 2, 84, 85, 7, 87, 2, 2, 85, 86, 7, 85, 2, 2, 86, 87, 7, 86, 2, 2, 87, 88, 7, 34, 2, 2, 88, 89, 7, 72, 2, 2, 89, 90, 7, 81, 2, 2, 90, 91, 7, 84, 2, 2, 91, 92, 7, 34, 2, 2, 92, 93, 7, 73, 2, 2, 93, 94, 7, 71, 2, 2, 94, 95, 7, 80, 2, 2, 95, 96, 7, 71, 2, 2, 96, 97, 7, 84, 2, 2, 97, 98, 7, 67, 2, 2, 98, 99, 7, 86, 2, 2, 99, 100, 7, 81, 2, 2, 100, 101, 7, 84, 2, 2, 101, 4, 3, 2, 2, 2, 102, 103, 9, 2, 2, 2, 103, 6, 3, 2, 2, 2, 104, 105, 9, 3, 2, 2, 105, 8, 3, 2, 2, 2, 106, 107, 9, 4, 2, 2, 107, 10, 3, 2, 2, 2, 108, 109, 9, 5, 2, 2, 109, 12, 3, 2, 2, 2, 110, 111, 9, 6, 2, 2, 111, 14, 3, 2, 2, 2, 112, 113, 9, 7, 2, 2, 113, 16, 3, 2, 2, 2, 114, 115, 9, 8, 2, 2, 115, 18, 3, 2, 2, 2, 116, 117, 9, 9, 2, 2, 117, 20, 3, 2, 2, 2, 118, 119, 9, 10, 2, 2, 119, 22, 3, 2, 2, 2, 120, 121, 9, 11, 2, 2, 121, 24, 3, 2, 2, 2, 122, 123, 9, 12, 2, 2, 123, 26, 3, 2, 2, 2, 124, 125, 9, 13, 2, 2, 125, 28, 3, 2, 2, 2, 126, 127, 9, 14, 2, 2, 127, 30, 3, 2, 2, 2, 128, 129, 9, 15, 2, 2, 129, 32, 3, 2, 2, 2, 130, 131, 9, 16, 2, 2, 131, 34, 3, 2, 2, 2, 132, 133, 9, 17, 2, 2, 133, 36, 3, 2, 2, 2, 134, 135, 9, 18, 2, 2, 135, 38, 3, 2, 2, 2, 136, 137, 9, 19, 2, 2, 137, 40, 3, 2, 2, 2, 138, 139, 9, 20, 2, 2, 139, 42, 3, 2, 2, 2, 140, 141, 9, 21, 2, 2, 141, 44, 3, 2, 2, 2, 142, 143, 9, 22, 2, 2, 143, 46, 3, 2, 2, 2, 144, 145, 9, 23, 2, 2, 145, 48, 3, 2, 2, 2, 146, 147, 9, 24, 2, 2, 147, 50, 3, 2, 2, 2, 148, 149, 9, 25, 2, 2, 149, 52, 3, 2, 2, 2, 150, 151, 9, 26, 2, 2, 151, 54, 3, 2, 2, 2, 152, 153, 9, 27, 2, 2, 153, 56, 3, 2, 2, 2, 154, 155, 7, 97, 2, 2, 155, 58, 3, 2, 2, 2, 3, 2, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Alphabet.java b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Alphabet.java new file mode 100644 index 00000000..a4f4ce71 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Alphabet.java @@ -0,0 +1,154 @@ +// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/encrypt/Alphabet.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.misc.*; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class Alphabet extends Lexer { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + FOR_GENERATOR=1; + public static String[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + + public static String[] modeNames = { + "DEFAULT_MODE" + }; + + private static String[] makeRuleNames() { + return new String[] { + "FOR_GENERATOR", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", + "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", + "Z", "UL_" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "FOR_GENERATOR" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + + public Alphabet(CharStream input) { + super(input); + _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + @Override + public String getGrammarFileName() { return "Alphabet.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public String[] getChannelNames() { return channelNames; } + + @Override + public String[] getModeNames() { return modeNames; } + + @Override + public ATN getATN() { return _ATN; } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2\3\u009c\b\1\4\2\t"+ + "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ + "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ + "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ + "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3"+ + "\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2"+ + "\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3"+ + "\2\3\3\3\3\3\4\3\4\3\5\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\t\3\t\3\n\3\n\3\13"+ + "\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3\17\3\17\3\20\3\20\3\21\3\21\3\22\3\22"+ + "\3\23\3\23\3\24\3\24\3\25\3\25\3\26\3\26\3\27\3\27\3\30\3\30\3\31\3\31"+ + "\3\32\3\32\3\33\3\33\3\34\3\34\3\35\3\35\2\2\36\3\3\5\2\7\2\t\2\13\2\r"+ + "\2\17\2\21\2\23\2\25\2\27\2\31\2\33\2\35\2\37\2!\2#\2%\2\'\2)\2+\2-\2"+ + "/\2\61\2\63\2\65\2\67\29\2\3\2\34\4\2CCcc\4\2DDdd\4\2EEee\4\2FFff\4\2"+ + "GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4\2LLll\4\2MMmm\4\2NNnn\4\2OOoo\4"+ + "\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4\2TTtt\4\2UUuu\4\2VVvv\4\2WWww\4\2XXx"+ + "x\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\||\2\u0080\2\3\3\2\2\2\3;\3\2\2\2\5f"+ + "\3\2\2\2\7h\3\2\2\2\tj\3\2\2\2\13l\3\2\2\2\rn\3\2\2\2\17p\3\2\2\2\21r"+ + "\3\2\2\2\23t\3\2\2\2\25v\3\2\2\2\27x\3\2\2\2\31z\3\2\2\2\33|\3\2\2\2\35"+ + "~\3\2\2\2\37\u0080\3\2\2\2!\u0082\3\2\2\2#\u0084\3\2\2\2%\u0086\3\2\2"+ + "\2\'\u0088\3\2\2\2)\u008a\3\2\2\2+\u008c\3\2\2\2-\u008e\3\2\2\2/\u0090"+ + "\3\2\2\2\61\u0092\3\2\2\2\63\u0094\3\2\2\2\65\u0096\3\2\2\2\67\u0098\3"+ + "\2\2\29\u009a\3\2\2\2;<\7F\2\2<=\7Q\2\2=>\7\"\2\2>?\7P\2\2?@\7Q\2\2@A"+ + "\7V\2\2AB\7\"\2\2BC\7O\2\2CD\7C\2\2DE\7V\2\2EF\7E\2\2FG\7J\2\2GH\7\"\2"+ + "\2HI\7C\2\2IJ\7P\2\2JK\7[\2\2KL\7\"\2\2LM\7V\2\2MN\7J\2\2NO\7K\2\2OP\7"+ + "P\2\2PQ\7I\2\2QR\7.\2\2RS\7\"\2\2ST\7L\2\2TU\7W\2\2UV\7U\2\2VW\7V\2\2"+ + "WX\7\"\2\2XY\7H\2\2YZ\7Q\2\2Z[\7T\2\2[\\\7\"\2\2\\]\7I\2\2]^\7G\2\2^_"+ + "\7P\2\2_`\7G\2\2`a\7T\2\2ab\7C\2\2bc\7V\2\2cd\7Q\2\2de\7T\2\2e\4\3\2\2"+ + "\2fg\t\2\2\2g\6\3\2\2\2hi\t\3\2\2i\b\3\2\2\2jk\t\4\2\2k\n\3\2\2\2lm\t"+ + "\5\2\2m\f\3\2\2\2no\t\6\2\2o\16\3\2\2\2pq\t\7\2\2q\20\3\2\2\2rs\t\b\2"+ + "\2s\22\3\2\2\2tu\t\t\2\2u\24\3\2\2\2vw\t\n\2\2w\26\3\2\2\2xy\t\13\2\2"+ + "y\30\3\2\2\2z{\t\f\2\2{\32\3\2\2\2|}\t\r\2\2}\34\3\2\2\2~\177\t\16\2\2"+ + "\177\36\3\2\2\2\u0080\u0081\t\17\2\2\u0081 \3\2\2\2\u0082\u0083\t\20\2"+ + "\2\u0083\"\3\2\2\2\u0084\u0085\t\21\2\2\u0085$\3\2\2\2\u0086\u0087\t\22"+ + "\2\2\u0087&\3\2\2\2\u0088\u0089\t\23\2\2\u0089(\3\2\2\2\u008a\u008b\t"+ + "\24\2\2\u008b*\3\2\2\2\u008c\u008d\t\25\2\2\u008d,\3\2\2\2\u008e\u008f"+ + "\t\26\2\2\u008f.\3\2\2\2\u0090\u0091\t\27\2\2\u0091\60\3\2\2\2\u0092\u0093"+ + "\t\30\2\2\u0093\62\3\2\2\2\u0094\u0095\t\31\2\2\u0095\64\3\2\2\2\u0096"+ + "\u0097\t\32\2\2\u0097\66\3\2\2\2\u0098\u0099\t\33\2\2\u00998\3\2\2\2\u009a"+ + "\u009b\7a\2\2\u009b:\3\2\2\2\3\2\2"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Alphabet.tokens b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Alphabet.tokens new file mode 100644 index 00000000..a5be65d8 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Alphabet.tokens @@ -0,0 +1,2 @@ +FOR_GENERATOR=1 +'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=1 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRule.interp b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRule.interp new file mode 100644 index 00000000..563f99ab --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRule.interp @@ -0,0 +1,201 @@ +token literal names: +null +'&&' +'||' +'!' +'~' +'|' +'&' +'<<' +'>>' +'^' +'%' +':' +'+' +'-' +'*' +'/' +'\\' +'.' +'.*' +'<=>' +'==' +'=' +null +'>' +'>=' +'<' +'<=' +'#' +'(' +')' +'{' +'}' +'[' +']' +',' +'"' +'\'' +'`' +'?' +'@' +';' +'->>' +'_' +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +'DO NOT MATCH ANY THING, JUST FOR GENERATOR' +null +null +null +null +null +null +null + +token symbolic names: +null +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ +WS +CREATE +ALTER +DROP +SHOW +RESOURCE +RULE +FROM +ENCRYPT +TYPE +ENCRYPT_ALGORITHM +ASSISTED_QUERY_ALGORITHM +LIKE_QUERY_ALGORITHM +NAME +PROPERTIES +COLUMN +RULES +TABLE +COLUMNS +CIPHER +PLAIN +ASSISTED_QUERY_COLUMN +LIKE_QUERY_COLUMN +QUERY_WITH_CIPHER_COLUMN +TRUE +FALSE +DATA_TYPE +PLAIN_DATA_TYPE +CIPHER_DATA_TYPE +ASSISTED_QUERY_DATA_TYPE +LIKE_QUERY_DATA_TYPE +IF +EXISTS +COUNT +MD5 +AES +RC4 +SM3 +SM4 +CHAR_DIGEST_LIKE +NOT +FOR_GENERATOR +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ + +rule names: +literal +algorithmDefinition +algorithmTypeName +buildinAlgorithmTypeName +propertiesDefinition +properties +property +tableName + + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 93, 66, 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, 3, 2, 3, 2, 5, 2, 21, 10, 2, 3, 2, 3, 2, 3, 2, 5, 2, 26, 10, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 35, 10, 3, 3, 3, 3, 3, 3, 4, 3, 4, 5, 4, 41, 10, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 5, 6, 48, 10, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 7, 7, 55, 10, 7, 12, 7, 14, 7, 58, 11, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 2, 2, 10, 2, 4, 6, 8, 10, 12, 14, 16, 2, 3, 3, 2, 79, 84, 2, 65, 2, 25, 3, 2, 2, 2, 4, 27, 3, 2, 2, 2, 6, 40, 3, 2, 2, 2, 8, 42, 3, 2, 2, 2, 10, 44, 3, 2, 2, 2, 12, 51, 3, 2, 2, 2, 14, 59, 3, 2, 2, 2, 16, 63, 3, 2, 2, 2, 18, 26, 7, 88, 2, 2, 19, 21, 7, 15, 2, 2, 20, 19, 3, 2, 2, 2, 20, 21, 3, 2, 2, 2, 21, 22, 3, 2, 2, 2, 22, 26, 7, 89, 2, 2, 23, 26, 7, 69, 2, 2, 24, 26, 7, 70, 2, 2, 25, 18, 3, 2, 2, 2, 25, 20, 3, 2, 2, 2, 25, 23, 3, 2, 2, 2, 25, 24, 3, 2, 2, 2, 26, 3, 3, 2, 2, 2, 27, 28, 7, 54, 2, 2, 28, 29, 7, 30, 2, 2, 29, 30, 7, 58, 2, 2, 30, 31, 7, 23, 2, 2, 31, 34, 5, 6, 4, 2, 32, 33, 7, 36, 2, 2, 33, 35, 5, 10, 6, 2, 34, 32, 3, 2, 2, 2, 34, 35, 3, 2, 2, 2, 35, 36, 3, 2, 2, 2, 36, 37, 7, 31, 2, 2, 37, 5, 3, 2, 2, 2, 38, 41, 5, 8, 5, 2, 39, 41, 7, 88, 2, 2, 40, 38, 3, 2, 2, 2, 40, 39, 3, 2, 2, 2, 41, 7, 3, 2, 2, 2, 42, 43, 9, 2, 2, 2, 43, 9, 3, 2, 2, 2, 44, 45, 7, 59, 2, 2, 45, 47, 7, 30, 2, 2, 46, 48, 5, 12, 7, 2, 47, 46, 3, 2, 2, 2, 47, 48, 3, 2, 2, 2, 48, 49, 3, 2, 2, 2, 49, 50, 7, 31, 2, 2, 50, 11, 3, 2, 2, 2, 51, 56, 5, 14, 8, 2, 52, 53, 7, 36, 2, 2, 53, 55, 5, 14, 8, 2, 54, 52, 3, 2, 2, 2, 55, 58, 3, 2, 2, 2, 56, 54, 3, 2, 2, 2, 56, 57, 3, 2, 2, 2, 57, 13, 3, 2, 2, 2, 58, 56, 3, 2, 2, 2, 59, 60, 7, 88, 2, 2, 60, 61, 7, 23, 2, 2, 61, 62, 5, 2, 2, 2, 62, 15, 3, 2, 2, 2, 63, 64, 7, 87, 2, 2, 64, 17, 3, 2, 2, 2, 8, 20, 25, 34, 40, 47, 56] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRule.tokens b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRule.tokens new file mode 100644 index 00000000..00b61d0c --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRule.tokens @@ -0,0 +1,133 @@ +AND_=1 +OR_=2 +NOT_=3 +TILDE_=4 +VERTICALBAR_=5 +AMPERSAND_=6 +SIGNEDLEFTSHIFT_=7 +SIGNEDRIGHTSHIFT_=8 +CARET_=9 +MOD_=10 +COLON_=11 +PLUS_=12 +MINUS_=13 +ASTERISK_=14 +SLASH_=15 +BACKSLASH_=16 +DOT_=17 +DOTASTERISK_=18 +SAFEEQ_=19 +DEQ_=20 +EQ_=21 +NEQ_=22 +GT_=23 +GTE_=24 +LT_=25 +LTE_=26 +POUND_=27 +LP_=28 +RP_=29 +LBE_=30 +RBE_=31 +LBT_=32 +RBT_=33 +COMMA_=34 +DQ_=35 +SQ_=36 +BQ_=37 +QUESTION_=38 +AT_=39 +SEMI_=40 +JSONSEPARATOR_=41 +UL_=42 +WS=43 +CREATE=44 +ALTER=45 +DROP=46 +SHOW=47 +RESOURCE=48 +RULE=49 +FROM=50 +ENCRYPT=51 +TYPE=52 +ENCRYPT_ALGORITHM=53 +ASSISTED_QUERY_ALGORITHM=54 +LIKE_QUERY_ALGORITHM=55 +NAME=56 +PROPERTIES=57 +COLUMN=58 +RULES=59 +TABLE=60 +COLUMNS=61 +CIPHER=62 +PLAIN=63 +ASSISTED_QUERY_COLUMN=64 +LIKE_QUERY_COLUMN=65 +QUERY_WITH_CIPHER_COLUMN=66 +TRUE=67 +FALSE=68 +DATA_TYPE=69 +PLAIN_DATA_TYPE=70 +CIPHER_DATA_TYPE=71 +ASSISTED_QUERY_DATA_TYPE=72 +LIKE_QUERY_DATA_TYPE=73 +IF=74 +EXISTS=75 +COUNT=76 +MD5=77 +AES=78 +RC4=79 +SM3=80 +SM4=81 +CHAR_DIGEST_LIKE=82 +NOT=83 +FOR_GENERATOR=84 +IDENTIFIER_=85 +STRING_=86 +INT_=87 +HEX_=88 +NUMBER_=89 +HEXDIGIT_=90 +BITNUM_=91 +'&&'=1 +'||'=2 +'!'=3 +'~'=4 +'|'=5 +'&'=6 +'<<'=7 +'>>'=8 +'^'=9 +'%'=10 +':'=11 +'+'=12 +'-'=13 +'*'=14 +'/'=15 +'\\'=16 +'.'=17 +'.*'=18 +'<=>'=19 +'=='=20 +'='=21 +'>'=23 +'>='=24 +'<'=25 +'<='=26 +'#'=27 +'('=28 +')'=29 +'{'=30 +'}'=31 +'['=32 +']'=33 +','=34 +'"'=35 +'\''=36 +'`'=37 +'?'=38 +'@'=39 +';'=40 +'->>'=41 +'_'=42 +'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=84 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleLexer.interp b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleLexer.interp new file mode 100644 index 00000000..86422baa --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleLexer.interp @@ -0,0 +1,316 @@ +token literal names: +null +'&&' +'||' +'!' +'~' +'|' +'&' +'<<' +'>>' +'^' +'%' +':' +'+' +'-' +'*' +'/' +'\\' +'.' +'.*' +'<=>' +'==' +'=' +null +'>' +'>=' +'<' +'<=' +'#' +'(' +')' +'{' +'}' +'[' +']' +',' +'"' +'\'' +'`' +'?' +'@' +';' +'->>' +'_' +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +'DO NOT MATCH ANY THING, JUST FOR GENERATOR' +null +null +null +null +null +null +null + +token symbolic names: +null +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ +WS +CREATE +ALTER +DROP +SHOW +RESOURCE +RULE +FROM +ENCRYPT +TYPE +ENCRYPT_ALGORITHM +ASSISTED_QUERY_ALGORITHM +LIKE_QUERY_ALGORITHM +NAME +PROPERTIES +COLUMN +RULES +TABLE +COLUMNS +CIPHER +PLAIN +ASSISTED_QUERY_COLUMN +LIKE_QUERY_COLUMN +QUERY_WITH_CIPHER_COLUMN +TRUE +FALSE +DATA_TYPE +PLAIN_DATA_TYPE +CIPHER_DATA_TYPE +ASSISTED_QUERY_DATA_TYPE +LIKE_QUERY_DATA_TYPE +IF +EXISTS +COUNT +MD5 +AES +RC4 +SM3 +SM4 +CHAR_DIGEST_LIKE +NOT +FOR_GENERATOR +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ + +rule names: +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ +WS +CREATE +ALTER +DROP +SHOW +RESOURCE +RULE +FROM +ENCRYPT +TYPE +ENCRYPT_ALGORITHM +ASSISTED_QUERY_ALGORITHM +LIKE_QUERY_ALGORITHM +NAME +PROPERTIES +COLUMN +RULES +TABLE +COLUMNS +CIPHER +PLAIN +ASSISTED_QUERY_COLUMN +LIKE_QUERY_COLUMN +QUERY_WITH_CIPHER_COLUMN +TRUE +FALSE +DATA_TYPE +PLAIN_DATA_TYPE +CIPHER_DATA_TYPE +ASSISTED_QUERY_DATA_TYPE +LIKE_QUERY_DATA_TYPE +IF +EXISTS +COUNT +MD5 +AES +RC4 +SM3 +SM4 +CHAR_DIGEST_LIKE +NOT +FOR_GENERATOR +A +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y +Z +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 93, 952, 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, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 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, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 292, 10, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 44, 6, 44, 339, 10, 44, 13, 44, 14, 44, 340, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 75, 3, 75, 3, 75, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 78, 3, 78, 3, 78, 3, 78, 3, 79, 3, 79, 3, 79, 3, 79, 3, 80, 3, 80, 3, 80, 3, 80, 3, 81, 3, 81, 3, 81, 3, 81, 3, 82, 3, 82, 3, 82, 3, 82, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 84, 3, 84, 3, 84, 3, 84, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 86, 3, 86, 3, 87, 3, 87, 3, 88, 3, 88, 3, 89, 3, 89, 3, 90, 3, 90, 3, 91, 3, 91, 3, 92, 3, 92, 3, 93, 3, 93, 3, 94, 3, 94, 3, 95, 3, 95, 3, 96, 3, 96, 3, 97, 3, 97, 3, 98, 3, 98, 3, 99, 3, 99, 3, 100, 3, 100, 3, 101, 3, 101, 3, 102, 3, 102, 3, 103, 3, 103, 3, 104, 3, 104, 3, 105, 3, 105, 3, 106, 3, 106, 3, 107, 3, 107, 3, 108, 3, 108, 3, 109, 3, 109, 3, 110, 3, 110, 3, 111, 3, 111, 3, 112, 7, 112, 838, 10, 112, 12, 112, 14, 112, 841, 11, 112, 3, 112, 6, 112, 844, 10, 112, 13, 112, 14, 112, 845, 3, 112, 7, 112, 849, 10, 112, 12, 112, 14, 112, 852, 11, 112, 3, 112, 3, 112, 6, 112, 856, 10, 112, 13, 112, 14, 112, 857, 3, 112, 3, 112, 5, 112, 862, 10, 112, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 7, 113, 870, 10, 113, 12, 113, 14, 113, 873, 11, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 7, 113, 883, 10, 113, 12, 113, 14, 113, 886, 11, 113, 3, 113, 3, 113, 5, 113, 890, 10, 113, 3, 114, 6, 114, 893, 10, 114, 13, 114, 14, 114, 894, 3, 115, 3, 115, 3, 116, 5, 116, 900, 10, 116, 3, 116, 5, 116, 903, 10, 116, 3, 116, 3, 116, 3, 116, 3, 116, 5, 116, 909, 10, 116, 3, 116, 3, 116, 5, 116, 913, 10, 116, 3, 117, 3, 117, 3, 117, 3, 117, 6, 117, 919, 10, 117, 13, 117, 14, 117, 920, 3, 117, 3, 117, 3, 117, 6, 117, 926, 10, 117, 13, 117, 14, 117, 927, 3, 117, 3, 117, 5, 117, 932, 10, 117, 3, 118, 3, 118, 3, 118, 3, 118, 6, 118, 938, 10, 118, 13, 118, 14, 118, 939, 3, 118, 3, 118, 3, 118, 6, 118, 945, 10, 118, 13, 118, 14, 118, 946, 3, 118, 3, 118, 5, 118, 951, 10, 118, 4, 839, 845, 2, 119, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, 91, 47, 93, 48, 95, 49, 97, 50, 99, 51, 101, 52, 103, 53, 105, 54, 107, 55, 109, 56, 111, 57, 113, 58, 115, 59, 117, 60, 119, 61, 121, 62, 123, 63, 125, 64, 127, 65, 129, 66, 131, 67, 133, 68, 135, 69, 137, 70, 139, 71, 141, 72, 143, 73, 145, 74, 147, 75, 149, 76, 151, 77, 153, 78, 155, 79, 157, 80, 159, 81, 161, 82, 163, 83, 165, 84, 167, 85, 169, 86, 171, 2, 173, 2, 175, 2, 177, 2, 179, 2, 181, 2, 183, 2, 185, 2, 187, 2, 189, 2, 191, 2, 193, 2, 195, 2, 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, 87, 225, 88, 227, 89, 229, 90, 231, 91, 233, 92, 235, 93, 3, 2, 39, 5, 2, 11, 12, 15, 15, 34, 34, 3, 2, 55, 55, 3, 2, 54, 54, 3, 2, 53, 53, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 7, 2, 38, 38, 50, 59, 67, 92, 97, 97, 99, 124, 6, 2, 38, 38, 67, 92, 97, 97, 99, 124, 3, 2, 98, 98, 4, 2, 36, 36, 94, 94, 4, 2, 41, 41, 94, 94, 3, 2, 50, 59, 5, 2, 50, 59, 67, 72, 99, 104, 2, 951, 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, 223, 3, 2, 2, 2, 2, 225, 3, 2, 2, 2, 2, 227, 3, 2, 2, 2, 2, 229, 3, 2, 2, 2, 2, 231, 3, 2, 2, 2, 2, 233, 3, 2, 2, 2, 2, 235, 3, 2, 2, 2, 3, 237, 3, 2, 2, 2, 5, 240, 3, 2, 2, 2, 7, 243, 3, 2, 2, 2, 9, 245, 3, 2, 2, 2, 11, 247, 3, 2, 2, 2, 13, 249, 3, 2, 2, 2, 15, 251, 3, 2, 2, 2, 17, 254, 3, 2, 2, 2, 19, 257, 3, 2, 2, 2, 21, 259, 3, 2, 2, 2, 23, 261, 3, 2, 2, 2, 25, 263, 3, 2, 2, 2, 27, 265, 3, 2, 2, 2, 29, 267, 3, 2, 2, 2, 31, 269, 3, 2, 2, 2, 33, 271, 3, 2, 2, 2, 35, 273, 3, 2, 2, 2, 37, 275, 3, 2, 2, 2, 39, 278, 3, 2, 2, 2, 41, 282, 3, 2, 2, 2, 43, 285, 3, 2, 2, 2, 45, 291, 3, 2, 2, 2, 47, 293, 3, 2, 2, 2, 49, 295, 3, 2, 2, 2, 51, 298, 3, 2, 2, 2, 53, 300, 3, 2, 2, 2, 55, 303, 3, 2, 2, 2, 57, 305, 3, 2, 2, 2, 59, 307, 3, 2, 2, 2, 61, 309, 3, 2, 2, 2, 63, 311, 3, 2, 2, 2, 65, 313, 3, 2, 2, 2, 67, 315, 3, 2, 2, 2, 69, 317, 3, 2, 2, 2, 71, 319, 3, 2, 2, 2, 73, 321, 3, 2, 2, 2, 75, 323, 3, 2, 2, 2, 77, 325, 3, 2, 2, 2, 79, 327, 3, 2, 2, 2, 81, 329, 3, 2, 2, 2, 83, 331, 3, 2, 2, 2, 85, 335, 3, 2, 2, 2, 87, 338, 3, 2, 2, 2, 89, 344, 3, 2, 2, 2, 91, 351, 3, 2, 2, 2, 93, 357, 3, 2, 2, 2, 95, 362, 3, 2, 2, 2, 97, 367, 3, 2, 2, 2, 99, 376, 3, 2, 2, 2, 101, 381, 3, 2, 2, 2, 103, 386, 3, 2, 2, 2, 105, 394, 3, 2, 2, 2, 107, 399, 3, 2, 2, 2, 109, 417, 3, 2, 2, 2, 111, 442, 3, 2, 2, 2, 113, 463, 3, 2, 2, 2, 115, 468, 3, 2, 2, 2, 117, 479, 3, 2, 2, 2, 119, 486, 3, 2, 2, 2, 121, 492, 3, 2, 2, 2, 123, 498, 3, 2, 2, 2, 125, 506, 3, 2, 2, 2, 127, 513, 3, 2, 2, 2, 129, 519, 3, 2, 2, 2, 131, 541, 3, 2, 2, 2, 133, 559, 3, 2, 2, 2, 135, 584, 3, 2, 2, 2, 137, 589, 3, 2, 2, 2, 139, 595, 3, 2, 2, 2, 141, 605, 3, 2, 2, 2, 143, 621, 3, 2, 2, 2, 145, 638, 3, 2, 2, 2, 147, 663, 3, 2, 2, 2, 149, 684, 3, 2, 2, 2, 151, 687, 3, 2, 2, 2, 153, 694, 3, 2, 2, 2, 155, 700, 3, 2, 2, 2, 157, 704, 3, 2, 2, 2, 159, 708, 3, 2, 2, 2, 161, 712, 3, 2, 2, 2, 163, 716, 3, 2, 2, 2, 165, 720, 3, 2, 2, 2, 167, 737, 3, 2, 2, 2, 169, 741, 3, 2, 2, 2, 171, 784, 3, 2, 2, 2, 173, 786, 3, 2, 2, 2, 175, 788, 3, 2, 2, 2, 177, 790, 3, 2, 2, 2, 179, 792, 3, 2, 2, 2, 181, 794, 3, 2, 2, 2, 183, 796, 3, 2, 2, 2, 185, 798, 3, 2, 2, 2, 187, 800, 3, 2, 2, 2, 189, 802, 3, 2, 2, 2, 191, 804, 3, 2, 2, 2, 193, 806, 3, 2, 2, 2, 195, 808, 3, 2, 2, 2, 197, 810, 3, 2, 2, 2, 199, 812, 3, 2, 2, 2, 201, 814, 3, 2, 2, 2, 203, 816, 3, 2, 2, 2, 205, 818, 3, 2, 2, 2, 207, 820, 3, 2, 2, 2, 209, 822, 3, 2, 2, 2, 211, 824, 3, 2, 2, 2, 213, 826, 3, 2, 2, 2, 215, 828, 3, 2, 2, 2, 217, 830, 3, 2, 2, 2, 219, 832, 3, 2, 2, 2, 221, 834, 3, 2, 2, 2, 223, 861, 3, 2, 2, 2, 225, 889, 3, 2, 2, 2, 227, 892, 3, 2, 2, 2, 229, 896, 3, 2, 2, 2, 231, 899, 3, 2, 2, 2, 233, 931, 3, 2, 2, 2, 235, 950, 3, 2, 2, 2, 237, 238, 7, 40, 2, 2, 238, 239, 7, 40, 2, 2, 239, 4, 3, 2, 2, 2, 240, 241, 7, 126, 2, 2, 241, 242, 7, 126, 2, 2, 242, 6, 3, 2, 2, 2, 243, 244, 7, 35, 2, 2, 244, 8, 3, 2, 2, 2, 245, 246, 7, 128, 2, 2, 246, 10, 3, 2, 2, 2, 247, 248, 7, 126, 2, 2, 248, 12, 3, 2, 2, 2, 249, 250, 7, 40, 2, 2, 250, 14, 3, 2, 2, 2, 251, 252, 7, 62, 2, 2, 252, 253, 7, 62, 2, 2, 253, 16, 3, 2, 2, 2, 254, 255, 7, 64, 2, 2, 255, 256, 7, 64, 2, 2, 256, 18, 3, 2, 2, 2, 257, 258, 7, 96, 2, 2, 258, 20, 3, 2, 2, 2, 259, 260, 7, 39, 2, 2, 260, 22, 3, 2, 2, 2, 261, 262, 7, 60, 2, 2, 262, 24, 3, 2, 2, 2, 263, 264, 7, 45, 2, 2, 264, 26, 3, 2, 2, 2, 265, 266, 7, 47, 2, 2, 266, 28, 3, 2, 2, 2, 267, 268, 7, 44, 2, 2, 268, 30, 3, 2, 2, 2, 269, 270, 7, 49, 2, 2, 270, 32, 3, 2, 2, 2, 271, 272, 7, 94, 2, 2, 272, 34, 3, 2, 2, 2, 273, 274, 7, 48, 2, 2, 274, 36, 3, 2, 2, 2, 275, 276, 7, 48, 2, 2, 276, 277, 7, 44, 2, 2, 277, 38, 3, 2, 2, 2, 278, 279, 7, 62, 2, 2, 279, 280, 7, 63, 2, 2, 280, 281, 7, 64, 2, 2, 281, 40, 3, 2, 2, 2, 282, 283, 7, 63, 2, 2, 283, 284, 7, 63, 2, 2, 284, 42, 3, 2, 2, 2, 285, 286, 7, 63, 2, 2, 286, 44, 3, 2, 2, 2, 287, 288, 7, 62, 2, 2, 288, 292, 7, 64, 2, 2, 289, 290, 7, 35, 2, 2, 290, 292, 7, 63, 2, 2, 291, 287, 3, 2, 2, 2, 291, 289, 3, 2, 2, 2, 292, 46, 3, 2, 2, 2, 293, 294, 7, 64, 2, 2, 294, 48, 3, 2, 2, 2, 295, 296, 7, 64, 2, 2, 296, 297, 7, 63, 2, 2, 297, 50, 3, 2, 2, 2, 298, 299, 7, 62, 2, 2, 299, 52, 3, 2, 2, 2, 300, 301, 7, 62, 2, 2, 301, 302, 7, 63, 2, 2, 302, 54, 3, 2, 2, 2, 303, 304, 7, 37, 2, 2, 304, 56, 3, 2, 2, 2, 305, 306, 7, 42, 2, 2, 306, 58, 3, 2, 2, 2, 307, 308, 7, 43, 2, 2, 308, 60, 3, 2, 2, 2, 309, 310, 7, 125, 2, 2, 310, 62, 3, 2, 2, 2, 311, 312, 7, 127, 2, 2, 312, 64, 3, 2, 2, 2, 313, 314, 7, 93, 2, 2, 314, 66, 3, 2, 2, 2, 315, 316, 7, 95, 2, 2, 316, 68, 3, 2, 2, 2, 317, 318, 7, 46, 2, 2, 318, 70, 3, 2, 2, 2, 319, 320, 7, 36, 2, 2, 320, 72, 3, 2, 2, 2, 321, 322, 7, 41, 2, 2, 322, 74, 3, 2, 2, 2, 323, 324, 7, 98, 2, 2, 324, 76, 3, 2, 2, 2, 325, 326, 7, 65, 2, 2, 326, 78, 3, 2, 2, 2, 327, 328, 7, 66, 2, 2, 328, 80, 3, 2, 2, 2, 329, 330, 7, 61, 2, 2, 330, 82, 3, 2, 2, 2, 331, 332, 7, 47, 2, 2, 332, 333, 7, 64, 2, 2, 333, 334, 7, 64, 2, 2, 334, 84, 3, 2, 2, 2, 335, 336, 7, 97, 2, 2, 336, 86, 3, 2, 2, 2, 337, 339, 9, 2, 2, 2, 338, 337, 3, 2, 2, 2, 339, 340, 3, 2, 2, 2, 340, 338, 3, 2, 2, 2, 340, 341, 3, 2, 2, 2, 341, 342, 3, 2, 2, 2, 342, 343, 8, 44, 2, 2, 343, 88, 3, 2, 2, 2, 344, 345, 5, 175, 88, 2, 345, 346, 5, 205, 103, 2, 346, 347, 5, 179, 90, 2, 347, 348, 5, 171, 86, 2, 348, 349, 5, 209, 105, 2, 349, 350, 5, 179, 90, 2, 350, 90, 3, 2, 2, 2, 351, 352, 5, 171, 86, 2, 352, 353, 5, 193, 97, 2, 353, 354, 5, 209, 105, 2, 354, 355, 5, 179, 90, 2, 355, 356, 5, 205, 103, 2, 356, 92, 3, 2, 2, 2, 357, 358, 5, 177, 89, 2, 358, 359, 5, 205, 103, 2, 359, 360, 5, 199, 100, 2, 360, 361, 5, 201, 101, 2, 361, 94, 3, 2, 2, 2, 362, 363, 5, 207, 104, 2, 363, 364, 5, 185, 93, 2, 364, 365, 5, 199, 100, 2, 365, 366, 5, 215, 108, 2, 366, 96, 3, 2, 2, 2, 367, 368, 5, 205, 103, 2, 368, 369, 5, 179, 90, 2, 369, 370, 5, 207, 104, 2, 370, 371, 5, 199, 100, 2, 371, 372, 5, 211, 106, 2, 372, 373, 5, 205, 103, 2, 373, 374, 5, 175, 88, 2, 374, 375, 5, 179, 90, 2, 375, 98, 3, 2, 2, 2, 376, 377, 5, 205, 103, 2, 377, 378, 5, 211, 106, 2, 378, 379, 5, 193, 97, 2, 379, 380, 5, 179, 90, 2, 380, 100, 3, 2, 2, 2, 381, 382, 5, 181, 91, 2, 382, 383, 5, 205, 103, 2, 383, 384, 5, 199, 100, 2, 384, 385, 5, 195, 98, 2, 385, 102, 3, 2, 2, 2, 386, 387, 5, 179, 90, 2, 387, 388, 5, 197, 99, 2, 388, 389, 5, 175, 88, 2, 389, 390, 5, 205, 103, 2, 390, 391, 5, 219, 110, 2, 391, 392, 5, 201, 101, 2, 392, 393, 5, 209, 105, 2, 393, 104, 3, 2, 2, 2, 394, 395, 5, 209, 105, 2, 395, 396, 5, 219, 110, 2, 396, 397, 5, 201, 101, 2, 397, 398, 5, 179, 90, 2, 398, 106, 3, 2, 2, 2, 399, 400, 5, 179, 90, 2, 400, 401, 5, 197, 99, 2, 401, 402, 5, 175, 88, 2, 402, 403, 5, 205, 103, 2, 403, 404, 5, 219, 110, 2, 404, 405, 5, 201, 101, 2, 405, 406, 5, 209, 105, 2, 406, 407, 5, 85, 43, 2, 407, 408, 5, 171, 86, 2, 408, 409, 5, 193, 97, 2, 409, 410, 5, 183, 92, 2, 410, 411, 5, 199, 100, 2, 411, 412, 5, 205, 103, 2, 412, 413, 5, 187, 94, 2, 413, 414, 5, 209, 105, 2, 414, 415, 5, 185, 93, 2, 415, 416, 5, 195, 98, 2, 416, 108, 3, 2, 2, 2, 417, 418, 5, 171, 86, 2, 418, 419, 5, 207, 104, 2, 419, 420, 5, 207, 104, 2, 420, 421, 5, 187, 94, 2, 421, 422, 5, 207, 104, 2, 422, 423, 5, 209, 105, 2, 423, 424, 5, 179, 90, 2, 424, 425, 5, 177, 89, 2, 425, 426, 5, 85, 43, 2, 426, 427, 5, 203, 102, 2, 427, 428, 5, 211, 106, 2, 428, 429, 5, 179, 90, 2, 429, 430, 5, 205, 103, 2, 430, 431, 5, 219, 110, 2, 431, 432, 5, 85, 43, 2, 432, 433, 5, 171, 86, 2, 433, 434, 5, 193, 97, 2, 434, 435, 5, 183, 92, 2, 435, 436, 5, 199, 100, 2, 436, 437, 5, 205, 103, 2, 437, 438, 5, 187, 94, 2, 438, 439, 5, 209, 105, 2, 439, 440, 5, 185, 93, 2, 440, 441, 5, 195, 98, 2, 441, 110, 3, 2, 2, 2, 442, 443, 5, 193, 97, 2, 443, 444, 5, 187, 94, 2, 444, 445, 5, 191, 96, 2, 445, 446, 5, 179, 90, 2, 446, 447, 5, 85, 43, 2, 447, 448, 5, 203, 102, 2, 448, 449, 5, 211, 106, 2, 449, 450, 5, 179, 90, 2, 450, 451, 5, 205, 103, 2, 451, 452, 5, 219, 110, 2, 452, 453, 5, 85, 43, 2, 453, 454, 5, 171, 86, 2, 454, 455, 5, 193, 97, 2, 455, 456, 5, 183, 92, 2, 456, 457, 5, 199, 100, 2, 457, 458, 5, 205, 103, 2, 458, 459, 5, 187, 94, 2, 459, 460, 5, 209, 105, 2, 460, 461, 5, 185, 93, 2, 461, 462, 5, 195, 98, 2, 462, 112, 3, 2, 2, 2, 463, 464, 5, 197, 99, 2, 464, 465, 5, 171, 86, 2, 465, 466, 5, 195, 98, 2, 466, 467, 5, 179, 90, 2, 467, 114, 3, 2, 2, 2, 468, 469, 5, 201, 101, 2, 469, 470, 5, 205, 103, 2, 470, 471, 5, 199, 100, 2, 471, 472, 5, 201, 101, 2, 472, 473, 5, 179, 90, 2, 473, 474, 5, 205, 103, 2, 474, 475, 5, 209, 105, 2, 475, 476, 5, 187, 94, 2, 476, 477, 5, 179, 90, 2, 477, 478, 5, 207, 104, 2, 478, 116, 3, 2, 2, 2, 479, 480, 5, 175, 88, 2, 480, 481, 5, 199, 100, 2, 481, 482, 5, 193, 97, 2, 482, 483, 5, 211, 106, 2, 483, 484, 5, 195, 98, 2, 484, 485, 5, 197, 99, 2, 485, 118, 3, 2, 2, 2, 486, 487, 5, 205, 103, 2, 487, 488, 5, 211, 106, 2, 488, 489, 5, 193, 97, 2, 489, 490, 5, 179, 90, 2, 490, 491, 5, 207, 104, 2, 491, 120, 3, 2, 2, 2, 492, 493, 5, 209, 105, 2, 493, 494, 5, 171, 86, 2, 494, 495, 5, 173, 87, 2, 495, 496, 5, 193, 97, 2, 496, 497, 5, 179, 90, 2, 497, 122, 3, 2, 2, 2, 498, 499, 5, 175, 88, 2, 499, 500, 5, 199, 100, 2, 500, 501, 5, 193, 97, 2, 501, 502, 5, 211, 106, 2, 502, 503, 5, 195, 98, 2, 503, 504, 5, 197, 99, 2, 504, 505, 5, 207, 104, 2, 505, 124, 3, 2, 2, 2, 506, 507, 5, 175, 88, 2, 507, 508, 5, 187, 94, 2, 508, 509, 5, 201, 101, 2, 509, 510, 5, 185, 93, 2, 510, 511, 5, 179, 90, 2, 511, 512, 5, 205, 103, 2, 512, 126, 3, 2, 2, 2, 513, 514, 5, 201, 101, 2, 514, 515, 5, 193, 97, 2, 515, 516, 5, 171, 86, 2, 516, 517, 5, 187, 94, 2, 517, 518, 5, 197, 99, 2, 518, 128, 3, 2, 2, 2, 519, 520, 5, 171, 86, 2, 520, 521, 5, 207, 104, 2, 521, 522, 5, 207, 104, 2, 522, 523, 5, 187, 94, 2, 523, 524, 5, 207, 104, 2, 524, 525, 5, 209, 105, 2, 525, 526, 5, 179, 90, 2, 526, 527, 5, 177, 89, 2, 527, 528, 5, 85, 43, 2, 528, 529, 5, 203, 102, 2, 529, 530, 5, 211, 106, 2, 530, 531, 5, 179, 90, 2, 531, 532, 5, 205, 103, 2, 532, 533, 5, 219, 110, 2, 533, 534, 5, 85, 43, 2, 534, 535, 5, 175, 88, 2, 535, 536, 5, 199, 100, 2, 536, 537, 5, 193, 97, 2, 537, 538, 5, 211, 106, 2, 538, 539, 5, 195, 98, 2, 539, 540, 5, 197, 99, 2, 540, 130, 3, 2, 2, 2, 541, 542, 5, 193, 97, 2, 542, 543, 5, 187, 94, 2, 543, 544, 5, 191, 96, 2, 544, 545, 5, 179, 90, 2, 545, 546, 5, 85, 43, 2, 546, 547, 5, 203, 102, 2, 547, 548, 5, 211, 106, 2, 548, 549, 5, 179, 90, 2, 549, 550, 5, 205, 103, 2, 550, 551, 5, 219, 110, 2, 551, 552, 5, 85, 43, 2, 552, 553, 5, 175, 88, 2, 553, 554, 5, 199, 100, 2, 554, 555, 5, 193, 97, 2, 555, 556, 5, 211, 106, 2, 556, 557, 5, 195, 98, 2, 557, 558, 5, 197, 99, 2, 558, 132, 3, 2, 2, 2, 559, 560, 5, 203, 102, 2, 560, 561, 5, 211, 106, 2, 561, 562, 5, 179, 90, 2, 562, 563, 5, 205, 103, 2, 563, 564, 5, 219, 110, 2, 564, 565, 5, 85, 43, 2, 565, 566, 5, 215, 108, 2, 566, 567, 5, 187, 94, 2, 567, 568, 5, 209, 105, 2, 568, 569, 5, 185, 93, 2, 569, 570, 5, 85, 43, 2, 570, 571, 5, 175, 88, 2, 571, 572, 5, 187, 94, 2, 572, 573, 5, 201, 101, 2, 573, 574, 5, 185, 93, 2, 574, 575, 5, 179, 90, 2, 575, 576, 5, 205, 103, 2, 576, 577, 5, 85, 43, 2, 577, 578, 5, 175, 88, 2, 578, 579, 5, 199, 100, 2, 579, 580, 5, 193, 97, 2, 580, 581, 5, 211, 106, 2, 581, 582, 5, 195, 98, 2, 582, 583, 5, 197, 99, 2, 583, 134, 3, 2, 2, 2, 584, 585, 5, 209, 105, 2, 585, 586, 5, 205, 103, 2, 586, 587, 5, 211, 106, 2, 587, 588, 5, 179, 90, 2, 588, 136, 3, 2, 2, 2, 589, 590, 5, 181, 91, 2, 590, 591, 5, 171, 86, 2, 591, 592, 5, 193, 97, 2, 592, 593, 5, 207, 104, 2, 593, 594, 5, 179, 90, 2, 594, 138, 3, 2, 2, 2, 595, 596, 5, 177, 89, 2, 596, 597, 5, 171, 86, 2, 597, 598, 5, 209, 105, 2, 598, 599, 5, 171, 86, 2, 599, 600, 5, 85, 43, 2, 600, 601, 5, 209, 105, 2, 601, 602, 5, 219, 110, 2, 602, 603, 5, 201, 101, 2, 603, 604, 5, 179, 90, 2, 604, 140, 3, 2, 2, 2, 605, 606, 5, 201, 101, 2, 606, 607, 5, 193, 97, 2, 607, 608, 5, 171, 86, 2, 608, 609, 5, 187, 94, 2, 609, 610, 5, 197, 99, 2, 610, 611, 5, 85, 43, 2, 611, 612, 5, 177, 89, 2, 612, 613, 5, 171, 86, 2, 613, 614, 5, 209, 105, 2, 614, 615, 5, 171, 86, 2, 615, 616, 5, 85, 43, 2, 616, 617, 5, 209, 105, 2, 617, 618, 5, 219, 110, 2, 618, 619, 5, 201, 101, 2, 619, 620, 5, 179, 90, 2, 620, 142, 3, 2, 2, 2, 621, 622, 5, 175, 88, 2, 622, 623, 5, 187, 94, 2, 623, 624, 5, 201, 101, 2, 624, 625, 5, 185, 93, 2, 625, 626, 5, 179, 90, 2, 626, 627, 5, 205, 103, 2, 627, 628, 5, 85, 43, 2, 628, 629, 5, 177, 89, 2, 629, 630, 5, 171, 86, 2, 630, 631, 5, 209, 105, 2, 631, 632, 5, 171, 86, 2, 632, 633, 5, 85, 43, 2, 633, 634, 5, 209, 105, 2, 634, 635, 5, 219, 110, 2, 635, 636, 5, 201, 101, 2, 636, 637, 5, 179, 90, 2, 637, 144, 3, 2, 2, 2, 638, 639, 5, 171, 86, 2, 639, 640, 5, 207, 104, 2, 640, 641, 5, 207, 104, 2, 641, 642, 5, 187, 94, 2, 642, 643, 5, 207, 104, 2, 643, 644, 5, 209, 105, 2, 644, 645, 5, 179, 90, 2, 645, 646, 5, 177, 89, 2, 646, 647, 5, 85, 43, 2, 647, 648, 5, 203, 102, 2, 648, 649, 5, 211, 106, 2, 649, 650, 5, 179, 90, 2, 650, 651, 5, 205, 103, 2, 651, 652, 5, 219, 110, 2, 652, 653, 5, 85, 43, 2, 653, 654, 5, 177, 89, 2, 654, 655, 5, 171, 86, 2, 655, 656, 5, 209, 105, 2, 656, 657, 5, 171, 86, 2, 657, 658, 5, 85, 43, 2, 658, 659, 5, 209, 105, 2, 659, 660, 5, 219, 110, 2, 660, 661, 5, 201, 101, 2, 661, 662, 5, 179, 90, 2, 662, 146, 3, 2, 2, 2, 663, 664, 5, 193, 97, 2, 664, 665, 5, 187, 94, 2, 665, 666, 5, 191, 96, 2, 666, 667, 5, 179, 90, 2, 667, 668, 5, 85, 43, 2, 668, 669, 5, 203, 102, 2, 669, 670, 5, 211, 106, 2, 670, 671, 5, 179, 90, 2, 671, 672, 5, 205, 103, 2, 672, 673, 5, 219, 110, 2, 673, 674, 5, 85, 43, 2, 674, 675, 5, 177, 89, 2, 675, 676, 5, 171, 86, 2, 676, 677, 5, 209, 105, 2, 677, 678, 5, 171, 86, 2, 678, 679, 5, 85, 43, 2, 679, 680, 5, 209, 105, 2, 680, 681, 5, 219, 110, 2, 681, 682, 5, 201, 101, 2, 682, 683, 5, 179, 90, 2, 683, 148, 3, 2, 2, 2, 684, 685, 5, 187, 94, 2, 685, 686, 5, 181, 91, 2, 686, 150, 3, 2, 2, 2, 687, 688, 5, 179, 90, 2, 688, 689, 5, 217, 109, 2, 689, 690, 5, 187, 94, 2, 690, 691, 5, 207, 104, 2, 691, 692, 5, 209, 105, 2, 692, 693, 5, 207, 104, 2, 693, 152, 3, 2, 2, 2, 694, 695, 5, 175, 88, 2, 695, 696, 5, 199, 100, 2, 696, 697, 5, 211, 106, 2, 697, 698, 5, 197, 99, 2, 698, 699, 5, 209, 105, 2, 699, 154, 3, 2, 2, 2, 700, 701, 5, 195, 98, 2, 701, 702, 5, 177, 89, 2, 702, 703, 9, 3, 2, 2, 703, 156, 3, 2, 2, 2, 704, 705, 5, 171, 86, 2, 705, 706, 5, 179, 90, 2, 706, 707, 5, 207, 104, 2, 707, 158, 3, 2, 2, 2, 708, 709, 5, 205, 103, 2, 709, 710, 5, 175, 88, 2, 710, 711, 9, 4, 2, 2, 711, 160, 3, 2, 2, 2, 712, 713, 5, 207, 104, 2, 713, 714, 5, 195, 98, 2, 714, 715, 9, 5, 2, 2, 715, 162, 3, 2, 2, 2, 716, 717, 5, 207, 104, 2, 717, 718, 5, 195, 98, 2, 718, 719, 9, 4, 2, 2, 719, 164, 3, 2, 2, 2, 720, 721, 5, 175, 88, 2, 721, 722, 5, 185, 93, 2, 722, 723, 5, 171, 86, 2, 723, 724, 5, 205, 103, 2, 724, 725, 5, 85, 43, 2, 725, 726, 5, 177, 89, 2, 726, 727, 5, 187, 94, 2, 727, 728, 5, 183, 92, 2, 728, 729, 5, 179, 90, 2, 729, 730, 5, 207, 104, 2, 730, 731, 5, 209, 105, 2, 731, 732, 5, 85, 43, 2, 732, 733, 5, 193, 97, 2, 733, 734, 5, 187, 94, 2, 734, 735, 5, 191, 96, 2, 735, 736, 5, 179, 90, 2, 736, 166, 3, 2, 2, 2, 737, 738, 5, 197, 99, 2, 738, 739, 5, 199, 100, 2, 739, 740, 5, 209, 105, 2, 740, 168, 3, 2, 2, 2, 741, 742, 7, 70, 2, 2, 742, 743, 7, 81, 2, 2, 743, 744, 7, 34, 2, 2, 744, 745, 7, 80, 2, 2, 745, 746, 7, 81, 2, 2, 746, 747, 7, 86, 2, 2, 747, 748, 7, 34, 2, 2, 748, 749, 7, 79, 2, 2, 749, 750, 7, 67, 2, 2, 750, 751, 7, 86, 2, 2, 751, 752, 7, 69, 2, 2, 752, 753, 7, 74, 2, 2, 753, 754, 7, 34, 2, 2, 754, 755, 7, 67, 2, 2, 755, 756, 7, 80, 2, 2, 756, 757, 7, 91, 2, 2, 757, 758, 7, 34, 2, 2, 758, 759, 7, 86, 2, 2, 759, 760, 7, 74, 2, 2, 760, 761, 7, 75, 2, 2, 761, 762, 7, 80, 2, 2, 762, 763, 7, 73, 2, 2, 763, 764, 7, 46, 2, 2, 764, 765, 7, 34, 2, 2, 765, 766, 7, 76, 2, 2, 766, 767, 7, 87, 2, 2, 767, 768, 7, 85, 2, 2, 768, 769, 7, 86, 2, 2, 769, 770, 7, 34, 2, 2, 770, 771, 7, 72, 2, 2, 771, 772, 7, 81, 2, 2, 772, 773, 7, 84, 2, 2, 773, 774, 7, 34, 2, 2, 774, 775, 7, 73, 2, 2, 775, 776, 7, 71, 2, 2, 776, 777, 7, 80, 2, 2, 777, 778, 7, 71, 2, 2, 778, 779, 7, 84, 2, 2, 779, 780, 7, 67, 2, 2, 780, 781, 7, 86, 2, 2, 781, 782, 7, 81, 2, 2, 782, 783, 7, 84, 2, 2, 783, 170, 3, 2, 2, 2, 784, 785, 9, 6, 2, 2, 785, 172, 3, 2, 2, 2, 786, 787, 9, 7, 2, 2, 787, 174, 3, 2, 2, 2, 788, 789, 9, 8, 2, 2, 789, 176, 3, 2, 2, 2, 790, 791, 9, 9, 2, 2, 791, 178, 3, 2, 2, 2, 792, 793, 9, 10, 2, 2, 793, 180, 3, 2, 2, 2, 794, 795, 9, 11, 2, 2, 795, 182, 3, 2, 2, 2, 796, 797, 9, 12, 2, 2, 797, 184, 3, 2, 2, 2, 798, 799, 9, 13, 2, 2, 799, 186, 3, 2, 2, 2, 800, 801, 9, 14, 2, 2, 801, 188, 3, 2, 2, 2, 802, 803, 9, 15, 2, 2, 803, 190, 3, 2, 2, 2, 804, 805, 9, 16, 2, 2, 805, 192, 3, 2, 2, 2, 806, 807, 9, 17, 2, 2, 807, 194, 3, 2, 2, 2, 808, 809, 9, 18, 2, 2, 809, 196, 3, 2, 2, 2, 810, 811, 9, 19, 2, 2, 811, 198, 3, 2, 2, 2, 812, 813, 9, 20, 2, 2, 813, 200, 3, 2, 2, 2, 814, 815, 9, 21, 2, 2, 815, 202, 3, 2, 2, 2, 816, 817, 9, 22, 2, 2, 817, 204, 3, 2, 2, 2, 818, 819, 9, 23, 2, 2, 819, 206, 3, 2, 2, 2, 820, 821, 9, 24, 2, 2, 821, 208, 3, 2, 2, 2, 822, 823, 9, 25, 2, 2, 823, 210, 3, 2, 2, 2, 824, 825, 9, 26, 2, 2, 825, 212, 3, 2, 2, 2, 826, 827, 9, 27, 2, 2, 827, 214, 3, 2, 2, 2, 828, 829, 9, 28, 2, 2, 829, 216, 3, 2, 2, 2, 830, 831, 9, 29, 2, 2, 831, 218, 3, 2, 2, 2, 832, 833, 9, 30, 2, 2, 833, 220, 3, 2, 2, 2, 834, 835, 9, 31, 2, 2, 835, 222, 3, 2, 2, 2, 836, 838, 9, 32, 2, 2, 837, 836, 3, 2, 2, 2, 838, 841, 3, 2, 2, 2, 839, 840, 3, 2, 2, 2, 839, 837, 3, 2, 2, 2, 840, 843, 3, 2, 2, 2, 841, 839, 3, 2, 2, 2, 842, 844, 9, 33, 2, 2, 843, 842, 3, 2, 2, 2, 844, 845, 3, 2, 2, 2, 845, 846, 3, 2, 2, 2, 845, 843, 3, 2, 2, 2, 846, 850, 3, 2, 2, 2, 847, 849, 9, 32, 2, 2, 848, 847, 3, 2, 2, 2, 849, 852, 3, 2, 2, 2, 850, 848, 3, 2, 2, 2, 850, 851, 3, 2, 2, 2, 851, 862, 3, 2, 2, 2, 852, 850, 3, 2, 2, 2, 853, 855, 5, 75, 38, 2, 854, 856, 10, 34, 2, 2, 855, 854, 3, 2, 2, 2, 856, 857, 3, 2, 2, 2, 857, 855, 3, 2, 2, 2, 857, 858, 3, 2, 2, 2, 858, 859, 3, 2, 2, 2, 859, 860, 5, 75, 38, 2, 860, 862, 3, 2, 2, 2, 861, 839, 3, 2, 2, 2, 861, 853, 3, 2, 2, 2, 862, 224, 3, 2, 2, 2, 863, 871, 5, 71, 36, 2, 864, 865, 7, 94, 2, 2, 865, 870, 11, 2, 2, 2, 866, 867, 7, 36, 2, 2, 867, 870, 7, 36, 2, 2, 868, 870, 10, 35, 2, 2, 869, 864, 3, 2, 2, 2, 869, 866, 3, 2, 2, 2, 869, 868, 3, 2, 2, 2, 870, 873, 3, 2, 2, 2, 871, 869, 3, 2, 2, 2, 871, 872, 3, 2, 2, 2, 872, 874, 3, 2, 2, 2, 873, 871, 3, 2, 2, 2, 874, 875, 5, 71, 36, 2, 875, 890, 3, 2, 2, 2, 876, 884, 5, 73, 37, 2, 877, 878, 7, 94, 2, 2, 878, 883, 11, 2, 2, 2, 879, 880, 7, 41, 2, 2, 880, 883, 7, 41, 2, 2, 881, 883, 10, 36, 2, 2, 882, 877, 3, 2, 2, 2, 882, 879, 3, 2, 2, 2, 882, 881, 3, 2, 2, 2, 883, 886, 3, 2, 2, 2, 884, 882, 3, 2, 2, 2, 884, 885, 3, 2, 2, 2, 885, 887, 3, 2, 2, 2, 886, 884, 3, 2, 2, 2, 887, 888, 5, 73, 37, 2, 888, 890, 3, 2, 2, 2, 889, 863, 3, 2, 2, 2, 889, 876, 3, 2, 2, 2, 890, 226, 3, 2, 2, 2, 891, 893, 9, 37, 2, 2, 892, 891, 3, 2, 2, 2, 893, 894, 3, 2, 2, 2, 894, 892, 3, 2, 2, 2, 894, 895, 3, 2, 2, 2, 895, 228, 3, 2, 2, 2, 896, 897, 9, 38, 2, 2, 897, 230, 3, 2, 2, 2, 898, 900, 5, 227, 114, 2, 899, 898, 3, 2, 2, 2, 899, 900, 3, 2, 2, 2, 900, 902, 3, 2, 2, 2, 901, 903, 5, 35, 18, 2, 902, 901, 3, 2, 2, 2, 902, 903, 3, 2, 2, 2, 903, 904, 3, 2, 2, 2, 904, 912, 5, 227, 114, 2, 905, 908, 5, 179, 90, 2, 906, 909, 5, 25, 13, 2, 907, 909, 5, 27, 14, 2, 908, 906, 3, 2, 2, 2, 908, 907, 3, 2, 2, 2, 908, 909, 3, 2, 2, 2, 909, 910, 3, 2, 2, 2, 910, 911, 5, 227, 114, 2, 911, 913, 3, 2, 2, 2, 912, 905, 3, 2, 2, 2, 912, 913, 3, 2, 2, 2, 913, 232, 3, 2, 2, 2, 914, 915, 7, 50, 2, 2, 915, 916, 7, 122, 2, 2, 916, 918, 3, 2, 2, 2, 917, 919, 5, 229, 115, 2, 918, 917, 3, 2, 2, 2, 919, 920, 3, 2, 2, 2, 920, 918, 3, 2, 2, 2, 920, 921, 3, 2, 2, 2, 921, 932, 3, 2, 2, 2, 922, 923, 7, 90, 2, 2, 923, 925, 5, 73, 37, 2, 924, 926, 5, 229, 115, 2, 925, 924, 3, 2, 2, 2, 926, 927, 3, 2, 2, 2, 927, 925, 3, 2, 2, 2, 927, 928, 3, 2, 2, 2, 928, 929, 3, 2, 2, 2, 929, 930, 5, 73, 37, 2, 930, 932, 3, 2, 2, 2, 931, 914, 3, 2, 2, 2, 931, 922, 3, 2, 2, 2, 932, 234, 3, 2, 2, 2, 933, 934, 7, 50, 2, 2, 934, 935, 7, 100, 2, 2, 935, 937, 3, 2, 2, 2, 936, 938, 4, 50, 51, 2, 937, 936, 3, 2, 2, 2, 938, 939, 3, 2, 2, 2, 939, 937, 3, 2, 2, 2, 939, 940, 3, 2, 2, 2, 940, 951, 3, 2, 2, 2, 941, 942, 5, 173, 87, 2, 942, 944, 5, 73, 37, 2, 943, 945, 4, 50, 51, 2, 944, 943, 3, 2, 2, 2, 945, 946, 3, 2, 2, 2, 946, 944, 3, 2, 2, 2, 946, 947, 3, 2, 2, 2, 947, 948, 3, 2, 2, 2, 948, 949, 5, 73, 37, 2, 949, 951, 3, 2, 2, 2, 950, 933, 3, 2, 2, 2, 950, 941, 3, 2, 2, 2, 951, 236, 3, 2, 2, 2, 26, 2, 291, 340, 839, 845, 850, 857, 861, 869, 871, 882, 884, 889, 894, 899, 902, 908, 912, 920, 927, 931, 939, 946, 950, 3, 8, 2, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleLexer.java b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleLexer.java new file mode 100644 index 00000000..0c0241b5 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleLexer.java @@ -0,0 +1,495 @@ +// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/encrypt/BaseRule.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.misc.*; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class BaseRuleLexer extends Lexer { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, + SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, + ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, + DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, + LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, + SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, + WS=43, CREATE=44, ALTER=45, DROP=46, SHOW=47, RESOURCE=48, RULE=49, FROM=50, + ENCRYPT=51, TYPE=52, ENCRYPT_ALGORITHM=53, ASSISTED_QUERY_ALGORITHM=54, + LIKE_QUERY_ALGORITHM=55, NAME=56, PROPERTIES=57, COLUMN=58, RULES=59, + TABLE=60, COLUMNS=61, CIPHER=62, PLAIN=63, ASSISTED_QUERY_COLUMN=64, LIKE_QUERY_COLUMN=65, + QUERY_WITH_CIPHER_COLUMN=66, TRUE=67, FALSE=68, DATA_TYPE=69, PLAIN_DATA_TYPE=70, + CIPHER_DATA_TYPE=71, ASSISTED_QUERY_DATA_TYPE=72, LIKE_QUERY_DATA_TYPE=73, + IF=74, EXISTS=75, COUNT=76, MD5=77, AES=78, RC4=79, SM3=80, SM4=81, CHAR_DIGEST_LIKE=82, + NOT=83, FOR_GENERATOR=84, IDENTIFIER_=85, STRING_=86, INT_=87, HEX_=88, + NUMBER_=89, HEXDIGIT_=90, BITNUM_=91; + public static String[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + + public static String[] modeNames = { + "DEFAULT_MODE" + }; + + private static String[] makeRuleNames() { + return new String[] { + "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", + "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", + "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", + "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", + "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", + "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "CREATE", "ALTER", "DROP", "SHOW", + "RESOURCE", "RULE", "FROM", "ENCRYPT", "TYPE", "ENCRYPT_ALGORITHM", "ASSISTED_QUERY_ALGORITHM", + "LIKE_QUERY_ALGORITHM", "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", + "COLUMNS", "CIPHER", "PLAIN", "ASSISTED_QUERY_COLUMN", "LIKE_QUERY_COLUMN", + "QUERY_WITH_CIPHER_COLUMN", "TRUE", "FALSE", "DATA_TYPE", "PLAIN_DATA_TYPE", + "CIPHER_DATA_TYPE", "ASSISTED_QUERY_DATA_TYPE", "LIKE_QUERY_DATA_TYPE", + "IF", "EXISTS", "COUNT", "MD5", "AES", "RC4", "SM3", "SM4", "CHAR_DIGEST_LIKE", + "NOT", "FOR_GENERATOR", "A", "B", "C", "D", "E", "F", "G", "H", "I", + "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", + "X", "Y", "Z", "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", + "BITNUM_" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", + "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", + "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", + "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", + "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", + "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", + "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", + "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", + "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", + "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "CREATE", + "ALTER", "DROP", "SHOW", "RESOURCE", "RULE", "FROM", "ENCRYPT", "TYPE", + "ENCRYPT_ALGORITHM", "ASSISTED_QUERY_ALGORITHM", "LIKE_QUERY_ALGORITHM", + "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", "COLUMNS", "CIPHER", + "PLAIN", "ASSISTED_QUERY_COLUMN", "LIKE_QUERY_COLUMN", "QUERY_WITH_CIPHER_COLUMN", + "TRUE", "FALSE", "DATA_TYPE", "PLAIN_DATA_TYPE", "CIPHER_DATA_TYPE", + "ASSISTED_QUERY_DATA_TYPE", "LIKE_QUERY_DATA_TYPE", "IF", "EXISTS", "COUNT", + "MD5", "AES", "RC4", "SM3", "SM4", "CHAR_DIGEST_LIKE", "NOT", "FOR_GENERATOR", + "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + + public BaseRuleLexer(CharStream input) { + super(input); + _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + @Override + public String getGrammarFileName() { return "BaseRule.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public String[] getChannelNames() { return channelNames; } + + @Override + public String[] getModeNames() { return modeNames; } + + @Override + public ATN getATN() { return _ATN; } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2]\u03b8\b\1\4\2\t"+ + "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ + "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ + "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ + "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ + "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ + ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ + "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ + "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+ + "\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+ + "\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+ + "`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\4k\t"+ + "k\4l\tl\4m\tm\4n\tn\4o\to\4p\tp\4q\tq\4r\tr\4s\ts\4t\tt\4u\tu\4v\tv\3"+ + "\2\3\2\3\2\3\3\3\3\3\3\3\4\3\4\3\5\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\t"+ + "\3\t\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3\17\3\17\3\20\3"+ + "\20\3\21\3\21\3\22\3\22\3\23\3\23\3\23\3\24\3\24\3\24\3\24\3\25\3\25\3"+ + "\25\3\26\3\26\3\27\3\27\3\27\3\27\5\27\u0124\n\27\3\30\3\30\3\31\3\31"+ + "\3\31\3\32\3\32\3\33\3\33\3\33\3\34\3\34\3\35\3\35\3\36\3\36\3\37\3\37"+ + "\3 \3 \3!\3!\3\"\3\"\3#\3#\3$\3$\3%\3%\3&\3&\3\'\3\'\3(\3(\3)\3)\3*\3"+ + "*\3*\3*\3+\3+\3,\6,\u0153\n,\r,\16,\u0154\3,\3,\3-\3-\3-\3-\3-\3-\3-\3"+ + ".\3.\3.\3.\3.\3.\3/\3/\3/\3/\3/\3\60\3\60\3\60\3\60\3\60\3\61\3\61\3\61"+ + "\3\61\3\61\3\61\3\61\3\61\3\61\3\62\3\62\3\62\3\62\3\62\3\63\3\63\3\63"+ + "\3\63\3\63\3\64\3\64\3\64\3\64\3\64\3\64\3\64\3\64\3\65\3\65\3\65\3\65"+ + "\3\65\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66"+ + "\3\66\3\66\3\66\3\66\3\66\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67"+ + "\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67"+ + "\3\67\3\67\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\3"+ + "8\38\39\39\39\39\39\3:\3:\3:\3:\3:\3:\3:\3:\3:\3:\3:\3;\3;\3;\3;\3;\3"+ + ";\3;\3<\3<\3<\3<\3<\3<\3=\3=\3=\3=\3=\3=\3>\3>\3>\3>\3>\3>\3>\3>\3?\3"+ + "?\3?\3?\3?\3?\3?\3@\3@\3@\3@\3@\3@\3A\3A\3A\3A\3A\3A\3A\3A\3A\3A\3A\3"+ + "A\3A\3A\3A\3A\3A\3A\3A\3A\3A\3A\3B\3B\3B\3B\3B\3B\3B\3B\3B\3B\3B\3B\3"+ + "B\3B\3B\3B\3B\3B\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3"+ + "C\3C\3C\3C\3C\3C\3C\3C\3D\3D\3D\3D\3D\3E\3E\3E\3E\3E\3E\3F\3F\3F\3F\3"+ + "F\3F\3F\3F\3F\3F\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3H\3"+ + "H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3I\3I\3I\3I\3I\3I\3I\3"+ + "I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3J\3J\3J\3J\3J\3"+ + "J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3K\3K\3K\3L\3L\3L\3L\3"+ + "L\3L\3L\3M\3M\3M\3M\3M\3M\3N\3N\3N\3N\3O\3O\3O\3O\3P\3P\3P\3P\3Q\3Q\3"+ + "Q\3Q\3R\3R\3R\3R\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3"+ + "T\3T\3T\3T\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3"+ + "U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3"+ + "U\3V\3V\3W\3W\3X\3X\3Y\3Y\3Z\3Z\3[\3[\3\\\3\\\3]\3]\3^\3^\3_\3_\3`\3`"+ + "\3a\3a\3b\3b\3c\3c\3d\3d\3e\3e\3f\3f\3g\3g\3h\3h\3i\3i\3j\3j\3k\3k\3l"+ + "\3l\3m\3m\3n\3n\3o\3o\3p\7p\u0346\np\fp\16p\u0349\13p\3p\6p\u034c\np\r"+ + "p\16p\u034d\3p\7p\u0351\np\fp\16p\u0354\13p\3p\3p\6p\u0358\np\rp\16p\u0359"+ + "\3p\3p\5p\u035e\np\3q\3q\3q\3q\3q\3q\7q\u0366\nq\fq\16q\u0369\13q\3q\3"+ + "q\3q\3q\3q\3q\3q\3q\7q\u0373\nq\fq\16q\u0376\13q\3q\3q\5q\u037a\nq\3r"+ + "\6r\u037d\nr\rr\16r\u037e\3s\3s\3t\5t\u0384\nt\3t\5t\u0387\nt\3t\3t\3"+ + "t\3t\5t\u038d\nt\3t\3t\5t\u0391\nt\3u\3u\3u\3u\6u\u0397\nu\ru\16u\u0398"+ + "\3u\3u\3u\6u\u039e\nu\ru\16u\u039f\3u\3u\5u\u03a4\nu\3v\3v\3v\3v\6v\u03aa"+ + "\nv\rv\16v\u03ab\3v\3v\3v\6v\u03b1\nv\rv\16v\u03b2\3v\3v\5v\u03b7\nv\4"+ + "\u0347\u034d\2w\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r\31"+ + "\16\33\17\35\20\37\21!\22#\23%\24\'\25)\26+\27-\30/\31\61\32\63\33\65"+ + "\34\67\359\36;\37= ?!A\"C#E$G%I&K\'M(O)Q*S+U,W-Y.[/]\60_\61a\62c\63e\64"+ + "g\65i\66k\67m8o9q:s;u{?}@\177A\u0081B\u0083C\u0085D\u0087E\u0089"+ + "F\u008bG\u008dH\u008fI\u0091J\u0093K\u0095L\u0097M\u0099N\u009bO\u009d"+ + "P\u009fQ\u00a1R\u00a3S\u00a5T\u00a7U\u00a9V\u00ab\2\u00ad\2\u00af\2\u00b1"+ + "\2\u00b3\2\u00b5\2\u00b7\2\u00b9\2\u00bb\2\u00bd\2\u00bf\2\u00c1\2\u00c3"+ + "\2\u00c5\2\u00c7\2\u00c9\2\u00cb\2\u00cd\2\u00cf\2\u00d1\2\u00d3\2\u00d5"+ + "\2\u00d7\2\u00d9\2\u00db\2\u00dd\2\u00dfW\u00e1X\u00e3Y\u00e5Z\u00e7["+ + "\u00e9\\\u00eb]\3\2\'\5\2\13\f\17\17\"\"\3\2\67\67\3\2\66\66\3\2\65\65"+ + "\4\2CCcc\4\2DDdd\4\2EEee\4\2FFff\4\2GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2K"+ + "Kkk\4\2LLll\4\2MMmm\4\2NNnn\4\2OOoo\4\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4"+ + "\2TTtt\4\2UUuu\4\2VVvv\4\2WWww\4\2XXxx\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\"+ + "||\7\2&&\62;C\\aac|\6\2&&C\\aac|\3\2bb\4\2$$^^\4\2))^^\3\2\62;\5\2\62"+ + ";CHch\2\u03b7\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2"+ + "\2\2\2\r\3\2\2\2\2\17\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\31\3\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2"+ + "\2\2\2#\3\2\2\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2"+ + "\2\2/\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\29\3"+ + "\2\2\2\2;\3\2\2\2\2=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2"+ + "\2\2G\3\2\2\2\2I\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2"+ + "S\3\2\2\2\2U\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3"+ + "\2\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3\2\2\2\2i\3\2\2\2\2k\3\2\2"+ + "\2\2m\3\2\2\2\2o\3\2\2\2\2q\3\2\2\2\2s\3\2\2\2\2u\3\2\2\2\2w\3\2\2\2\2"+ + "y\3\2\2\2\2{\3\2\2\2\2}\3\2\2\2\2\177\3\2\2\2\2\u0081\3\2\2\2\2\u0083"+ + "\3\2\2\2\2\u0085\3\2\2\2\2\u0087\3\2\2\2\2\u0089\3\2\2\2\2\u008b\3\2\2"+ + "\2\2\u008d\3\2\2\2\2\u008f\3\2\2\2\2\u0091\3\2\2\2\2\u0093\3\2\2\2\2\u0095"+ + "\3\2\2\2\2\u0097\3\2\2\2\2\u0099\3\2\2\2\2\u009b\3\2\2\2\2\u009d\3\2\2"+ + "\2\2\u009f\3\2\2\2\2\u00a1\3\2\2\2\2\u00a3\3\2\2\2\2\u00a5\3\2\2\2\2\u00a7"+ + "\3\2\2\2\2\u00a9\3\2\2\2\2\u00df\3\2\2\2\2\u00e1\3\2\2\2\2\u00e3\3\2\2"+ + "\2\2\u00e5\3\2\2\2\2\u00e7\3\2\2\2\2\u00e9\3\2\2\2\2\u00eb\3\2\2\2\3\u00ed"+ + "\3\2\2\2\5\u00f0\3\2\2\2\7\u00f3\3\2\2\2\t\u00f5\3\2\2\2\13\u00f7\3\2"+ + "\2\2\r\u00f9\3\2\2\2\17\u00fb\3\2\2\2\21\u00fe\3\2\2\2\23\u0101\3\2\2"+ + "\2\25\u0103\3\2\2\2\27\u0105\3\2\2\2\31\u0107\3\2\2\2\33\u0109\3\2\2\2"+ + "\35\u010b\3\2\2\2\37\u010d\3\2\2\2!\u010f\3\2\2\2#\u0111\3\2\2\2%\u0113"+ + "\3\2\2\2\'\u0116\3\2\2\2)\u011a\3\2\2\2+\u011d\3\2\2\2-\u0123\3\2\2\2"+ + "/\u0125\3\2\2\2\61\u0127\3\2\2\2\63\u012a\3\2\2\2\65\u012c\3\2\2\2\67"+ + "\u012f\3\2\2\29\u0131\3\2\2\2;\u0133\3\2\2\2=\u0135\3\2\2\2?\u0137\3\2"+ + "\2\2A\u0139\3\2\2\2C\u013b\3\2\2\2E\u013d\3\2\2\2G\u013f\3\2\2\2I\u0141"+ + "\3\2\2\2K\u0143\3\2\2\2M\u0145\3\2\2\2O\u0147\3\2\2\2Q\u0149\3\2\2\2S"+ + "\u014b\3\2\2\2U\u014f\3\2\2\2W\u0152\3\2\2\2Y\u0158\3\2\2\2[\u015f\3\2"+ + "\2\2]\u0165\3\2\2\2_\u016a\3\2\2\2a\u016f\3\2\2\2c\u0178\3\2\2\2e\u017d"+ + "\3\2\2\2g\u0182\3\2\2\2i\u018a\3\2\2\2k\u018f\3\2\2\2m\u01a1\3\2\2\2o"+ + "\u01ba\3\2\2\2q\u01cf\3\2\2\2s\u01d4\3\2\2\2u\u01df\3\2\2\2w\u01e6\3\2"+ + "\2\2y\u01ec\3\2\2\2{\u01f2\3\2\2\2}\u01fa\3\2\2\2\177\u0201\3\2\2\2\u0081"+ + "\u0207\3\2\2\2\u0083\u021d\3\2\2\2\u0085\u022f\3\2\2\2\u0087\u0248\3\2"+ + "\2\2\u0089\u024d\3\2\2\2\u008b\u0253\3\2\2\2\u008d\u025d\3\2\2\2\u008f"+ + "\u026d\3\2\2\2\u0091\u027e\3\2\2\2\u0093\u0297\3\2\2\2\u0095\u02ac\3\2"+ + "\2\2\u0097\u02af\3\2\2\2\u0099\u02b6\3\2\2\2\u009b\u02bc\3\2\2\2\u009d"+ + "\u02c0\3\2\2\2\u009f\u02c4\3\2\2\2\u00a1\u02c8\3\2\2\2\u00a3\u02cc\3\2"+ + "\2\2\u00a5\u02d0\3\2\2\2\u00a7\u02e1\3\2\2\2\u00a9\u02e5\3\2\2\2\u00ab"+ + "\u0310\3\2\2\2\u00ad\u0312\3\2\2\2\u00af\u0314\3\2\2\2\u00b1\u0316\3\2"+ + "\2\2\u00b3\u0318\3\2\2\2\u00b5\u031a\3\2\2\2\u00b7\u031c\3\2\2\2\u00b9"+ + "\u031e\3\2\2\2\u00bb\u0320\3\2\2\2\u00bd\u0322\3\2\2\2\u00bf\u0324\3\2"+ + "\2\2\u00c1\u0326\3\2\2\2\u00c3\u0328\3\2\2\2\u00c5\u032a\3\2\2\2\u00c7"+ + "\u032c\3\2\2\2\u00c9\u032e\3\2\2\2\u00cb\u0330\3\2\2\2\u00cd\u0332\3\2"+ + "\2\2\u00cf\u0334\3\2\2\2\u00d1\u0336\3\2\2\2\u00d3\u0338\3\2\2\2\u00d5"+ + "\u033a\3\2\2\2\u00d7\u033c\3\2\2\2\u00d9\u033e\3\2\2\2\u00db\u0340\3\2"+ + "\2\2\u00dd\u0342\3\2\2\2\u00df\u035d\3\2\2\2\u00e1\u0379\3\2\2\2\u00e3"+ + "\u037c\3\2\2\2\u00e5\u0380\3\2\2\2\u00e7\u0383\3\2\2\2\u00e9\u03a3\3\2"+ + "\2\2\u00eb\u03b6\3\2\2\2\u00ed\u00ee\7(\2\2\u00ee\u00ef\7(\2\2\u00ef\4"+ + "\3\2\2\2\u00f0\u00f1\7~\2\2\u00f1\u00f2\7~\2\2\u00f2\6\3\2\2\2\u00f3\u00f4"+ + "\7#\2\2\u00f4\b\3\2\2\2\u00f5\u00f6\7\u0080\2\2\u00f6\n\3\2\2\2\u00f7"+ + "\u00f8\7~\2\2\u00f8\f\3\2\2\2\u00f9\u00fa\7(\2\2\u00fa\16\3\2\2\2\u00fb"+ + "\u00fc\7>\2\2\u00fc\u00fd\7>\2\2\u00fd\20\3\2\2\2\u00fe\u00ff\7@\2\2\u00ff"+ + "\u0100\7@\2\2\u0100\22\3\2\2\2\u0101\u0102\7`\2\2\u0102\24\3\2\2\2\u0103"+ + "\u0104\7\'\2\2\u0104\26\3\2\2\2\u0105\u0106\7<\2\2\u0106\30\3\2\2\2\u0107"+ + "\u0108\7-\2\2\u0108\32\3\2\2\2\u0109\u010a\7/\2\2\u010a\34\3\2\2\2\u010b"+ + "\u010c\7,\2\2\u010c\36\3\2\2\2\u010d\u010e\7\61\2\2\u010e \3\2\2\2\u010f"+ + "\u0110\7^\2\2\u0110\"\3\2\2\2\u0111\u0112\7\60\2\2\u0112$\3\2\2\2\u0113"+ + "\u0114\7\60\2\2\u0114\u0115\7,\2\2\u0115&\3\2\2\2\u0116\u0117\7>\2\2\u0117"+ + "\u0118\7?\2\2\u0118\u0119\7@\2\2\u0119(\3\2\2\2\u011a\u011b\7?\2\2\u011b"+ + "\u011c\7?\2\2\u011c*\3\2\2\2\u011d\u011e\7?\2\2\u011e,\3\2\2\2\u011f\u0120"+ + "\7>\2\2\u0120\u0124\7@\2\2\u0121\u0122\7#\2\2\u0122\u0124\7?\2\2\u0123"+ + "\u011f\3\2\2\2\u0123\u0121\3\2\2\2\u0124.\3\2\2\2\u0125\u0126\7@\2\2\u0126"+ + "\60\3\2\2\2\u0127\u0128\7@\2\2\u0128\u0129\7?\2\2\u0129\62\3\2\2\2\u012a"+ + "\u012b\7>\2\2\u012b\64\3\2\2\2\u012c\u012d\7>\2\2\u012d\u012e\7?\2\2\u012e"+ + "\66\3\2\2\2\u012f\u0130\7%\2\2\u01308\3\2\2\2\u0131\u0132\7*\2\2\u0132"+ + ":\3\2\2\2\u0133\u0134\7+\2\2\u0134<\3\2\2\2\u0135\u0136\7}\2\2\u0136>"+ + "\3\2\2\2\u0137\u0138\7\177\2\2\u0138@\3\2\2\2\u0139\u013a\7]\2\2\u013a"+ + "B\3\2\2\2\u013b\u013c\7_\2\2\u013cD\3\2\2\2\u013d\u013e\7.\2\2\u013eF"+ + "\3\2\2\2\u013f\u0140\7$\2\2\u0140H\3\2\2\2\u0141\u0142\7)\2\2\u0142J\3"+ + "\2\2\2\u0143\u0144\7b\2\2\u0144L\3\2\2\2\u0145\u0146\7A\2\2\u0146N\3\2"+ + "\2\2\u0147\u0148\7B\2\2\u0148P\3\2\2\2\u0149\u014a\7=\2\2\u014aR\3\2\2"+ + "\2\u014b\u014c\7/\2\2\u014c\u014d\7@\2\2\u014d\u014e\7@\2\2\u014eT\3\2"+ + "\2\2\u014f\u0150\7a\2\2\u0150V\3\2\2\2\u0151\u0153\t\2\2\2\u0152\u0151"+ + "\3\2\2\2\u0153\u0154\3\2\2\2\u0154\u0152\3\2\2\2\u0154\u0155\3\2\2\2\u0155"+ + "\u0156\3\2\2\2\u0156\u0157\b,\2\2\u0157X\3\2\2\2\u0158\u0159\5\u00afX"+ + "\2\u0159\u015a\5\u00cdg\2\u015a\u015b\5\u00b3Z\2\u015b\u015c\5\u00abV"+ + "\2\u015c\u015d\5\u00d1i\2\u015d\u015e\5\u00b3Z\2\u015eZ\3\2\2\2\u015f"+ + "\u0160\5\u00abV\2\u0160\u0161\5\u00c1a\2\u0161\u0162\5\u00d1i\2\u0162"+ + "\u0163\5\u00b3Z\2\u0163\u0164\5\u00cdg\2\u0164\\\3\2\2\2\u0165\u0166\5"+ + "\u00b1Y\2\u0166\u0167\5\u00cdg\2\u0167\u0168\5\u00c7d\2\u0168\u0169\5"+ + "\u00c9e\2\u0169^\3\2\2\2\u016a\u016b\5\u00cfh\2\u016b\u016c\5\u00b9]\2"+ + "\u016c\u016d\5\u00c7d\2\u016d\u016e\5\u00d7l\2\u016e`\3\2\2\2\u016f\u0170"+ + "\5\u00cdg\2\u0170\u0171\5\u00b3Z\2\u0171\u0172\5\u00cfh\2\u0172\u0173"+ + "\5\u00c7d\2\u0173\u0174\5\u00d3j\2\u0174\u0175\5\u00cdg\2\u0175\u0176"+ + "\5\u00afX\2\u0176\u0177\5\u00b3Z\2\u0177b\3\2\2\2\u0178\u0179\5\u00cd"+ + "g\2\u0179\u017a\5\u00d3j\2\u017a\u017b\5\u00c1a\2\u017b\u017c\5\u00b3"+ + "Z\2\u017cd\3\2\2\2\u017d\u017e\5\u00b5[\2\u017e\u017f\5\u00cdg\2\u017f"+ + "\u0180\5\u00c7d\2\u0180\u0181\5\u00c3b\2\u0181f\3\2\2\2\u0182\u0183\5"+ + "\u00b3Z\2\u0183\u0184\5\u00c5c\2\u0184\u0185\5\u00afX\2\u0185\u0186\5"+ + "\u00cdg\2\u0186\u0187\5\u00dbn\2\u0187\u0188\5\u00c9e\2\u0188\u0189\5"+ + "\u00d1i\2\u0189h\3\2\2\2\u018a\u018b\5\u00d1i\2\u018b\u018c\5\u00dbn\2"+ + "\u018c\u018d\5\u00c9e\2\u018d\u018e\5\u00b3Z\2\u018ej\3\2\2\2\u018f\u0190"+ + "\5\u00b3Z\2\u0190\u0191\5\u00c5c\2\u0191\u0192\5\u00afX\2\u0192\u0193"+ + "\5\u00cdg\2\u0193\u0194\5\u00dbn\2\u0194\u0195\5\u00c9e\2\u0195\u0196"+ + "\5\u00d1i\2\u0196\u0197\5U+\2\u0197\u0198\5\u00abV\2\u0198\u0199\5\u00c1"+ + "a\2\u0199\u019a\5\u00b7\\\2\u019a\u019b\5\u00c7d\2\u019b\u019c\5\u00cd"+ + "g\2\u019c\u019d\5\u00bb^\2\u019d\u019e\5\u00d1i\2\u019e\u019f\5\u00b9"+ + "]\2\u019f\u01a0\5\u00c3b\2\u01a0l\3\2\2\2\u01a1\u01a2\5\u00abV\2\u01a2"+ + "\u01a3\5\u00cfh\2\u01a3\u01a4\5\u00cfh\2\u01a4\u01a5\5\u00bb^\2\u01a5"+ + "\u01a6\5\u00cfh\2\u01a6\u01a7\5\u00d1i\2\u01a7\u01a8\5\u00b3Z\2\u01a8"+ + "\u01a9\5\u00b1Y\2\u01a9\u01aa\5U+\2\u01aa\u01ab\5\u00cbf\2\u01ab\u01ac"+ + "\5\u00d3j\2\u01ac\u01ad\5\u00b3Z\2\u01ad\u01ae\5\u00cdg\2\u01ae\u01af"+ + "\5\u00dbn\2\u01af\u01b0\5U+\2\u01b0\u01b1\5\u00abV\2\u01b1\u01b2\5\u00c1"+ + "a\2\u01b2\u01b3\5\u00b7\\\2\u01b3\u01b4\5\u00c7d\2\u01b4\u01b5\5\u00cd"+ + "g\2\u01b5\u01b6\5\u00bb^\2\u01b6\u01b7\5\u00d1i\2\u01b7\u01b8\5\u00b9"+ + "]\2\u01b8\u01b9\5\u00c3b\2\u01b9n\3\2\2\2\u01ba\u01bb\5\u00c1a\2\u01bb"+ + "\u01bc\5\u00bb^\2\u01bc\u01bd\5\u00bf`\2\u01bd\u01be\5\u00b3Z\2\u01be"+ + "\u01bf\5U+\2\u01bf\u01c0\5\u00cbf\2\u01c0\u01c1\5\u00d3j\2\u01c1\u01c2"+ + "\5\u00b3Z\2\u01c2\u01c3\5\u00cdg\2\u01c3\u01c4\5\u00dbn\2\u01c4\u01c5"+ + "\5U+\2\u01c5\u01c6\5\u00abV\2\u01c6\u01c7\5\u00c1a\2\u01c7\u01c8\5\u00b7"+ + "\\\2\u01c8\u01c9\5\u00c7d\2\u01c9\u01ca\5\u00cdg\2\u01ca\u01cb\5\u00bb"+ + "^\2\u01cb\u01cc\5\u00d1i\2\u01cc\u01cd\5\u00b9]\2\u01cd\u01ce\5\u00c3"+ + "b\2\u01cep\3\2\2\2\u01cf\u01d0\5\u00c5c\2\u01d0\u01d1\5\u00abV\2\u01d1"+ + "\u01d2\5\u00c3b\2\u01d2\u01d3\5\u00b3Z\2\u01d3r\3\2\2\2\u01d4\u01d5\5"+ + "\u00c9e\2\u01d5\u01d6\5\u00cdg\2\u01d6\u01d7\5\u00c7d\2\u01d7\u01d8\5"+ + "\u00c9e\2\u01d8\u01d9\5\u00b3Z\2\u01d9\u01da\5\u00cdg\2\u01da\u01db\5"+ + "\u00d1i\2\u01db\u01dc\5\u00bb^\2\u01dc\u01dd\5\u00b3Z\2\u01dd\u01de\5"+ + "\u00cfh\2\u01det\3\2\2\2\u01df\u01e0\5\u00afX\2\u01e0\u01e1\5\u00c7d\2"+ + "\u01e1\u01e2\5\u00c1a\2\u01e2\u01e3\5\u00d3j\2\u01e3\u01e4\5\u00c3b\2"+ + "\u01e4\u01e5\5\u00c5c\2\u01e5v\3\2\2\2\u01e6\u01e7\5\u00cdg\2\u01e7\u01e8"+ + "\5\u00d3j\2\u01e8\u01e9\5\u00c1a\2\u01e9\u01ea\5\u00b3Z\2\u01ea\u01eb"+ + "\5\u00cfh\2\u01ebx\3\2\2\2\u01ec\u01ed\5\u00d1i\2\u01ed\u01ee\5\u00ab"+ + "V\2\u01ee\u01ef\5\u00adW\2\u01ef\u01f0\5\u00c1a\2\u01f0\u01f1\5\u00b3"+ + "Z\2\u01f1z\3\2\2\2\u01f2\u01f3\5\u00afX\2\u01f3\u01f4\5\u00c7d\2\u01f4"+ + "\u01f5\5\u00c1a\2\u01f5\u01f6\5\u00d3j\2\u01f6\u01f7\5\u00c3b\2\u01f7"+ + "\u01f8\5\u00c5c\2\u01f8\u01f9\5\u00cfh\2\u01f9|\3\2\2\2\u01fa\u01fb\5"+ + "\u00afX\2\u01fb\u01fc\5\u00bb^\2\u01fc\u01fd\5\u00c9e\2\u01fd\u01fe\5"+ + "\u00b9]\2\u01fe\u01ff\5\u00b3Z\2\u01ff\u0200\5\u00cdg\2\u0200~\3\2\2\2"+ + "\u0201\u0202\5\u00c9e\2\u0202\u0203\5\u00c1a\2\u0203\u0204\5\u00abV\2"+ + "\u0204\u0205\5\u00bb^\2\u0205\u0206\5\u00c5c\2\u0206\u0080\3\2\2\2\u0207"+ + "\u0208\5\u00abV\2\u0208\u0209\5\u00cfh\2\u0209\u020a\5\u00cfh\2\u020a"+ + "\u020b\5\u00bb^\2\u020b\u020c\5\u00cfh\2\u020c\u020d\5\u00d1i\2\u020d"+ + "\u020e\5\u00b3Z\2\u020e\u020f\5\u00b1Y\2\u020f\u0210\5U+\2\u0210\u0211"+ + "\5\u00cbf\2\u0211\u0212\5\u00d3j\2\u0212\u0213\5\u00b3Z\2\u0213\u0214"+ + "\5\u00cdg\2\u0214\u0215\5\u00dbn\2\u0215\u0216\5U+\2\u0216\u0217\5\u00af"+ + "X\2\u0217\u0218\5\u00c7d\2\u0218\u0219\5\u00c1a\2\u0219\u021a\5\u00d3"+ + "j\2\u021a\u021b\5\u00c3b\2\u021b\u021c\5\u00c5c\2\u021c\u0082\3\2\2\2"+ + "\u021d\u021e\5\u00c1a\2\u021e\u021f\5\u00bb^\2\u021f\u0220\5\u00bf`\2"+ + "\u0220\u0221\5\u00b3Z\2\u0221\u0222\5U+\2\u0222\u0223\5\u00cbf\2\u0223"+ + "\u0224\5\u00d3j\2\u0224\u0225\5\u00b3Z\2\u0225\u0226\5\u00cdg\2\u0226"+ + "\u0227\5\u00dbn\2\u0227\u0228\5U+\2\u0228\u0229\5\u00afX\2\u0229\u022a"+ + "\5\u00c7d\2\u022a\u022b\5\u00c1a\2\u022b\u022c\5\u00d3j\2\u022c\u022d"+ + "\5\u00c3b\2\u022d\u022e\5\u00c5c\2\u022e\u0084\3\2\2\2\u022f\u0230\5\u00cb"+ + "f\2\u0230\u0231\5\u00d3j\2\u0231\u0232\5\u00b3Z\2\u0232\u0233\5\u00cd"+ + "g\2\u0233\u0234\5\u00dbn\2\u0234\u0235\5U+\2\u0235\u0236\5\u00d7l\2\u0236"+ + "\u0237\5\u00bb^\2\u0237\u0238\5\u00d1i\2\u0238\u0239\5\u00b9]\2\u0239"+ + "\u023a\5U+\2\u023a\u023b\5\u00afX\2\u023b\u023c\5\u00bb^\2\u023c\u023d"+ + "\5\u00c9e\2\u023d\u023e\5\u00b9]\2\u023e\u023f\5\u00b3Z\2\u023f\u0240"+ + "\5\u00cdg\2\u0240\u0241\5U+\2\u0241\u0242\5\u00afX\2\u0242\u0243\5\u00c7"+ + "d\2\u0243\u0244\5\u00c1a\2\u0244\u0245\5\u00d3j\2\u0245\u0246\5\u00c3"+ + "b\2\u0246\u0247\5\u00c5c\2\u0247\u0086\3\2\2\2\u0248\u0249\5\u00d1i\2"+ + "\u0249\u024a\5\u00cdg\2\u024a\u024b\5\u00d3j\2\u024b\u024c\5\u00b3Z\2"+ + "\u024c\u0088\3\2\2\2\u024d\u024e\5\u00b5[\2\u024e\u024f\5\u00abV\2\u024f"+ + "\u0250\5\u00c1a\2\u0250\u0251\5\u00cfh\2\u0251\u0252\5\u00b3Z\2\u0252"+ + "\u008a\3\2\2\2\u0253\u0254\5\u00b1Y\2\u0254\u0255\5\u00abV\2\u0255\u0256"+ + "\5\u00d1i\2\u0256\u0257\5\u00abV\2\u0257\u0258\5U+\2\u0258\u0259\5\u00d1"+ + "i\2\u0259\u025a\5\u00dbn\2\u025a\u025b\5\u00c9e\2\u025b\u025c\5\u00b3"+ + "Z\2\u025c\u008c\3\2\2\2\u025d\u025e\5\u00c9e\2\u025e\u025f\5\u00c1a\2"+ + "\u025f\u0260\5\u00abV\2\u0260\u0261\5\u00bb^\2\u0261\u0262\5\u00c5c\2"+ + "\u0262\u0263\5U+\2\u0263\u0264\5\u00b1Y\2\u0264\u0265\5\u00abV\2\u0265"+ + "\u0266\5\u00d1i\2\u0266\u0267\5\u00abV\2\u0267\u0268\5U+\2\u0268\u0269"+ + "\5\u00d1i\2\u0269\u026a\5\u00dbn\2\u026a\u026b\5\u00c9e\2\u026b\u026c"+ + "\5\u00b3Z\2\u026c\u008e\3\2\2\2\u026d\u026e\5\u00afX\2\u026e\u026f\5\u00bb"+ + "^\2\u026f\u0270\5\u00c9e\2\u0270\u0271\5\u00b9]\2\u0271\u0272\5\u00b3"+ + "Z\2\u0272\u0273\5\u00cdg\2\u0273\u0274\5U+\2\u0274\u0275\5\u00b1Y\2\u0275"+ + "\u0276\5\u00abV\2\u0276\u0277\5\u00d1i\2\u0277\u0278\5\u00abV\2\u0278"+ + "\u0279\5U+\2\u0279\u027a\5\u00d1i\2\u027a\u027b\5\u00dbn\2\u027b\u027c"+ + "\5\u00c9e\2\u027c\u027d\5\u00b3Z\2\u027d\u0090\3\2\2\2\u027e\u027f\5\u00ab"+ + "V\2\u027f\u0280\5\u00cfh\2\u0280\u0281\5\u00cfh\2\u0281\u0282\5\u00bb"+ + "^\2\u0282\u0283\5\u00cfh\2\u0283\u0284\5\u00d1i\2\u0284\u0285\5\u00b3"+ + "Z\2\u0285\u0286\5\u00b1Y\2\u0286\u0287\5U+\2\u0287\u0288\5\u00cbf\2\u0288"+ + "\u0289\5\u00d3j\2\u0289\u028a\5\u00b3Z\2\u028a\u028b\5\u00cdg\2\u028b"+ + "\u028c\5\u00dbn\2\u028c\u028d\5U+\2\u028d\u028e\5\u00b1Y\2\u028e\u028f"+ + "\5\u00abV\2\u028f\u0290\5\u00d1i\2\u0290\u0291\5\u00abV\2\u0291\u0292"+ + "\5U+\2\u0292\u0293\5\u00d1i\2\u0293\u0294\5\u00dbn\2\u0294\u0295\5\u00c9"+ + "e\2\u0295\u0296\5\u00b3Z\2\u0296\u0092\3\2\2\2\u0297\u0298\5\u00c1a\2"+ + "\u0298\u0299\5\u00bb^\2\u0299\u029a\5\u00bf`\2\u029a\u029b\5\u00b3Z\2"+ + "\u029b\u029c\5U+\2\u029c\u029d\5\u00cbf\2\u029d\u029e\5\u00d3j\2\u029e"+ + "\u029f\5\u00b3Z\2\u029f\u02a0\5\u00cdg\2\u02a0\u02a1\5\u00dbn\2\u02a1"+ + "\u02a2\5U+\2\u02a2\u02a3\5\u00b1Y\2\u02a3\u02a4\5\u00abV\2\u02a4\u02a5"+ + "\5\u00d1i\2\u02a5\u02a6\5\u00abV\2\u02a6\u02a7\5U+\2\u02a7\u02a8\5\u00d1"+ + "i\2\u02a8\u02a9\5\u00dbn\2\u02a9\u02aa\5\u00c9e\2\u02aa\u02ab\5\u00b3"+ + "Z\2\u02ab\u0094\3\2\2\2\u02ac\u02ad\5\u00bb^\2\u02ad\u02ae\5\u00b5[\2"+ + "\u02ae\u0096\3\2\2\2\u02af\u02b0\5\u00b3Z\2\u02b0\u02b1\5\u00d9m\2\u02b1"+ + "\u02b2\5\u00bb^\2\u02b2\u02b3\5\u00cfh\2\u02b3\u02b4\5\u00d1i\2\u02b4"+ + "\u02b5\5\u00cfh\2\u02b5\u0098\3\2\2\2\u02b6\u02b7\5\u00afX\2\u02b7\u02b8"+ + "\5\u00c7d\2\u02b8\u02b9\5\u00d3j\2\u02b9\u02ba\5\u00c5c\2\u02ba\u02bb"+ + "\5\u00d1i\2\u02bb\u009a\3\2\2\2\u02bc\u02bd\5\u00c3b\2\u02bd\u02be\5\u00b1"+ + "Y\2\u02be\u02bf\t\3\2\2\u02bf\u009c\3\2\2\2\u02c0\u02c1\5\u00abV\2\u02c1"+ + "\u02c2\5\u00b3Z\2\u02c2\u02c3\5\u00cfh\2\u02c3\u009e\3\2\2\2\u02c4\u02c5"+ + "\5\u00cdg\2\u02c5\u02c6\5\u00afX\2\u02c6\u02c7\t\4\2\2\u02c7\u00a0\3\2"+ + "\2\2\u02c8\u02c9\5\u00cfh\2\u02c9\u02ca\5\u00c3b\2\u02ca\u02cb\t\5\2\2"+ + "\u02cb\u00a2\3\2\2\2\u02cc\u02cd\5\u00cfh\2\u02cd\u02ce\5\u00c3b\2\u02ce"+ + "\u02cf\t\4\2\2\u02cf\u00a4\3\2\2\2\u02d0\u02d1\5\u00afX\2\u02d1\u02d2"+ + "\5\u00b9]\2\u02d2\u02d3\5\u00abV\2\u02d3\u02d4\5\u00cdg\2\u02d4\u02d5"+ + "\5U+\2\u02d5\u02d6\5\u00b1Y\2\u02d6\u02d7\5\u00bb^\2\u02d7\u02d8\5\u00b7"+ + "\\\2\u02d8\u02d9\5\u00b3Z\2\u02d9\u02da\5\u00cfh\2\u02da\u02db\5\u00d1"+ + "i\2\u02db\u02dc\5U+\2\u02dc\u02dd\5\u00c1a\2\u02dd\u02de\5\u00bb^\2\u02de"+ + "\u02df\5\u00bf`\2\u02df\u02e0\5\u00b3Z\2\u02e0\u00a6\3\2\2\2\u02e1\u02e2"+ + "\5\u00c5c\2\u02e2\u02e3\5\u00c7d\2\u02e3\u02e4\5\u00d1i\2\u02e4\u00a8"+ + "\3\2\2\2\u02e5\u02e6\7F\2\2\u02e6\u02e7\7Q\2\2\u02e7\u02e8\7\"\2\2\u02e8"+ + "\u02e9\7P\2\2\u02e9\u02ea\7Q\2\2\u02ea\u02eb\7V\2\2\u02eb\u02ec\7\"\2"+ + "\2\u02ec\u02ed\7O\2\2\u02ed\u02ee\7C\2\2\u02ee\u02ef\7V\2\2\u02ef\u02f0"+ + "\7E\2\2\u02f0\u02f1\7J\2\2\u02f1\u02f2\7\"\2\2\u02f2\u02f3\7C\2\2\u02f3"+ + "\u02f4\7P\2\2\u02f4\u02f5\7[\2\2\u02f5\u02f6\7\"\2\2\u02f6\u02f7\7V\2"+ + "\2\u02f7\u02f8\7J\2\2\u02f8\u02f9\7K\2\2\u02f9\u02fa\7P\2\2\u02fa\u02fb"+ + "\7I\2\2\u02fb\u02fc\7.\2\2\u02fc\u02fd\7\"\2\2\u02fd\u02fe\7L\2\2\u02fe"+ + "\u02ff\7W\2\2\u02ff\u0300\7U\2\2\u0300\u0301\7V\2\2\u0301\u0302\7\"\2"+ + "\2\u0302\u0303\7H\2\2\u0303\u0304\7Q\2\2\u0304\u0305\7T\2\2\u0305\u0306"+ + "\7\"\2\2\u0306\u0307\7I\2\2\u0307\u0308\7G\2\2\u0308\u0309\7P\2\2\u0309"+ + "\u030a\7G\2\2\u030a\u030b\7T\2\2\u030b\u030c\7C\2\2\u030c\u030d\7V\2\2"+ + "\u030d\u030e\7Q\2\2\u030e\u030f\7T\2\2\u030f\u00aa\3\2\2\2\u0310\u0311"+ + "\t\6\2\2\u0311\u00ac\3\2\2\2\u0312\u0313\t\7\2\2\u0313\u00ae\3\2\2\2\u0314"+ + "\u0315\t\b\2\2\u0315\u00b0\3\2\2\2\u0316\u0317\t\t\2\2\u0317\u00b2\3\2"+ + "\2\2\u0318\u0319\t\n\2\2\u0319\u00b4\3\2\2\2\u031a\u031b\t\13\2\2\u031b"+ + "\u00b6\3\2\2\2\u031c\u031d\t\f\2\2\u031d\u00b8\3\2\2\2\u031e\u031f\t\r"+ + "\2\2\u031f\u00ba\3\2\2\2\u0320\u0321\t\16\2\2\u0321\u00bc\3\2\2\2\u0322"+ + "\u0323\t\17\2\2\u0323\u00be\3\2\2\2\u0324\u0325\t\20\2\2\u0325\u00c0\3"+ + "\2\2\2\u0326\u0327\t\21\2\2\u0327\u00c2\3\2\2\2\u0328\u0329\t\22\2\2\u0329"+ + "\u00c4\3\2\2\2\u032a\u032b\t\23\2\2\u032b\u00c6\3\2\2\2\u032c\u032d\t"+ + "\24\2\2\u032d\u00c8\3\2\2\2\u032e\u032f\t\25\2\2\u032f\u00ca\3\2\2\2\u0330"+ + "\u0331\t\26\2\2\u0331\u00cc\3\2\2\2\u0332\u0333\t\27\2\2\u0333\u00ce\3"+ + "\2\2\2\u0334\u0335\t\30\2\2\u0335\u00d0\3\2\2\2\u0336\u0337\t\31\2\2\u0337"+ + "\u00d2\3\2\2\2\u0338\u0339\t\32\2\2\u0339\u00d4\3\2\2\2\u033a\u033b\t"+ + "\33\2\2\u033b\u00d6\3\2\2\2\u033c\u033d\t\34\2\2\u033d\u00d8\3\2\2\2\u033e"+ + "\u033f\t\35\2\2\u033f\u00da\3\2\2\2\u0340\u0341\t\36\2\2\u0341\u00dc\3"+ + "\2\2\2\u0342\u0343\t\37\2\2\u0343\u00de\3\2\2\2\u0344\u0346\t \2\2\u0345"+ + "\u0344\3\2\2\2\u0346\u0349\3\2\2\2\u0347\u0348\3\2\2\2\u0347\u0345\3\2"+ + "\2\2\u0348\u034b\3\2\2\2\u0349\u0347\3\2\2\2\u034a\u034c\t!\2\2\u034b"+ + "\u034a\3\2\2\2\u034c\u034d\3\2\2\2\u034d\u034e\3\2\2\2\u034d\u034b\3\2"+ + "\2\2\u034e\u0352\3\2\2\2\u034f\u0351\t \2\2\u0350\u034f\3\2\2\2\u0351"+ + "\u0354\3\2\2\2\u0352\u0350\3\2\2\2\u0352\u0353\3\2\2\2\u0353\u035e\3\2"+ + "\2\2\u0354\u0352\3\2\2\2\u0355\u0357\5K&\2\u0356\u0358\n\"\2\2\u0357\u0356"+ + "\3\2\2\2\u0358\u0359\3\2\2\2\u0359\u0357\3\2\2\2\u0359\u035a\3\2\2\2\u035a"+ + "\u035b\3\2\2\2\u035b\u035c\5K&\2\u035c\u035e\3\2\2\2\u035d\u0347\3\2\2"+ + "\2\u035d\u0355\3\2\2\2\u035e\u00e0\3\2\2\2\u035f\u0367\5G$\2\u0360\u0361"+ + "\7^\2\2\u0361\u0366\13\2\2\2\u0362\u0363\7$\2\2\u0363\u0366\7$\2\2\u0364"+ + "\u0366\n#\2\2\u0365\u0360\3\2\2\2\u0365\u0362\3\2\2\2\u0365\u0364\3\2"+ + "\2\2\u0366\u0369\3\2\2\2\u0367\u0365\3\2\2\2\u0367\u0368\3\2\2\2\u0368"+ + "\u036a\3\2\2\2\u0369\u0367\3\2\2\2\u036a\u036b\5G$\2\u036b\u037a\3\2\2"+ + "\2\u036c\u0374\5I%\2\u036d\u036e\7^\2\2\u036e\u0373\13\2\2\2\u036f\u0370"+ + "\7)\2\2\u0370\u0373\7)\2\2\u0371\u0373\n$\2\2\u0372\u036d\3\2\2\2\u0372"+ + "\u036f\3\2\2\2\u0372\u0371\3\2\2\2\u0373\u0376\3\2\2\2\u0374\u0372\3\2"+ + "\2\2\u0374\u0375\3\2\2\2\u0375\u0377\3\2\2\2\u0376\u0374\3\2\2\2\u0377"+ + "\u0378\5I%\2\u0378\u037a\3\2\2\2\u0379\u035f\3\2\2\2\u0379\u036c\3\2\2"+ + "\2\u037a\u00e2\3\2\2\2\u037b\u037d\t%\2\2\u037c\u037b\3\2\2\2\u037d\u037e"+ + "\3\2\2\2\u037e\u037c\3\2\2\2\u037e\u037f\3\2\2\2\u037f\u00e4\3\2\2\2\u0380"+ + "\u0381\t&\2\2\u0381\u00e6\3\2\2\2\u0382\u0384\5\u00e3r\2\u0383\u0382\3"+ + "\2\2\2\u0383\u0384\3\2\2\2\u0384\u0386\3\2\2\2\u0385\u0387\5#\22\2\u0386"+ + "\u0385\3\2\2\2\u0386\u0387\3\2\2\2\u0387\u0388\3\2\2\2\u0388\u0390\5\u00e3"+ + "r\2\u0389\u038c\5\u00b3Z\2\u038a\u038d\5\31\r\2\u038b\u038d\5\33\16\2"+ + "\u038c\u038a\3\2\2\2\u038c\u038b\3\2\2\2\u038c\u038d\3\2\2\2\u038d\u038e"+ + "\3\2\2\2\u038e\u038f\5\u00e3r\2\u038f\u0391\3\2\2\2\u0390\u0389\3\2\2"+ + "\2\u0390\u0391\3\2\2\2\u0391\u00e8\3\2\2\2\u0392\u0393\7\62\2\2\u0393"+ + "\u0394\7z\2\2\u0394\u0396\3\2\2\2\u0395\u0397\5\u00e5s\2\u0396\u0395\3"+ + "\2\2\2\u0397\u0398\3\2\2\2\u0398\u0396\3\2\2\2\u0398\u0399\3\2\2\2\u0399"+ + "\u03a4\3\2\2\2\u039a\u039b\7Z\2\2\u039b\u039d\5I%\2\u039c\u039e\5\u00e5"+ + "s\2\u039d\u039c\3\2\2\2\u039e\u039f\3\2\2\2\u039f\u039d\3\2\2\2\u039f"+ + "\u03a0\3\2\2\2\u03a0\u03a1\3\2\2\2\u03a1\u03a2\5I%\2\u03a2\u03a4\3\2\2"+ + "\2\u03a3\u0392\3\2\2\2\u03a3\u039a\3\2\2\2\u03a4\u00ea\3\2\2\2\u03a5\u03a6"+ + "\7\62\2\2\u03a6\u03a7\7d\2\2\u03a7\u03a9\3\2\2\2\u03a8\u03aa\4\62\63\2"+ + "\u03a9\u03a8\3\2\2\2\u03aa\u03ab\3\2\2\2\u03ab\u03a9\3\2\2\2\u03ab\u03ac"+ + "\3\2\2\2\u03ac\u03b7\3\2\2\2\u03ad\u03ae\5\u00adW\2\u03ae\u03b0\5I%\2"+ + "\u03af\u03b1\4\62\63\2\u03b0\u03af\3\2\2\2\u03b1\u03b2\3\2\2\2\u03b2\u03b0"+ + "\3\2\2\2\u03b2\u03b3\3\2\2\2\u03b3\u03b4\3\2\2\2\u03b4\u03b5\5I%\2\u03b5"+ + "\u03b7\3\2\2\2\u03b6\u03a5\3\2\2\2\u03b6\u03ad\3\2\2\2\u03b7\u00ec\3\2"+ + "\2\2\32\2\u0123\u0154\u0347\u034d\u0352\u0359\u035d\u0365\u0367\u0372"+ + "\u0374\u0379\u037e\u0383\u0386\u038c\u0390\u0398\u039f\u03a3\u03ab\u03b2"+ + "\u03b6\3\b\2\2"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleLexer.tokens b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleLexer.tokens new file mode 100644 index 00000000..00b61d0c --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleLexer.tokens @@ -0,0 +1,133 @@ +AND_=1 +OR_=2 +NOT_=3 +TILDE_=4 +VERTICALBAR_=5 +AMPERSAND_=6 +SIGNEDLEFTSHIFT_=7 +SIGNEDRIGHTSHIFT_=8 +CARET_=9 +MOD_=10 +COLON_=11 +PLUS_=12 +MINUS_=13 +ASTERISK_=14 +SLASH_=15 +BACKSLASH_=16 +DOT_=17 +DOTASTERISK_=18 +SAFEEQ_=19 +DEQ_=20 +EQ_=21 +NEQ_=22 +GT_=23 +GTE_=24 +LT_=25 +LTE_=26 +POUND_=27 +LP_=28 +RP_=29 +LBE_=30 +RBE_=31 +LBT_=32 +RBT_=33 +COMMA_=34 +DQ_=35 +SQ_=36 +BQ_=37 +QUESTION_=38 +AT_=39 +SEMI_=40 +JSONSEPARATOR_=41 +UL_=42 +WS=43 +CREATE=44 +ALTER=45 +DROP=46 +SHOW=47 +RESOURCE=48 +RULE=49 +FROM=50 +ENCRYPT=51 +TYPE=52 +ENCRYPT_ALGORITHM=53 +ASSISTED_QUERY_ALGORITHM=54 +LIKE_QUERY_ALGORITHM=55 +NAME=56 +PROPERTIES=57 +COLUMN=58 +RULES=59 +TABLE=60 +COLUMNS=61 +CIPHER=62 +PLAIN=63 +ASSISTED_QUERY_COLUMN=64 +LIKE_QUERY_COLUMN=65 +QUERY_WITH_CIPHER_COLUMN=66 +TRUE=67 +FALSE=68 +DATA_TYPE=69 +PLAIN_DATA_TYPE=70 +CIPHER_DATA_TYPE=71 +ASSISTED_QUERY_DATA_TYPE=72 +LIKE_QUERY_DATA_TYPE=73 +IF=74 +EXISTS=75 +COUNT=76 +MD5=77 +AES=78 +RC4=79 +SM3=80 +SM4=81 +CHAR_DIGEST_LIKE=82 +NOT=83 +FOR_GENERATOR=84 +IDENTIFIER_=85 +STRING_=86 +INT_=87 +HEX_=88 +NUMBER_=89 +HEXDIGIT_=90 +BITNUM_=91 +'&&'=1 +'||'=2 +'!'=3 +'~'=4 +'|'=5 +'&'=6 +'<<'=7 +'>>'=8 +'^'=9 +'%'=10 +':'=11 +'+'=12 +'-'=13 +'*'=14 +'/'=15 +'\\'=16 +'.'=17 +'.*'=18 +'<=>'=19 +'=='=20 +'='=21 +'>'=23 +'>='=24 +'<'=25 +'<='=26 +'#'=27 +'('=28 +')'=29 +'{'=30 +'}'=31 +'['=32 +']'=33 +','=34 +'"'=35 +'\''=36 +'`'=37 +'?'=38 +'@'=39 +';'=40 +'->>'=41 +'_'=42 +'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=84 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleParser.java b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleParser.java new file mode 100644 index 00000000..92a41c55 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleParser.java @@ -0,0 +1,558 @@ +// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/encrypt/BaseRule.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.misc.*; +import org.antlr.v4.runtime.tree.*; +import java.util.List; +import java.util.Iterator; +import java.util.ArrayList; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class BaseRuleParser extends Parser { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, + SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, + ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, + DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, + LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, + SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, + WS=43, CREATE=44, ALTER=45, DROP=46, SHOW=47, RESOURCE=48, RULE=49, FROM=50, + ENCRYPT=51, TYPE=52, ENCRYPT_ALGORITHM=53, ASSISTED_QUERY_ALGORITHM=54, + LIKE_QUERY_ALGORITHM=55, NAME=56, PROPERTIES=57, COLUMN=58, RULES=59, + TABLE=60, COLUMNS=61, CIPHER=62, PLAIN=63, ASSISTED_QUERY_COLUMN=64, LIKE_QUERY_COLUMN=65, + QUERY_WITH_CIPHER_COLUMN=66, TRUE=67, FALSE=68, DATA_TYPE=69, PLAIN_DATA_TYPE=70, + CIPHER_DATA_TYPE=71, ASSISTED_QUERY_DATA_TYPE=72, LIKE_QUERY_DATA_TYPE=73, + IF=74, EXISTS=75, COUNT=76, MD5=77, AES=78, RC4=79, SM3=80, SM4=81, CHAR_DIGEST_LIKE=82, + NOT=83, FOR_GENERATOR=84, IDENTIFIER_=85, STRING_=86, INT_=87, HEX_=88, + NUMBER_=89, HEXDIGIT_=90, BITNUM_=91; + public static final int + RULE_literal = 0, RULE_algorithmDefinition = 1, RULE_algorithmTypeName = 2, + RULE_buildinAlgorithmTypeName = 3, RULE_propertiesDefinition = 4, RULE_properties = 5, + RULE_property = 6, RULE_tableName = 7; + private static String[] makeRuleNames() { + return new String[] { + "literal", "algorithmDefinition", "algorithmTypeName", "buildinAlgorithmTypeName", + "propertiesDefinition", "properties", "property", "tableName" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", + "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", + "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", + "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", + "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", + "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", + "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", + "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", + "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", + "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "CREATE", + "ALTER", "DROP", "SHOW", "RESOURCE", "RULE", "FROM", "ENCRYPT", "TYPE", + "ENCRYPT_ALGORITHM", "ASSISTED_QUERY_ALGORITHM", "LIKE_QUERY_ALGORITHM", + "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", "COLUMNS", "CIPHER", + "PLAIN", "ASSISTED_QUERY_COLUMN", "LIKE_QUERY_COLUMN", "QUERY_WITH_CIPHER_COLUMN", + "TRUE", "FALSE", "DATA_TYPE", "PLAIN_DATA_TYPE", "CIPHER_DATA_TYPE", + "ASSISTED_QUERY_DATA_TYPE", "LIKE_QUERY_DATA_TYPE", "IF", "EXISTS", "COUNT", + "MD5", "AES", "RC4", "SM3", "SM4", "CHAR_DIGEST_LIKE", "NOT", "FOR_GENERATOR", + "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + @Override + public String getGrammarFileName() { return "BaseRule.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public ATN getATN() { return _ATN; } + + public BaseRuleParser(TokenStream input) { + super(input); + _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + public static class LiteralContext extends ParserRuleContext { + public TerminalNode STRING_() { return getToken(BaseRuleParser.STRING_, 0); } + public TerminalNode INT_() { return getToken(BaseRuleParser.INT_, 0); } + public TerminalNode MINUS_() { return getToken(BaseRuleParser.MINUS_, 0); } + public TerminalNode TRUE() { return getToken(BaseRuleParser.TRUE, 0); } + public TerminalNode FALSE() { return getToken(BaseRuleParser.FALSE, 0); } + public LiteralContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_literal; } + } + + public final LiteralContext literal() throws RecognitionException { + LiteralContext _localctx = new LiteralContext(_ctx, getState()); + enterRule(_localctx, 0, RULE_literal); + int _la; + try { + setState(23); + _errHandler.sync(this); + switch (_input.LA(1)) { + case STRING_: + enterOuterAlt(_localctx, 1); + { + setState(16); + match(STRING_); + } + break; + case MINUS_: + case INT_: + enterOuterAlt(_localctx, 2); + { + setState(18); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==MINUS_) { + { + setState(17); + match(MINUS_); + } + } + + setState(20); + match(INT_); + } + break; + case TRUE: + enterOuterAlt(_localctx, 3); + { + setState(21); + match(TRUE); + } + break; + case FALSE: + enterOuterAlt(_localctx, 4); + { + setState(22); + match(FALSE); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AlgorithmDefinitionContext extends ParserRuleContext { + public TerminalNode TYPE() { return getToken(BaseRuleParser.TYPE, 0); } + public TerminalNode LP_() { return getToken(BaseRuleParser.LP_, 0); } + public TerminalNode NAME() { return getToken(BaseRuleParser.NAME, 0); } + public TerminalNode EQ_() { return getToken(BaseRuleParser.EQ_, 0); } + public AlgorithmTypeNameContext algorithmTypeName() { + return getRuleContext(AlgorithmTypeNameContext.class,0); + } + public TerminalNode RP_() { return getToken(BaseRuleParser.RP_, 0); } + public TerminalNode COMMA_() { return getToken(BaseRuleParser.COMMA_, 0); } + public PropertiesDefinitionContext propertiesDefinition() { + return getRuleContext(PropertiesDefinitionContext.class,0); + } + public AlgorithmDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_algorithmDefinition; } + } + + public final AlgorithmDefinitionContext algorithmDefinition() throws RecognitionException { + AlgorithmDefinitionContext _localctx = new AlgorithmDefinitionContext(_ctx, getState()); + enterRule(_localctx, 2, RULE_algorithmDefinition); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(25); + match(TYPE); + setState(26); + match(LP_); + setState(27); + match(NAME); + setState(28); + match(EQ_); + setState(29); + algorithmTypeName(); + setState(32); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==COMMA_) { + { + setState(30); + match(COMMA_); + setState(31); + propertiesDefinition(); + } + } + + setState(34); + match(RP_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AlgorithmTypeNameContext extends ParserRuleContext { + public BuildinAlgorithmTypeNameContext buildinAlgorithmTypeName() { + return getRuleContext(BuildinAlgorithmTypeNameContext.class,0); + } + public TerminalNode STRING_() { return getToken(BaseRuleParser.STRING_, 0); } + public AlgorithmTypeNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_algorithmTypeName; } + } + + public final AlgorithmTypeNameContext algorithmTypeName() throws RecognitionException { + AlgorithmTypeNameContext _localctx = new AlgorithmTypeNameContext(_ctx, getState()); + enterRule(_localctx, 4, RULE_algorithmTypeName); + try { + setState(38); + _errHandler.sync(this); + switch (_input.LA(1)) { + case MD5: + case AES: + case RC4: + case SM3: + case SM4: + case CHAR_DIGEST_LIKE: + enterOuterAlt(_localctx, 1); + { + setState(36); + buildinAlgorithmTypeName(); + } + break; + case STRING_: + enterOuterAlt(_localctx, 2); + { + setState(37); + match(STRING_); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class BuildinAlgorithmTypeNameContext extends ParserRuleContext { + public TerminalNode MD5() { return getToken(BaseRuleParser.MD5, 0); } + public TerminalNode AES() { return getToken(BaseRuleParser.AES, 0); } + public TerminalNode RC4() { return getToken(BaseRuleParser.RC4, 0); } + public TerminalNode SM3() { return getToken(BaseRuleParser.SM3, 0); } + public TerminalNode SM4() { return getToken(BaseRuleParser.SM4, 0); } + public TerminalNode CHAR_DIGEST_LIKE() { return getToken(BaseRuleParser.CHAR_DIGEST_LIKE, 0); } + public BuildinAlgorithmTypeNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_buildinAlgorithmTypeName; } + } + + public final BuildinAlgorithmTypeNameContext buildinAlgorithmTypeName() throws RecognitionException { + BuildinAlgorithmTypeNameContext _localctx = new BuildinAlgorithmTypeNameContext(_ctx, getState()); + enterRule(_localctx, 6, RULE_buildinAlgorithmTypeName); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(40); + _la = _input.LA(1); + if ( !(((((_la - 77)) & ~0x3f) == 0 && ((1L << (_la - 77)) & ((1L << (MD5 - 77)) | (1L << (AES - 77)) | (1L << (RC4 - 77)) | (1L << (SM3 - 77)) | (1L << (SM4 - 77)) | (1L << (CHAR_DIGEST_LIKE - 77)))) != 0)) ) { + _errHandler.recoverInline(this); + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PropertiesDefinitionContext extends ParserRuleContext { + public TerminalNode PROPERTIES() { return getToken(BaseRuleParser.PROPERTIES, 0); } + public TerminalNode LP_() { return getToken(BaseRuleParser.LP_, 0); } + public TerminalNode RP_() { return getToken(BaseRuleParser.RP_, 0); } + public PropertiesContext properties() { + return getRuleContext(PropertiesContext.class,0); + } + public PropertiesDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_propertiesDefinition; } + } + + public final PropertiesDefinitionContext propertiesDefinition() throws RecognitionException { + PropertiesDefinitionContext _localctx = new PropertiesDefinitionContext(_ctx, getState()); + enterRule(_localctx, 8, RULE_propertiesDefinition); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(42); + match(PROPERTIES); + setState(43); + match(LP_); + setState(45); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==STRING_) { + { + setState(44); + properties(); + } + } + + setState(47); + match(RP_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PropertiesContext extends ParserRuleContext { + public List property() { + return getRuleContexts(PropertyContext.class); + } + public PropertyContext property(int i) { + return getRuleContext(PropertyContext.class,i); + } + public List COMMA_() { return getTokens(BaseRuleParser.COMMA_); } + public TerminalNode COMMA_(int i) { + return getToken(BaseRuleParser.COMMA_, i); + } + public PropertiesContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_properties; } + } + + public final PropertiesContext properties() throws RecognitionException { + PropertiesContext _localctx = new PropertiesContext(_ctx, getState()); + enterRule(_localctx, 10, RULE_properties); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(49); + property(); + setState(54); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA_) { + { + { + setState(50); + match(COMMA_); + setState(51); + property(); + } + } + setState(56); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PropertyContext extends ParserRuleContext { + public Token key; + public LiteralContext value; + public TerminalNode EQ_() { return getToken(BaseRuleParser.EQ_, 0); } + public TerminalNode STRING_() { return getToken(BaseRuleParser.STRING_, 0); } + public LiteralContext literal() { + return getRuleContext(LiteralContext.class,0); + } + public PropertyContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_property; } + } + + public final PropertyContext property() throws RecognitionException { + PropertyContext _localctx = new PropertyContext(_ctx, getState()); + enterRule(_localctx, 12, RULE_property); + try { + enterOuterAlt(_localctx, 1); + { + setState(57); + ((PropertyContext)_localctx).key = match(STRING_); + setState(58); + match(EQ_); + setState(59); + ((PropertyContext)_localctx).value = literal(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TableNameContext extends ParserRuleContext { + public TerminalNode IDENTIFIER_() { return getToken(BaseRuleParser.IDENTIFIER_, 0); } + public TableNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_tableName; } + } + + public final TableNameContext tableName() throws RecognitionException { + TableNameContext _localctx = new TableNameContext(_ctx, getState()); + enterRule(_localctx, 14, RULE_tableName); + try { + enterOuterAlt(_localctx, 1); + { + setState(61); + match(IDENTIFIER_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3]B\4\2\t\2\4\3\t\3"+ + "\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\3\2\3\2\5\2\25\n\2\3"+ + "\2\3\2\3\2\5\2\32\n\2\3\3\3\3\3\3\3\3\3\3\3\3\3\3\5\3#\n\3\3\3\3\3\3\4"+ + "\3\4\5\4)\n\4\3\5\3\5\3\6\3\6\3\6\5\6\60\n\6\3\6\3\6\3\7\3\7\3\7\7\7\67"+ + "\n\7\f\7\16\7:\13\7\3\b\3\b\3\b\3\b\3\t\3\t\3\t\2\2\n\2\4\6\b\n\f\16\20"+ + "\2\3\3\2OT\2A\2\31\3\2\2\2\4\33\3\2\2\2\6(\3\2\2\2\b*\3\2\2\2\n,\3\2\2"+ + "\2\f\63\3\2\2\2\16;\3\2\2\2\20?\3\2\2\2\22\32\7X\2\2\23\25\7\17\2\2\24"+ + "\23\3\2\2\2\24\25\3\2\2\2\25\26\3\2\2\2\26\32\7Y\2\2\27\32\7E\2\2\30\32"+ + "\7F\2\2\31\22\3\2\2\2\31\24\3\2\2\2\31\27\3\2\2\2\31\30\3\2\2\2\32\3\3"+ + "\2\2\2\33\34\7\66\2\2\34\35\7\36\2\2\35\36\7:\2\2\36\37\7\27\2\2\37\""+ + "\5\6\4\2 !\7$\2\2!#\5\n\6\2\" \3\2\2\2\"#\3\2\2\2#$\3\2\2\2$%\7\37\2\2"+ + "%\5\3\2\2\2&)\5\b\5\2\')\7X\2\2(&\3\2\2\2(\'\3\2\2\2)\7\3\2\2\2*+\t\2"+ + "\2\2+\t\3\2\2\2,-\7;\2\2-/\7\36\2\2.\60\5\f\7\2/.\3\2\2\2/\60\3\2\2\2"+ + "\60\61\3\2\2\2\61\62\7\37\2\2\62\13\3\2\2\2\638\5\16\b\2\64\65\7$\2\2"+ + "\65\67\5\16\b\2\66\64\3\2\2\2\67:\3\2\2\28\66\3\2\2\289\3\2\2\29\r\3\2"+ + "\2\2:8\3\2\2\2;<\7X\2\2<=\7\27\2\2=>\5\2\2\2>\17\3\2\2\2?@\7W\2\2@\21"+ + "\3\2\2\2\b\24\31\"(/8"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Keyword.interp b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Keyword.interp new file mode 100644 index 00000000..7d35c8da --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Keyword.interp @@ -0,0 +1,170 @@ +token literal names: +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +'DO NOT MATCH ANY THING, JUST FOR GENERATOR' + +token symbolic names: +null +WS +CREATE +ALTER +DROP +SHOW +RESOURCE +RULE +FROM +ENCRYPT +TYPE +ENCRYPT_ALGORITHM +ASSISTED_QUERY_ALGORITHM +LIKE_QUERY_ALGORITHM +NAME +PROPERTIES +COLUMN +RULES +TABLE +COLUMNS +CIPHER +PLAIN +ASSISTED_QUERY_COLUMN +LIKE_QUERY_COLUMN +QUERY_WITH_CIPHER_COLUMN +TRUE +FALSE +DATA_TYPE +PLAIN_DATA_TYPE +CIPHER_DATA_TYPE +ASSISTED_QUERY_DATA_TYPE +LIKE_QUERY_DATA_TYPE +IF +EXISTS +COUNT +MD5 +AES +RC4 +SM3 +SM4 +CHAR_DIGEST_LIKE +NOT +FOR_GENERATOR + +rule names: +WS +CREATE +ALTER +DROP +SHOW +RESOURCE +RULE +FROM +ENCRYPT +TYPE +ENCRYPT_ALGORITHM +ASSISTED_QUERY_ALGORITHM +LIKE_QUERY_ALGORITHM +NAME +PROPERTIES +COLUMN +RULES +TABLE +COLUMNS +CIPHER +PLAIN +ASSISTED_QUERY_COLUMN +LIKE_QUERY_COLUMN +QUERY_WITH_CIPHER_COLUMN +TRUE +FALSE +DATA_TYPE +PLAIN_DATA_TYPE +CIPHER_DATA_TYPE +ASSISTED_QUERY_DATA_TYPE +LIKE_QUERY_DATA_TYPE +IF +EXISTS +COUNT +MD5 +AES +RC4 +SM3 +SM4 +CHAR_DIGEST_LIKE +NOT +FOR_GENERATOR +A +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y +Z +UL_ + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 44, 642, 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, 3, 2, 6, 2, 143, 10, 2, 13, 2, 14, 2, 144, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 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, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 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, 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, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 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, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 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, 22, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 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, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 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, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 33, 3, 33, 3, 33, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 36, 3, 36, 3, 36, 3, 36, 3, 37, 3, 37, 3, 37, 3, 37, 3, 38, 3, 38, 3, 38, 3, 38, 3, 39, 3, 39, 3, 39, 3, 39, 3, 40, 3, 40, 3, 40, 3, 40, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 44, 3, 44, 3, 45, 3, 45, 3, 46, 3, 46, 3, 47, 3, 47, 3, 48, 3, 48, 3, 49, 3, 49, 3, 50, 3, 50, 3, 51, 3, 51, 3, 52, 3, 52, 3, 53, 3, 53, 3, 54, 3, 54, 3, 55, 3, 55, 3, 56, 3, 56, 3, 57, 3, 57, 3, 58, 3, 58, 3, 59, 3, 59, 3, 60, 3, 60, 3, 61, 3, 61, 3, 62, 3, 62, 3, 63, 3, 63, 3, 64, 3, 64, 3, 65, 3, 65, 3, 66, 3, 66, 3, 67, 3, 67, 3, 68, 3, 68, 3, 69, 3, 69, 3, 70, 3, 70, 2, 2, 71, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 2, 89, 2, 91, 2, 93, 2, 95, 2, 97, 2, 99, 2, 101, 2, 103, 2, 105, 2, 107, 2, 109, 2, 111, 2, 113, 2, 115, 2, 117, 2, 119, 2, 121, 2, 123, 2, 125, 2, 127, 2, 129, 2, 131, 2, 133, 2, 135, 2, 137, 2, 139, 2, 3, 2, 32, 5, 2, 11, 12, 15, 15, 34, 34, 3, 2, 55, 55, 3, 2, 54, 54, 3, 2, 53, 53, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 2, 615, 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, 3, 142, 3, 2, 2, 2, 5, 148, 3, 2, 2, 2, 7, 155, 3, 2, 2, 2, 9, 161, 3, 2, 2, 2, 11, 166, 3, 2, 2, 2, 13, 171, 3, 2, 2, 2, 15, 180, 3, 2, 2, 2, 17, 185, 3, 2, 2, 2, 19, 190, 3, 2, 2, 2, 21, 198, 3, 2, 2, 2, 23, 203, 3, 2, 2, 2, 25, 221, 3, 2, 2, 2, 27, 246, 3, 2, 2, 2, 29, 267, 3, 2, 2, 2, 31, 272, 3, 2, 2, 2, 33, 283, 3, 2, 2, 2, 35, 290, 3, 2, 2, 2, 37, 296, 3, 2, 2, 2, 39, 302, 3, 2, 2, 2, 41, 310, 3, 2, 2, 2, 43, 317, 3, 2, 2, 2, 45, 323, 3, 2, 2, 2, 47, 345, 3, 2, 2, 2, 49, 363, 3, 2, 2, 2, 51, 388, 3, 2, 2, 2, 53, 393, 3, 2, 2, 2, 55, 399, 3, 2, 2, 2, 57, 409, 3, 2, 2, 2, 59, 425, 3, 2, 2, 2, 61, 442, 3, 2, 2, 2, 63, 467, 3, 2, 2, 2, 65, 488, 3, 2, 2, 2, 67, 491, 3, 2, 2, 2, 69, 498, 3, 2, 2, 2, 71, 504, 3, 2, 2, 2, 73, 508, 3, 2, 2, 2, 75, 512, 3, 2, 2, 2, 77, 516, 3, 2, 2, 2, 79, 520, 3, 2, 2, 2, 81, 524, 3, 2, 2, 2, 83, 541, 3, 2, 2, 2, 85, 545, 3, 2, 2, 2, 87, 588, 3, 2, 2, 2, 89, 590, 3, 2, 2, 2, 91, 592, 3, 2, 2, 2, 93, 594, 3, 2, 2, 2, 95, 596, 3, 2, 2, 2, 97, 598, 3, 2, 2, 2, 99, 600, 3, 2, 2, 2, 101, 602, 3, 2, 2, 2, 103, 604, 3, 2, 2, 2, 105, 606, 3, 2, 2, 2, 107, 608, 3, 2, 2, 2, 109, 610, 3, 2, 2, 2, 111, 612, 3, 2, 2, 2, 113, 614, 3, 2, 2, 2, 115, 616, 3, 2, 2, 2, 117, 618, 3, 2, 2, 2, 119, 620, 3, 2, 2, 2, 121, 622, 3, 2, 2, 2, 123, 624, 3, 2, 2, 2, 125, 626, 3, 2, 2, 2, 127, 628, 3, 2, 2, 2, 129, 630, 3, 2, 2, 2, 131, 632, 3, 2, 2, 2, 133, 634, 3, 2, 2, 2, 135, 636, 3, 2, 2, 2, 137, 638, 3, 2, 2, 2, 139, 640, 3, 2, 2, 2, 141, 143, 9, 2, 2, 2, 142, 141, 3, 2, 2, 2, 143, 144, 3, 2, 2, 2, 144, 142, 3, 2, 2, 2, 144, 145, 3, 2, 2, 2, 145, 146, 3, 2, 2, 2, 146, 147, 8, 2, 2, 2, 147, 4, 3, 2, 2, 2, 148, 149, 5, 91, 46, 2, 149, 150, 5, 121, 61, 2, 150, 151, 5, 95, 48, 2, 151, 152, 5, 87, 44, 2, 152, 153, 5, 125, 63, 2, 153, 154, 5, 95, 48, 2, 154, 6, 3, 2, 2, 2, 155, 156, 5, 87, 44, 2, 156, 157, 5, 109, 55, 2, 157, 158, 5, 125, 63, 2, 158, 159, 5, 95, 48, 2, 159, 160, 5, 121, 61, 2, 160, 8, 3, 2, 2, 2, 161, 162, 5, 93, 47, 2, 162, 163, 5, 121, 61, 2, 163, 164, 5, 115, 58, 2, 164, 165, 5, 117, 59, 2, 165, 10, 3, 2, 2, 2, 166, 167, 5, 123, 62, 2, 167, 168, 5, 101, 51, 2, 168, 169, 5, 115, 58, 2, 169, 170, 5, 131, 66, 2, 170, 12, 3, 2, 2, 2, 171, 172, 5, 121, 61, 2, 172, 173, 5, 95, 48, 2, 173, 174, 5, 123, 62, 2, 174, 175, 5, 115, 58, 2, 175, 176, 5, 127, 64, 2, 176, 177, 5, 121, 61, 2, 177, 178, 5, 91, 46, 2, 178, 179, 5, 95, 48, 2, 179, 14, 3, 2, 2, 2, 180, 181, 5, 121, 61, 2, 181, 182, 5, 127, 64, 2, 182, 183, 5, 109, 55, 2, 183, 184, 5, 95, 48, 2, 184, 16, 3, 2, 2, 2, 185, 186, 5, 97, 49, 2, 186, 187, 5, 121, 61, 2, 187, 188, 5, 115, 58, 2, 188, 189, 5, 111, 56, 2, 189, 18, 3, 2, 2, 2, 190, 191, 5, 95, 48, 2, 191, 192, 5, 113, 57, 2, 192, 193, 5, 91, 46, 2, 193, 194, 5, 121, 61, 2, 194, 195, 5, 135, 68, 2, 195, 196, 5, 117, 59, 2, 196, 197, 5, 125, 63, 2, 197, 20, 3, 2, 2, 2, 198, 199, 5, 125, 63, 2, 199, 200, 5, 135, 68, 2, 200, 201, 5, 117, 59, 2, 201, 202, 5, 95, 48, 2, 202, 22, 3, 2, 2, 2, 203, 204, 5, 95, 48, 2, 204, 205, 5, 113, 57, 2, 205, 206, 5, 91, 46, 2, 206, 207, 5, 121, 61, 2, 207, 208, 5, 135, 68, 2, 208, 209, 5, 117, 59, 2, 209, 210, 5, 125, 63, 2, 210, 211, 5, 139, 70, 2, 211, 212, 5, 87, 44, 2, 212, 213, 5, 109, 55, 2, 213, 214, 5, 99, 50, 2, 214, 215, 5, 115, 58, 2, 215, 216, 5, 121, 61, 2, 216, 217, 5, 103, 52, 2, 217, 218, 5, 125, 63, 2, 218, 219, 5, 101, 51, 2, 219, 220, 5, 111, 56, 2, 220, 24, 3, 2, 2, 2, 221, 222, 5, 87, 44, 2, 222, 223, 5, 123, 62, 2, 223, 224, 5, 123, 62, 2, 224, 225, 5, 103, 52, 2, 225, 226, 5, 123, 62, 2, 226, 227, 5, 125, 63, 2, 227, 228, 5, 95, 48, 2, 228, 229, 5, 93, 47, 2, 229, 230, 5, 139, 70, 2, 230, 231, 5, 119, 60, 2, 231, 232, 5, 127, 64, 2, 232, 233, 5, 95, 48, 2, 233, 234, 5, 121, 61, 2, 234, 235, 5, 135, 68, 2, 235, 236, 5, 139, 70, 2, 236, 237, 5, 87, 44, 2, 237, 238, 5, 109, 55, 2, 238, 239, 5, 99, 50, 2, 239, 240, 5, 115, 58, 2, 240, 241, 5, 121, 61, 2, 241, 242, 5, 103, 52, 2, 242, 243, 5, 125, 63, 2, 243, 244, 5, 101, 51, 2, 244, 245, 5, 111, 56, 2, 245, 26, 3, 2, 2, 2, 246, 247, 5, 109, 55, 2, 247, 248, 5, 103, 52, 2, 248, 249, 5, 107, 54, 2, 249, 250, 5, 95, 48, 2, 250, 251, 5, 139, 70, 2, 251, 252, 5, 119, 60, 2, 252, 253, 5, 127, 64, 2, 253, 254, 5, 95, 48, 2, 254, 255, 5, 121, 61, 2, 255, 256, 5, 135, 68, 2, 256, 257, 5, 139, 70, 2, 257, 258, 5, 87, 44, 2, 258, 259, 5, 109, 55, 2, 259, 260, 5, 99, 50, 2, 260, 261, 5, 115, 58, 2, 261, 262, 5, 121, 61, 2, 262, 263, 5, 103, 52, 2, 263, 264, 5, 125, 63, 2, 264, 265, 5, 101, 51, 2, 265, 266, 5, 111, 56, 2, 266, 28, 3, 2, 2, 2, 267, 268, 5, 113, 57, 2, 268, 269, 5, 87, 44, 2, 269, 270, 5, 111, 56, 2, 270, 271, 5, 95, 48, 2, 271, 30, 3, 2, 2, 2, 272, 273, 5, 117, 59, 2, 273, 274, 5, 121, 61, 2, 274, 275, 5, 115, 58, 2, 275, 276, 5, 117, 59, 2, 276, 277, 5, 95, 48, 2, 277, 278, 5, 121, 61, 2, 278, 279, 5, 125, 63, 2, 279, 280, 5, 103, 52, 2, 280, 281, 5, 95, 48, 2, 281, 282, 5, 123, 62, 2, 282, 32, 3, 2, 2, 2, 283, 284, 5, 91, 46, 2, 284, 285, 5, 115, 58, 2, 285, 286, 5, 109, 55, 2, 286, 287, 5, 127, 64, 2, 287, 288, 5, 111, 56, 2, 288, 289, 5, 113, 57, 2, 289, 34, 3, 2, 2, 2, 290, 291, 5, 121, 61, 2, 291, 292, 5, 127, 64, 2, 292, 293, 5, 109, 55, 2, 293, 294, 5, 95, 48, 2, 294, 295, 5, 123, 62, 2, 295, 36, 3, 2, 2, 2, 296, 297, 5, 125, 63, 2, 297, 298, 5, 87, 44, 2, 298, 299, 5, 89, 45, 2, 299, 300, 5, 109, 55, 2, 300, 301, 5, 95, 48, 2, 301, 38, 3, 2, 2, 2, 302, 303, 5, 91, 46, 2, 303, 304, 5, 115, 58, 2, 304, 305, 5, 109, 55, 2, 305, 306, 5, 127, 64, 2, 306, 307, 5, 111, 56, 2, 307, 308, 5, 113, 57, 2, 308, 309, 5, 123, 62, 2, 309, 40, 3, 2, 2, 2, 310, 311, 5, 91, 46, 2, 311, 312, 5, 103, 52, 2, 312, 313, 5, 117, 59, 2, 313, 314, 5, 101, 51, 2, 314, 315, 5, 95, 48, 2, 315, 316, 5, 121, 61, 2, 316, 42, 3, 2, 2, 2, 317, 318, 5, 117, 59, 2, 318, 319, 5, 109, 55, 2, 319, 320, 5, 87, 44, 2, 320, 321, 5, 103, 52, 2, 321, 322, 5, 113, 57, 2, 322, 44, 3, 2, 2, 2, 323, 324, 5, 87, 44, 2, 324, 325, 5, 123, 62, 2, 325, 326, 5, 123, 62, 2, 326, 327, 5, 103, 52, 2, 327, 328, 5, 123, 62, 2, 328, 329, 5, 125, 63, 2, 329, 330, 5, 95, 48, 2, 330, 331, 5, 93, 47, 2, 331, 332, 5, 139, 70, 2, 332, 333, 5, 119, 60, 2, 333, 334, 5, 127, 64, 2, 334, 335, 5, 95, 48, 2, 335, 336, 5, 121, 61, 2, 336, 337, 5, 135, 68, 2, 337, 338, 5, 139, 70, 2, 338, 339, 5, 91, 46, 2, 339, 340, 5, 115, 58, 2, 340, 341, 5, 109, 55, 2, 341, 342, 5, 127, 64, 2, 342, 343, 5, 111, 56, 2, 343, 344, 5, 113, 57, 2, 344, 46, 3, 2, 2, 2, 345, 346, 5, 109, 55, 2, 346, 347, 5, 103, 52, 2, 347, 348, 5, 107, 54, 2, 348, 349, 5, 95, 48, 2, 349, 350, 5, 139, 70, 2, 350, 351, 5, 119, 60, 2, 351, 352, 5, 127, 64, 2, 352, 353, 5, 95, 48, 2, 353, 354, 5, 121, 61, 2, 354, 355, 5, 135, 68, 2, 355, 356, 5, 139, 70, 2, 356, 357, 5, 91, 46, 2, 357, 358, 5, 115, 58, 2, 358, 359, 5, 109, 55, 2, 359, 360, 5, 127, 64, 2, 360, 361, 5, 111, 56, 2, 361, 362, 5, 113, 57, 2, 362, 48, 3, 2, 2, 2, 363, 364, 5, 119, 60, 2, 364, 365, 5, 127, 64, 2, 365, 366, 5, 95, 48, 2, 366, 367, 5, 121, 61, 2, 367, 368, 5, 135, 68, 2, 368, 369, 5, 139, 70, 2, 369, 370, 5, 131, 66, 2, 370, 371, 5, 103, 52, 2, 371, 372, 5, 125, 63, 2, 372, 373, 5, 101, 51, 2, 373, 374, 5, 139, 70, 2, 374, 375, 5, 91, 46, 2, 375, 376, 5, 103, 52, 2, 376, 377, 5, 117, 59, 2, 377, 378, 5, 101, 51, 2, 378, 379, 5, 95, 48, 2, 379, 380, 5, 121, 61, 2, 380, 381, 5, 139, 70, 2, 381, 382, 5, 91, 46, 2, 382, 383, 5, 115, 58, 2, 383, 384, 5, 109, 55, 2, 384, 385, 5, 127, 64, 2, 385, 386, 5, 111, 56, 2, 386, 387, 5, 113, 57, 2, 387, 50, 3, 2, 2, 2, 388, 389, 5, 125, 63, 2, 389, 390, 5, 121, 61, 2, 390, 391, 5, 127, 64, 2, 391, 392, 5, 95, 48, 2, 392, 52, 3, 2, 2, 2, 393, 394, 5, 97, 49, 2, 394, 395, 5, 87, 44, 2, 395, 396, 5, 109, 55, 2, 396, 397, 5, 123, 62, 2, 397, 398, 5, 95, 48, 2, 398, 54, 3, 2, 2, 2, 399, 400, 5, 93, 47, 2, 400, 401, 5, 87, 44, 2, 401, 402, 5, 125, 63, 2, 402, 403, 5, 87, 44, 2, 403, 404, 5, 139, 70, 2, 404, 405, 5, 125, 63, 2, 405, 406, 5, 135, 68, 2, 406, 407, 5, 117, 59, 2, 407, 408, 5, 95, 48, 2, 408, 56, 3, 2, 2, 2, 409, 410, 5, 117, 59, 2, 410, 411, 5, 109, 55, 2, 411, 412, 5, 87, 44, 2, 412, 413, 5, 103, 52, 2, 413, 414, 5, 113, 57, 2, 414, 415, 5, 139, 70, 2, 415, 416, 5, 93, 47, 2, 416, 417, 5, 87, 44, 2, 417, 418, 5, 125, 63, 2, 418, 419, 5, 87, 44, 2, 419, 420, 5, 139, 70, 2, 420, 421, 5, 125, 63, 2, 421, 422, 5, 135, 68, 2, 422, 423, 5, 117, 59, 2, 423, 424, 5, 95, 48, 2, 424, 58, 3, 2, 2, 2, 425, 426, 5, 91, 46, 2, 426, 427, 5, 103, 52, 2, 427, 428, 5, 117, 59, 2, 428, 429, 5, 101, 51, 2, 429, 430, 5, 95, 48, 2, 430, 431, 5, 121, 61, 2, 431, 432, 5, 139, 70, 2, 432, 433, 5, 93, 47, 2, 433, 434, 5, 87, 44, 2, 434, 435, 5, 125, 63, 2, 435, 436, 5, 87, 44, 2, 436, 437, 5, 139, 70, 2, 437, 438, 5, 125, 63, 2, 438, 439, 5, 135, 68, 2, 439, 440, 5, 117, 59, 2, 440, 441, 5, 95, 48, 2, 441, 60, 3, 2, 2, 2, 442, 443, 5, 87, 44, 2, 443, 444, 5, 123, 62, 2, 444, 445, 5, 123, 62, 2, 445, 446, 5, 103, 52, 2, 446, 447, 5, 123, 62, 2, 447, 448, 5, 125, 63, 2, 448, 449, 5, 95, 48, 2, 449, 450, 5, 93, 47, 2, 450, 451, 5, 139, 70, 2, 451, 452, 5, 119, 60, 2, 452, 453, 5, 127, 64, 2, 453, 454, 5, 95, 48, 2, 454, 455, 5, 121, 61, 2, 455, 456, 5, 135, 68, 2, 456, 457, 5, 139, 70, 2, 457, 458, 5, 93, 47, 2, 458, 459, 5, 87, 44, 2, 459, 460, 5, 125, 63, 2, 460, 461, 5, 87, 44, 2, 461, 462, 5, 139, 70, 2, 462, 463, 5, 125, 63, 2, 463, 464, 5, 135, 68, 2, 464, 465, 5, 117, 59, 2, 465, 466, 5, 95, 48, 2, 466, 62, 3, 2, 2, 2, 467, 468, 5, 109, 55, 2, 468, 469, 5, 103, 52, 2, 469, 470, 5, 107, 54, 2, 470, 471, 5, 95, 48, 2, 471, 472, 5, 139, 70, 2, 472, 473, 5, 119, 60, 2, 473, 474, 5, 127, 64, 2, 474, 475, 5, 95, 48, 2, 475, 476, 5, 121, 61, 2, 476, 477, 5, 135, 68, 2, 477, 478, 5, 139, 70, 2, 478, 479, 5, 93, 47, 2, 479, 480, 5, 87, 44, 2, 480, 481, 5, 125, 63, 2, 481, 482, 5, 87, 44, 2, 482, 483, 5, 139, 70, 2, 483, 484, 5, 125, 63, 2, 484, 485, 5, 135, 68, 2, 485, 486, 5, 117, 59, 2, 486, 487, 5, 95, 48, 2, 487, 64, 3, 2, 2, 2, 488, 489, 5, 103, 52, 2, 489, 490, 5, 97, 49, 2, 490, 66, 3, 2, 2, 2, 491, 492, 5, 95, 48, 2, 492, 493, 5, 133, 67, 2, 493, 494, 5, 103, 52, 2, 494, 495, 5, 123, 62, 2, 495, 496, 5, 125, 63, 2, 496, 497, 5, 123, 62, 2, 497, 68, 3, 2, 2, 2, 498, 499, 5, 91, 46, 2, 499, 500, 5, 115, 58, 2, 500, 501, 5, 127, 64, 2, 501, 502, 5, 113, 57, 2, 502, 503, 5, 125, 63, 2, 503, 70, 3, 2, 2, 2, 504, 505, 5, 111, 56, 2, 505, 506, 5, 93, 47, 2, 506, 507, 9, 3, 2, 2, 507, 72, 3, 2, 2, 2, 508, 509, 5, 87, 44, 2, 509, 510, 5, 95, 48, 2, 510, 511, 5, 123, 62, 2, 511, 74, 3, 2, 2, 2, 512, 513, 5, 121, 61, 2, 513, 514, 5, 91, 46, 2, 514, 515, 9, 4, 2, 2, 515, 76, 3, 2, 2, 2, 516, 517, 5, 123, 62, 2, 517, 518, 5, 111, 56, 2, 518, 519, 9, 5, 2, 2, 519, 78, 3, 2, 2, 2, 520, 521, 5, 123, 62, 2, 521, 522, 5, 111, 56, 2, 522, 523, 9, 4, 2, 2, 523, 80, 3, 2, 2, 2, 524, 525, 5, 91, 46, 2, 525, 526, 5, 101, 51, 2, 526, 527, 5, 87, 44, 2, 527, 528, 5, 121, 61, 2, 528, 529, 5, 139, 70, 2, 529, 530, 5, 93, 47, 2, 530, 531, 5, 103, 52, 2, 531, 532, 5, 99, 50, 2, 532, 533, 5, 95, 48, 2, 533, 534, 5, 123, 62, 2, 534, 535, 5, 125, 63, 2, 535, 536, 5, 139, 70, 2, 536, 537, 5, 109, 55, 2, 537, 538, 5, 103, 52, 2, 538, 539, 5, 107, 54, 2, 539, 540, 5, 95, 48, 2, 540, 82, 3, 2, 2, 2, 541, 542, 5, 113, 57, 2, 542, 543, 5, 115, 58, 2, 543, 544, 5, 125, 63, 2, 544, 84, 3, 2, 2, 2, 545, 546, 7, 70, 2, 2, 546, 547, 7, 81, 2, 2, 547, 548, 7, 34, 2, 2, 548, 549, 7, 80, 2, 2, 549, 550, 7, 81, 2, 2, 550, 551, 7, 86, 2, 2, 551, 552, 7, 34, 2, 2, 552, 553, 7, 79, 2, 2, 553, 554, 7, 67, 2, 2, 554, 555, 7, 86, 2, 2, 555, 556, 7, 69, 2, 2, 556, 557, 7, 74, 2, 2, 557, 558, 7, 34, 2, 2, 558, 559, 7, 67, 2, 2, 559, 560, 7, 80, 2, 2, 560, 561, 7, 91, 2, 2, 561, 562, 7, 34, 2, 2, 562, 563, 7, 86, 2, 2, 563, 564, 7, 74, 2, 2, 564, 565, 7, 75, 2, 2, 565, 566, 7, 80, 2, 2, 566, 567, 7, 73, 2, 2, 567, 568, 7, 46, 2, 2, 568, 569, 7, 34, 2, 2, 569, 570, 7, 76, 2, 2, 570, 571, 7, 87, 2, 2, 571, 572, 7, 85, 2, 2, 572, 573, 7, 86, 2, 2, 573, 574, 7, 34, 2, 2, 574, 575, 7, 72, 2, 2, 575, 576, 7, 81, 2, 2, 576, 577, 7, 84, 2, 2, 577, 578, 7, 34, 2, 2, 578, 579, 7, 73, 2, 2, 579, 580, 7, 71, 2, 2, 580, 581, 7, 80, 2, 2, 581, 582, 7, 71, 2, 2, 582, 583, 7, 84, 2, 2, 583, 584, 7, 67, 2, 2, 584, 585, 7, 86, 2, 2, 585, 586, 7, 81, 2, 2, 586, 587, 7, 84, 2, 2, 587, 86, 3, 2, 2, 2, 588, 589, 9, 6, 2, 2, 589, 88, 3, 2, 2, 2, 590, 591, 9, 7, 2, 2, 591, 90, 3, 2, 2, 2, 592, 593, 9, 8, 2, 2, 593, 92, 3, 2, 2, 2, 594, 595, 9, 9, 2, 2, 595, 94, 3, 2, 2, 2, 596, 597, 9, 10, 2, 2, 597, 96, 3, 2, 2, 2, 598, 599, 9, 11, 2, 2, 599, 98, 3, 2, 2, 2, 600, 601, 9, 12, 2, 2, 601, 100, 3, 2, 2, 2, 602, 603, 9, 13, 2, 2, 603, 102, 3, 2, 2, 2, 604, 605, 9, 14, 2, 2, 605, 104, 3, 2, 2, 2, 606, 607, 9, 15, 2, 2, 607, 106, 3, 2, 2, 2, 608, 609, 9, 16, 2, 2, 609, 108, 3, 2, 2, 2, 610, 611, 9, 17, 2, 2, 611, 110, 3, 2, 2, 2, 612, 613, 9, 18, 2, 2, 613, 112, 3, 2, 2, 2, 614, 615, 9, 19, 2, 2, 615, 114, 3, 2, 2, 2, 616, 617, 9, 20, 2, 2, 617, 116, 3, 2, 2, 2, 618, 619, 9, 21, 2, 2, 619, 118, 3, 2, 2, 2, 620, 621, 9, 22, 2, 2, 621, 120, 3, 2, 2, 2, 622, 623, 9, 23, 2, 2, 623, 122, 3, 2, 2, 2, 624, 625, 9, 24, 2, 2, 625, 124, 3, 2, 2, 2, 626, 627, 9, 25, 2, 2, 627, 126, 3, 2, 2, 2, 628, 629, 9, 26, 2, 2, 629, 128, 3, 2, 2, 2, 630, 631, 9, 27, 2, 2, 631, 130, 3, 2, 2, 2, 632, 633, 9, 28, 2, 2, 633, 132, 3, 2, 2, 2, 634, 635, 9, 29, 2, 2, 635, 134, 3, 2, 2, 2, 636, 637, 9, 30, 2, 2, 637, 136, 3, 2, 2, 2, 638, 639, 9, 31, 2, 2, 639, 138, 3, 2, 2, 2, 640, 641, 7, 97, 2, 2, 641, 140, 3, 2, 2, 2, 4, 2, 144, 3, 8, 2, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Keyword.java b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Keyword.java new file mode 100644 index 00000000..6d78278f --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Keyword.java @@ -0,0 +1,342 @@ +// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/encrypt/Keyword.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.misc.*; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class Keyword extends Lexer { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + WS=1, CREATE=2, ALTER=3, DROP=4, SHOW=5, RESOURCE=6, RULE=7, FROM=8, ENCRYPT=9, + TYPE=10, ENCRYPT_ALGORITHM=11, ASSISTED_QUERY_ALGORITHM=12, LIKE_QUERY_ALGORITHM=13, + NAME=14, PROPERTIES=15, COLUMN=16, RULES=17, TABLE=18, COLUMNS=19, CIPHER=20, + PLAIN=21, ASSISTED_QUERY_COLUMN=22, LIKE_QUERY_COLUMN=23, QUERY_WITH_CIPHER_COLUMN=24, + TRUE=25, FALSE=26, DATA_TYPE=27, PLAIN_DATA_TYPE=28, CIPHER_DATA_TYPE=29, + ASSISTED_QUERY_DATA_TYPE=30, LIKE_QUERY_DATA_TYPE=31, IF=32, EXISTS=33, + COUNT=34, MD5=35, AES=36, RC4=37, SM3=38, SM4=39, CHAR_DIGEST_LIKE=40, + NOT=41, FOR_GENERATOR=42; + public static String[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + + public static String[] modeNames = { + "DEFAULT_MODE" + }; + + private static String[] makeRuleNames() { + return new String[] { + "WS", "CREATE", "ALTER", "DROP", "SHOW", "RESOURCE", "RULE", "FROM", + "ENCRYPT", "TYPE", "ENCRYPT_ALGORITHM", "ASSISTED_QUERY_ALGORITHM", "LIKE_QUERY_ALGORITHM", + "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", "COLUMNS", "CIPHER", + "PLAIN", "ASSISTED_QUERY_COLUMN", "LIKE_QUERY_COLUMN", "QUERY_WITH_CIPHER_COLUMN", + "TRUE", "FALSE", "DATA_TYPE", "PLAIN_DATA_TYPE", "CIPHER_DATA_TYPE", + "ASSISTED_QUERY_DATA_TYPE", "LIKE_QUERY_DATA_TYPE", "IF", "EXISTS", "COUNT", + "MD5", "AES", "RC4", "SM3", "SM4", "CHAR_DIGEST_LIKE", "NOT", "FOR_GENERATOR", + "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", + "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "UL_" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "WS", "CREATE", "ALTER", "DROP", "SHOW", "RESOURCE", "RULE", "FROM", + "ENCRYPT", "TYPE", "ENCRYPT_ALGORITHM", "ASSISTED_QUERY_ALGORITHM", "LIKE_QUERY_ALGORITHM", + "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", "COLUMNS", "CIPHER", + "PLAIN", "ASSISTED_QUERY_COLUMN", "LIKE_QUERY_COLUMN", "QUERY_WITH_CIPHER_COLUMN", + "TRUE", "FALSE", "DATA_TYPE", "PLAIN_DATA_TYPE", "CIPHER_DATA_TYPE", + "ASSISTED_QUERY_DATA_TYPE", "LIKE_QUERY_DATA_TYPE", "IF", "EXISTS", "COUNT", + "MD5", "AES", "RC4", "SM3", "SM4", "CHAR_DIGEST_LIKE", "NOT", "FOR_GENERATOR" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + + public Keyword(CharStream input) { + super(input); + _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + @Override + public String getGrammarFileName() { return "Keyword.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public String[] getChannelNames() { return channelNames; } + + @Override + public String[] getModeNames() { return modeNames; } + + @Override + public ATN getATN() { return _ATN; } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2,\u0282\b\1\4\2\t"+ + "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ + "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ + "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ + "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ + "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ + ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ + "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ + "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\3\2\6\2\u008f\n"+ + "\2\r\2\16\2\u0090\3\2\3\2\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\4\3\4\3\4\3\4"+ + "\3\4\3\4\3\5\3\5\3\5\3\5\3\5\3\6\3\6\3\6\3\6\3\6\3\7\3\7\3\7\3\7\3\7\3"+ + "\7\3\7\3\7\3\7\3\b\3\b\3\b\3\b\3\b\3\t\3\t\3\t\3\t\3\t\3\n\3\n\3\n\3\n"+ + "\3\n\3\n\3\n\3\n\3\13\3\13\3\13\3\13\3\13\3\f\3\f\3\f\3\f\3\f\3\f\3\f"+ + "\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\r\3\r\3\r\3\r\3\r\3\r\3"+ + "\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r"+ + "\3\r\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16"+ + "\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\17\3\17\3\17\3\17\3\17\3\20"+ + "\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\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\22\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\24\3\25\3\25\3\25\3\25\3\25"+ + "\3\25\3\25\3\26\3\26\3\26\3\26\3\26\3\26\3\27\3\27\3\27\3\27\3\27\3\27"+ + "\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27"+ + "\3\27\3\27\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30"+ + "\3\30\3\30\3\30\3\30\3\30\3\30\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31"+ + "\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31"+ + "\3\31\3\31\3\31\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\34\3\34\3\34\3\34\3\34\3\34\3\35\3\35\3\35\3\35"+ + "\3\35\3\35\3\35\3\35\3\35\3\35\3\35\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\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\37\3\37\3\37\3\37\3\37\3\37\3\37"+ + "\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3 \3 \3 "+ + "\3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3!\3!\3!\3\"\3"+ + "\"\3\"\3\"\3\"\3\"\3\"\3#\3#\3#\3#\3#\3#\3$\3$\3$\3$\3%\3%\3%\3%\3&\3"+ + "&\3&\3&\3\'\3\'\3\'\3\'\3(\3(\3(\3(\3)\3)\3)\3)\3)\3)\3)\3)\3)\3)\3)\3"+ + ")\3)\3)\3)\3)\3)\3*\3*\3*\3*\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3"+ + "+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3"+ + "+\3+\3+\3+\3+\3+\3+\3,\3,\3-\3-\3.\3.\3/\3/\3\60\3\60\3\61\3\61\3\62\3"+ + "\62\3\63\3\63\3\64\3\64\3\65\3\65\3\66\3\66\3\67\3\67\38\38\39\39\3:\3"+ + ":\3;\3;\3<\3<\3=\3=\3>\3>\3?\3?\3@\3@\3A\3A\3B\3B\3C\3C\3D\3D\3E\3E\3"+ + "F\3F\2\2G\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33"+ + "\17\35\20\37\21!\22#\23%\24\'\25)\26+\27-\30/\31\61\32\63\33\65\34\67"+ + "\359\36;\37= ?!A\"C#E$G%I&K\'M(O)Q*S+U,W\2Y\2[\2]\2_\2a\2c\2e\2g\2i\2"+ + "k\2m\2o\2q\2s\2u\2w\2y\2{\2}\2\177\2\u0081\2\u0083\2\u0085\2\u0087\2\u0089"+ + "\2\u008b\2\3\2 \5\2\13\f\17\17\"\"\3\2\67\67\3\2\66\66\3\2\65\65\4\2C"+ + "Ccc\4\2DDdd\4\2EEee\4\2FFff\4\2GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4"+ + "\2LLll\4\2MMmm\4\2NNnn\4\2OOoo\4\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4\2TTt"+ + "t\4\2UUuu\4\2VVvv\4\2WWww\4\2XXxx\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\||\2"+ + "\u0267\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2"+ + "\r\3\2\2\2\2\17\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\31\3\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2"+ + "\2#\3\2\2\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2"+ + "/\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\29\3\2\2"+ + "\2\2;\3\2\2\2\2=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2"+ + "G\3\2\2\2\2I\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3"+ + "\2\2\2\2U\3\2\2\2\3\u008e\3\2\2\2\5\u0094\3\2\2\2\7\u009b\3\2\2\2\t\u00a1"+ + "\3\2\2\2\13\u00a6\3\2\2\2\r\u00ab\3\2\2\2\17\u00b4\3\2\2\2\21\u00b9\3"+ + "\2\2\2\23\u00be\3\2\2\2\25\u00c6\3\2\2\2\27\u00cb\3\2\2\2\31\u00dd\3\2"+ + "\2\2\33\u00f6\3\2\2\2\35\u010b\3\2\2\2\37\u0110\3\2\2\2!\u011b\3\2\2\2"+ + "#\u0122\3\2\2\2%\u0128\3\2\2\2\'\u012e\3\2\2\2)\u0136\3\2\2\2+\u013d\3"+ + "\2\2\2-\u0143\3\2\2\2/\u0159\3\2\2\2\61\u016b\3\2\2\2\63\u0184\3\2\2\2"+ + "\65\u0189\3\2\2\2\67\u018f\3\2\2\29\u0199\3\2\2\2;\u01a9\3\2\2\2=\u01ba"+ + "\3\2\2\2?\u01d3\3\2\2\2A\u01e8\3\2\2\2C\u01eb\3\2\2\2E\u01f2\3\2\2\2G"+ + "\u01f8\3\2\2\2I\u01fc\3\2\2\2K\u0200\3\2\2\2M\u0204\3\2\2\2O\u0208\3\2"+ + "\2\2Q\u020c\3\2\2\2S\u021d\3\2\2\2U\u0221\3\2\2\2W\u024c\3\2\2\2Y\u024e"+ + "\3\2\2\2[\u0250\3\2\2\2]\u0252\3\2\2\2_\u0254\3\2\2\2a\u0256\3\2\2\2c"+ + "\u0258\3\2\2\2e\u025a\3\2\2\2g\u025c\3\2\2\2i\u025e\3\2\2\2k\u0260\3\2"+ + "\2\2m\u0262\3\2\2\2o\u0264\3\2\2\2q\u0266\3\2\2\2s\u0268\3\2\2\2u\u026a"+ + "\3\2\2\2w\u026c\3\2\2\2y\u026e\3\2\2\2{\u0270\3\2\2\2}\u0272\3\2\2\2\177"+ + "\u0274\3\2\2\2\u0081\u0276\3\2\2\2\u0083\u0278\3\2\2\2\u0085\u027a\3\2"+ + "\2\2\u0087\u027c\3\2\2\2\u0089\u027e\3\2\2\2\u008b\u0280\3\2\2\2\u008d"+ + "\u008f\t\2\2\2\u008e\u008d\3\2\2\2\u008f\u0090\3\2\2\2\u0090\u008e\3\2"+ + "\2\2\u0090\u0091\3\2\2\2\u0091\u0092\3\2\2\2\u0092\u0093\b\2\2\2\u0093"+ + "\4\3\2\2\2\u0094\u0095\5[.\2\u0095\u0096\5y=\2\u0096\u0097\5_\60\2\u0097"+ + "\u0098\5W,\2\u0098\u0099\5}?\2\u0099\u009a\5_\60\2\u009a\6\3\2\2\2\u009b"+ + "\u009c\5W,\2\u009c\u009d\5m\67\2\u009d\u009e\5}?\2\u009e\u009f\5_\60\2"+ + "\u009f\u00a0\5y=\2\u00a0\b\3\2\2\2\u00a1\u00a2\5]/\2\u00a2\u00a3\5y=\2"+ + "\u00a3\u00a4\5s:\2\u00a4\u00a5\5u;\2\u00a5\n\3\2\2\2\u00a6\u00a7\5{>\2"+ + "\u00a7\u00a8\5e\63\2\u00a8\u00a9\5s:\2\u00a9\u00aa\5\u0083B\2\u00aa\f"+ + "\3\2\2\2\u00ab\u00ac\5y=\2\u00ac\u00ad\5_\60\2\u00ad\u00ae\5{>\2\u00ae"+ + "\u00af\5s:\2\u00af\u00b0\5\177@\2\u00b0\u00b1\5y=\2\u00b1\u00b2\5[.\2"+ + "\u00b2\u00b3\5_\60\2\u00b3\16\3\2\2\2\u00b4\u00b5\5y=\2\u00b5\u00b6\5"+ + "\177@\2\u00b6\u00b7\5m\67\2\u00b7\u00b8\5_\60\2\u00b8\20\3\2\2\2\u00b9"+ + "\u00ba\5a\61\2\u00ba\u00bb\5y=\2\u00bb\u00bc\5s:\2\u00bc\u00bd\5o8\2\u00bd"+ + "\22\3\2\2\2\u00be\u00bf\5_\60\2\u00bf\u00c0\5q9\2\u00c0\u00c1\5[.\2\u00c1"+ + "\u00c2\5y=\2\u00c2\u00c3\5\u0087D\2\u00c3\u00c4\5u;\2\u00c4\u00c5\5}?"+ + "\2\u00c5\24\3\2\2\2\u00c6\u00c7\5}?\2\u00c7\u00c8\5\u0087D\2\u00c8\u00c9"+ + "\5u;\2\u00c9\u00ca\5_\60\2\u00ca\26\3\2\2\2\u00cb\u00cc\5_\60\2\u00cc"+ + "\u00cd\5q9\2\u00cd\u00ce\5[.\2\u00ce\u00cf\5y=\2\u00cf\u00d0\5\u0087D"+ + "\2\u00d0\u00d1\5u;\2\u00d1\u00d2\5}?\2\u00d2\u00d3\5\u008bF\2\u00d3\u00d4"+ + "\5W,\2\u00d4\u00d5\5m\67\2\u00d5\u00d6\5c\62\2\u00d6\u00d7\5s:\2\u00d7"+ + "\u00d8\5y=\2\u00d8\u00d9\5g\64\2\u00d9\u00da\5}?\2\u00da\u00db\5e\63\2"+ + "\u00db\u00dc\5o8\2\u00dc\30\3\2\2\2\u00dd\u00de\5W,\2\u00de\u00df\5{>"+ + "\2\u00df\u00e0\5{>\2\u00e0\u00e1\5g\64\2\u00e1\u00e2\5{>\2\u00e2\u00e3"+ + "\5}?\2\u00e3\u00e4\5_\60\2\u00e4\u00e5\5]/\2\u00e5\u00e6\5\u008bF\2\u00e6"+ + "\u00e7\5w<\2\u00e7\u00e8\5\177@\2\u00e8\u00e9\5_\60\2\u00e9\u00ea\5y="+ + "\2\u00ea\u00eb\5\u0087D\2\u00eb\u00ec\5\u008bF\2\u00ec\u00ed\5W,\2\u00ed"+ + "\u00ee\5m\67\2\u00ee\u00ef\5c\62\2\u00ef\u00f0\5s:\2\u00f0\u00f1\5y=\2"+ + "\u00f1\u00f2\5g\64\2\u00f2\u00f3\5}?\2\u00f3\u00f4\5e\63\2\u00f4\u00f5"+ + "\5o8\2\u00f5\32\3\2\2\2\u00f6\u00f7\5m\67\2\u00f7\u00f8\5g\64\2\u00f8"+ + "\u00f9\5k\66\2\u00f9\u00fa\5_\60\2\u00fa\u00fb\5\u008bF\2\u00fb\u00fc"+ + "\5w<\2\u00fc\u00fd\5\177@\2\u00fd\u00fe\5_\60\2\u00fe\u00ff\5y=\2\u00ff"+ + "\u0100\5\u0087D\2\u0100\u0101\5\u008bF\2\u0101\u0102\5W,\2\u0102\u0103"+ + "\5m\67\2\u0103\u0104\5c\62\2\u0104\u0105\5s:\2\u0105\u0106\5y=\2\u0106"+ + "\u0107\5g\64\2\u0107\u0108\5}?\2\u0108\u0109\5e\63\2\u0109\u010a\5o8\2"+ + "\u010a\34\3\2\2\2\u010b\u010c\5q9\2\u010c\u010d\5W,\2\u010d\u010e\5o8"+ + "\2\u010e\u010f\5_\60\2\u010f\36\3\2\2\2\u0110\u0111\5u;\2\u0111\u0112"+ + "\5y=\2\u0112\u0113\5s:\2\u0113\u0114\5u;\2\u0114\u0115\5_\60\2\u0115\u0116"+ + "\5y=\2\u0116\u0117\5}?\2\u0117\u0118\5g\64\2\u0118\u0119\5_\60\2\u0119"+ + "\u011a\5{>\2\u011a \3\2\2\2\u011b\u011c\5[.\2\u011c\u011d\5s:\2\u011d"+ + "\u011e\5m\67\2\u011e\u011f\5\177@\2\u011f\u0120\5o8\2\u0120\u0121\5q9"+ + "\2\u0121\"\3\2\2\2\u0122\u0123\5y=\2\u0123\u0124\5\177@\2\u0124\u0125"+ + "\5m\67\2\u0125\u0126\5_\60\2\u0126\u0127\5{>\2\u0127$\3\2\2\2\u0128\u0129"+ + "\5}?\2\u0129\u012a\5W,\2\u012a\u012b\5Y-\2\u012b\u012c\5m\67\2\u012c\u012d"+ + "\5_\60\2\u012d&\3\2\2\2\u012e\u012f\5[.\2\u012f\u0130\5s:\2\u0130\u0131"+ + "\5m\67\2\u0131\u0132\5\177@\2\u0132\u0133\5o8\2\u0133\u0134\5q9\2\u0134"+ + "\u0135\5{>\2\u0135(\3\2\2\2\u0136\u0137\5[.\2\u0137\u0138\5g\64\2\u0138"+ + "\u0139\5u;\2\u0139\u013a\5e\63\2\u013a\u013b\5_\60\2\u013b\u013c\5y=\2"+ + "\u013c*\3\2\2\2\u013d\u013e\5u;\2\u013e\u013f\5m\67\2\u013f\u0140\5W,"+ + "\2\u0140\u0141\5g\64\2\u0141\u0142\5q9\2\u0142,\3\2\2\2\u0143\u0144\5"+ + "W,\2\u0144\u0145\5{>\2\u0145\u0146\5{>\2\u0146\u0147\5g\64\2\u0147\u0148"+ + "\5{>\2\u0148\u0149\5}?\2\u0149\u014a\5_\60\2\u014a\u014b\5]/\2\u014b\u014c"+ + "\5\u008bF\2\u014c\u014d\5w<\2\u014d\u014e\5\177@\2\u014e\u014f\5_\60\2"+ + "\u014f\u0150\5y=\2\u0150\u0151\5\u0087D\2\u0151\u0152\5\u008bF\2\u0152"+ + "\u0153\5[.\2\u0153\u0154\5s:\2\u0154\u0155\5m\67\2\u0155\u0156\5\177@"+ + "\2\u0156\u0157\5o8\2\u0157\u0158\5q9\2\u0158.\3\2\2\2\u0159\u015a\5m\67"+ + "\2\u015a\u015b\5g\64\2\u015b\u015c\5k\66\2\u015c\u015d\5_\60\2\u015d\u015e"+ + "\5\u008bF\2\u015e\u015f\5w<\2\u015f\u0160\5\177@\2\u0160\u0161\5_\60\2"+ + "\u0161\u0162\5y=\2\u0162\u0163\5\u0087D\2\u0163\u0164\5\u008bF\2\u0164"+ + "\u0165\5[.\2\u0165\u0166\5s:\2\u0166\u0167\5m\67\2\u0167\u0168\5\177@"+ + "\2\u0168\u0169\5o8\2\u0169\u016a\5q9\2\u016a\60\3\2\2\2\u016b\u016c\5"+ + "w<\2\u016c\u016d\5\177@\2\u016d\u016e\5_\60\2\u016e\u016f\5y=\2\u016f"+ + "\u0170\5\u0087D\2\u0170\u0171\5\u008bF\2\u0171\u0172\5\u0083B\2\u0172"+ + "\u0173\5g\64\2\u0173\u0174\5}?\2\u0174\u0175\5e\63\2\u0175\u0176\5\u008b"+ + "F\2\u0176\u0177\5[.\2\u0177\u0178\5g\64\2\u0178\u0179\5u;\2\u0179\u017a"+ + "\5e\63\2\u017a\u017b\5_\60\2\u017b\u017c\5y=\2\u017c\u017d\5\u008bF\2"+ + "\u017d\u017e\5[.\2\u017e\u017f\5s:\2\u017f\u0180\5m\67\2\u0180\u0181\5"+ + "\177@\2\u0181\u0182\5o8\2\u0182\u0183\5q9\2\u0183\62\3\2\2\2\u0184\u0185"+ + "\5}?\2\u0185\u0186\5y=\2\u0186\u0187\5\177@\2\u0187\u0188\5_\60\2\u0188"+ + "\64\3\2\2\2\u0189\u018a\5a\61\2\u018a\u018b\5W,\2\u018b\u018c\5m\67\2"+ + "\u018c\u018d\5{>\2\u018d\u018e\5_\60\2\u018e\66\3\2\2\2\u018f\u0190\5"+ + "]/\2\u0190\u0191\5W,\2\u0191\u0192\5}?\2\u0192\u0193\5W,\2\u0193\u0194"+ + "\5\u008bF\2\u0194\u0195\5}?\2\u0195\u0196\5\u0087D\2\u0196\u0197\5u;\2"+ + "\u0197\u0198\5_\60\2\u01988\3\2\2\2\u0199\u019a\5u;\2\u019a\u019b\5m\67"+ + "\2\u019b\u019c\5W,\2\u019c\u019d\5g\64\2\u019d\u019e\5q9\2\u019e\u019f"+ + "\5\u008bF\2\u019f\u01a0\5]/\2\u01a0\u01a1\5W,\2\u01a1\u01a2\5}?\2\u01a2"+ + "\u01a3\5W,\2\u01a3\u01a4\5\u008bF\2\u01a4\u01a5\5}?\2\u01a5\u01a6\5\u0087"+ + "D\2\u01a6\u01a7\5u;\2\u01a7\u01a8\5_\60\2\u01a8:\3\2\2\2\u01a9\u01aa\5"+ + "[.\2\u01aa\u01ab\5g\64\2\u01ab\u01ac\5u;\2\u01ac\u01ad\5e\63\2\u01ad\u01ae"+ + "\5_\60\2\u01ae\u01af\5y=\2\u01af\u01b0\5\u008bF\2\u01b0\u01b1\5]/\2\u01b1"+ + "\u01b2\5W,\2\u01b2\u01b3\5}?\2\u01b3\u01b4\5W,\2\u01b4\u01b5\5\u008bF"+ + "\2\u01b5\u01b6\5}?\2\u01b6\u01b7\5\u0087D\2\u01b7\u01b8\5u;\2\u01b8\u01b9"+ + "\5_\60\2\u01b9<\3\2\2\2\u01ba\u01bb\5W,\2\u01bb\u01bc\5{>\2\u01bc\u01bd"+ + "\5{>\2\u01bd\u01be\5g\64\2\u01be\u01bf\5{>\2\u01bf\u01c0\5}?\2\u01c0\u01c1"+ + "\5_\60\2\u01c1\u01c2\5]/\2\u01c2\u01c3\5\u008bF\2\u01c3\u01c4\5w<\2\u01c4"+ + "\u01c5\5\177@\2\u01c5\u01c6\5_\60\2\u01c6\u01c7\5y=\2\u01c7\u01c8\5\u0087"+ + "D\2\u01c8\u01c9\5\u008bF\2\u01c9\u01ca\5]/\2\u01ca\u01cb\5W,\2\u01cb\u01cc"+ + "\5}?\2\u01cc\u01cd\5W,\2\u01cd\u01ce\5\u008bF\2\u01ce\u01cf\5}?\2\u01cf"+ + "\u01d0\5\u0087D\2\u01d0\u01d1\5u;\2\u01d1\u01d2\5_\60\2\u01d2>\3\2\2\2"+ + "\u01d3\u01d4\5m\67\2\u01d4\u01d5\5g\64\2\u01d5\u01d6\5k\66\2\u01d6\u01d7"+ + "\5_\60\2\u01d7\u01d8\5\u008bF\2\u01d8\u01d9\5w<\2\u01d9\u01da\5\177@\2"+ + "\u01da\u01db\5_\60\2\u01db\u01dc\5y=\2\u01dc\u01dd\5\u0087D\2\u01dd\u01de"+ + "\5\u008bF\2\u01de\u01df\5]/\2\u01df\u01e0\5W,\2\u01e0\u01e1\5}?\2\u01e1"+ + "\u01e2\5W,\2\u01e2\u01e3\5\u008bF\2\u01e3\u01e4\5}?\2\u01e4\u01e5\5\u0087"+ + "D\2\u01e5\u01e6\5u;\2\u01e6\u01e7\5_\60\2\u01e7@\3\2\2\2\u01e8\u01e9\5"+ + "g\64\2\u01e9\u01ea\5a\61\2\u01eaB\3\2\2\2\u01eb\u01ec\5_\60\2\u01ec\u01ed"+ + "\5\u0085C\2\u01ed\u01ee\5g\64\2\u01ee\u01ef\5{>\2\u01ef\u01f0\5}?\2\u01f0"+ + "\u01f1\5{>\2\u01f1D\3\2\2\2\u01f2\u01f3\5[.\2\u01f3\u01f4\5s:\2\u01f4"+ + "\u01f5\5\177@\2\u01f5\u01f6\5q9\2\u01f6\u01f7\5}?\2\u01f7F\3\2\2\2\u01f8"+ + "\u01f9\5o8\2\u01f9\u01fa\5]/\2\u01fa\u01fb\t\3\2\2\u01fbH\3\2\2\2\u01fc"+ + "\u01fd\5W,\2\u01fd\u01fe\5_\60\2\u01fe\u01ff\5{>\2\u01ffJ\3\2\2\2\u0200"+ + "\u0201\5y=\2\u0201\u0202\5[.\2\u0202\u0203\t\4\2\2\u0203L\3\2\2\2\u0204"+ + "\u0205\5{>\2\u0205\u0206\5o8\2\u0206\u0207\t\5\2\2\u0207N\3\2\2\2\u0208"+ + "\u0209\5{>\2\u0209\u020a\5o8\2\u020a\u020b\t\4\2\2\u020bP\3\2\2\2\u020c"+ + "\u020d\5[.\2\u020d\u020e\5e\63\2\u020e\u020f\5W,\2\u020f\u0210\5y=\2\u0210"+ + "\u0211\5\u008bF\2\u0211\u0212\5]/\2\u0212\u0213\5g\64\2\u0213\u0214\5"+ + "c\62\2\u0214\u0215\5_\60\2\u0215\u0216\5{>\2\u0216\u0217\5}?\2\u0217\u0218"+ + "\5\u008bF\2\u0218\u0219\5m\67\2\u0219\u021a\5g\64\2\u021a\u021b\5k\66"+ + "\2\u021b\u021c\5_\60\2\u021cR\3\2\2\2\u021d\u021e\5q9\2\u021e\u021f\5"+ + "s:\2\u021f\u0220\5}?\2\u0220T\3\2\2\2\u0221\u0222\7F\2\2\u0222\u0223\7"+ + "Q\2\2\u0223\u0224\7\"\2\2\u0224\u0225\7P\2\2\u0225\u0226\7Q\2\2\u0226"+ + "\u0227\7V\2\2\u0227\u0228\7\"\2\2\u0228\u0229\7O\2\2\u0229\u022a\7C\2"+ + "\2\u022a\u022b\7V\2\2\u022b\u022c\7E\2\2\u022c\u022d\7J\2\2\u022d\u022e"+ + "\7\"\2\2\u022e\u022f\7C\2\2\u022f\u0230\7P\2\2\u0230\u0231\7[\2\2\u0231"+ + "\u0232\7\"\2\2\u0232\u0233\7V\2\2\u0233\u0234\7J\2\2\u0234\u0235\7K\2"+ + "\2\u0235\u0236\7P\2\2\u0236\u0237\7I\2\2\u0237\u0238\7.\2\2\u0238\u0239"+ + "\7\"\2\2\u0239\u023a\7L\2\2\u023a\u023b\7W\2\2\u023b\u023c\7U\2\2\u023c"+ + "\u023d\7V\2\2\u023d\u023e\7\"\2\2\u023e\u023f\7H\2\2\u023f\u0240\7Q\2"+ + "\2\u0240\u0241\7T\2\2\u0241\u0242\7\"\2\2\u0242\u0243\7I\2\2\u0243\u0244"+ + "\7G\2\2\u0244\u0245\7P\2\2\u0245\u0246\7G\2\2\u0246\u0247\7T\2\2\u0247"+ + "\u0248\7C\2\2\u0248\u0249\7V\2\2\u0249\u024a\7Q\2\2\u024a\u024b\7T\2\2"+ + "\u024bV\3\2\2\2\u024c\u024d\t\6\2\2\u024dX\3\2\2\2\u024e\u024f\t\7\2\2"+ + "\u024fZ\3\2\2\2\u0250\u0251\t\b\2\2\u0251\\\3\2\2\2\u0252\u0253\t\t\2"+ + "\2\u0253^\3\2\2\2\u0254\u0255\t\n\2\2\u0255`\3\2\2\2\u0256\u0257\t\13"+ + "\2\2\u0257b\3\2\2\2\u0258\u0259\t\f\2\2\u0259d\3\2\2\2\u025a\u025b\t\r"+ + "\2\2\u025bf\3\2\2\2\u025c\u025d\t\16\2\2\u025dh\3\2\2\2\u025e\u025f\t"+ + "\17\2\2\u025fj\3\2\2\2\u0260\u0261\t\20\2\2\u0261l\3\2\2\2\u0262\u0263"+ + "\t\21\2\2\u0263n\3\2\2\2\u0264\u0265\t\22\2\2\u0265p\3\2\2\2\u0266\u0267"+ + "\t\23\2\2\u0267r\3\2\2\2\u0268\u0269\t\24\2\2\u0269t\3\2\2\2\u026a\u026b"+ + "\t\25\2\2\u026bv\3\2\2\2\u026c\u026d\t\26\2\2\u026dx\3\2\2\2\u026e\u026f"+ + "\t\27\2\2\u026fz\3\2\2\2\u0270\u0271\t\30\2\2\u0271|\3\2\2\2\u0272\u0273"+ + "\t\31\2\2\u0273~\3\2\2\2\u0274\u0275\t\32\2\2\u0275\u0080\3\2\2\2\u0276"+ + "\u0277\t\33\2\2\u0277\u0082\3\2\2\2\u0278\u0279\t\34\2\2\u0279\u0084\3"+ + "\2\2\2\u027a\u027b\t\35\2\2\u027b\u0086\3\2\2\2\u027c\u027d\t\36\2\2\u027d"+ + "\u0088\3\2\2\2\u027e\u027f\t\37\2\2\u027f\u008a\3\2\2\2\u0280\u0281\7"+ + "a\2\2\u0281\u008c\3\2\2\2\4\2\u0090\3\b\2\2"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Keyword.tokens b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Keyword.tokens new file mode 100644 index 00000000..a974a747 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Keyword.tokens @@ -0,0 +1,43 @@ +WS=1 +CREATE=2 +ALTER=3 +DROP=4 +SHOW=5 +RESOURCE=6 +RULE=7 +FROM=8 +ENCRYPT=9 +TYPE=10 +ENCRYPT_ALGORITHM=11 +ASSISTED_QUERY_ALGORITHM=12 +LIKE_QUERY_ALGORITHM=13 +NAME=14 +PROPERTIES=15 +COLUMN=16 +RULES=17 +TABLE=18 +COLUMNS=19 +CIPHER=20 +PLAIN=21 +ASSISTED_QUERY_COLUMN=22 +LIKE_QUERY_COLUMN=23 +QUERY_WITH_CIPHER_COLUMN=24 +TRUE=25 +FALSE=26 +DATA_TYPE=27 +PLAIN_DATA_TYPE=28 +CIPHER_DATA_TYPE=29 +ASSISTED_QUERY_DATA_TYPE=30 +LIKE_QUERY_DATA_TYPE=31 +IF=32 +EXISTS=33 +COUNT=34 +MD5=35 +AES=36 +RC4=37 +SM3=38 +SM4=39 +CHAR_DIGEST_LIKE=40 +NOT=41 +FOR_GENERATOR=42 +'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=42 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Literals.interp b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Literals.interp new file mode 100644 index 00000000..af532573 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Literals.interp @@ -0,0 +1,191 @@ +token literal names: +null +null +null +null +null +null +null +null +'DO NOT MATCH ANY THING, JUST FOR GENERATOR' +'&&' +'||' +'!' +'~' +'|' +'&' +'<<' +'>>' +'^' +'%' +':' +'+' +'-' +'*' +'/' +'\\' +'.' +'.*' +'<=>' +'==' +'=' +null +'>' +'>=' +'<' +'<=' +'#' +'(' +')' +'{' +'}' +'[' +']' +',' +'"' +'\'' +'`' +'?' +'@' +';' +'->>' + +token symbolic names: +null +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ +FOR_GENERATOR +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ + +rule names: +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ +FOR_GENERATOR +A +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y +Z +UL_ +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 51, 466, 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, 3, 2, 7, 2, 157, 10, 2, 12, 2, 14, 2, 160, 11, 2, 3, 2, 6, 2, 163, 10, 2, 13, 2, 14, 2, 164, 3, 2, 7, 2, 168, 10, 2, 12, 2, 14, 2, 171, 11, 2, 3, 2, 3, 2, 6, 2, 175, 10, 2, 13, 2, 14, 2, 176, 3, 2, 3, 2, 5, 2, 181, 10, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 189, 10, 3, 12, 3, 14, 3, 192, 11, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 202, 10, 3, 12, 3, 14, 3, 205, 11, 3, 3, 3, 3, 3, 5, 3, 209, 10, 3, 3, 4, 6, 4, 212, 10, 4, 13, 4, 14, 4, 213, 3, 5, 3, 5, 3, 6, 5, 6, 219, 10, 6, 3, 6, 5, 6, 222, 10, 6, 3, 6, 3, 6, 3, 6, 3, 6, 5, 6, 228, 10, 6, 3, 6, 3, 6, 5, 6, 232, 10, 6, 3, 7, 3, 7, 3, 7, 3, 7, 6, 7, 238, 10, 7, 13, 7, 14, 7, 239, 3, 7, 3, 7, 3, 7, 6, 7, 245, 10, 7, 13, 7, 14, 7, 246, 3, 7, 3, 7, 5, 7, 251, 10, 7, 3, 8, 3, 8, 3, 8, 3, 8, 6, 8, 257, 10, 8, 13, 8, 14, 8, 258, 3, 8, 3, 8, 3, 8, 6, 8, 264, 10, 8, 13, 8, 14, 8, 265, 3, 8, 3, 8, 5, 8, 270, 10, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 3, 18, 3, 18, 3, 19, 3, 19, 3, 20, 3, 20, 3, 21, 3, 21, 3, 22, 3, 22, 3, 23, 3, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 37, 3, 38, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 43, 3, 43, 3, 43, 3, 44, 3, 44, 3, 44, 3, 45, 3, 45, 3, 46, 3, 46, 3, 47, 3, 47, 3, 48, 3, 48, 3, 49, 3, 49, 3, 50, 3, 50, 3, 51, 3, 51, 3, 52, 3, 52, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 5, 58, 423, 10, 58, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 64, 3, 64, 3, 65, 3, 65, 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, 72, 3, 72, 3, 73, 3, 73, 3, 74, 3, 74, 3, 75, 3, 75, 3, 76, 3, 76, 3, 77, 3, 77, 3, 77, 3, 77, 4, 158, 164, 2, 78, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 2, 21, 2, 23, 2, 25, 2, 27, 2, 29, 2, 31, 2, 33, 2, 35, 2, 37, 2, 39, 2, 41, 2, 43, 2, 45, 2, 47, 2, 49, 2, 51, 2, 53, 2, 55, 2, 57, 2, 59, 2, 61, 2, 63, 2, 65, 2, 67, 2, 69, 2, 71, 2, 73, 11, 75, 12, 77, 13, 79, 14, 81, 15, 83, 16, 85, 17, 87, 18, 89, 19, 91, 20, 93, 21, 95, 22, 97, 23, 99, 24, 101, 25, 103, 26, 105, 27, 107, 28, 109, 29, 111, 30, 113, 31, 115, 32, 117, 33, 119, 34, 121, 35, 123, 36, 125, 37, 127, 38, 129, 39, 131, 40, 133, 41, 135, 42, 137, 43, 139, 44, 141, 45, 143, 46, 145, 47, 147, 48, 149, 49, 151, 50, 153, 51, 3, 2, 35, 7, 2, 38, 38, 50, 59, 67, 92, 97, 97, 99, 124, 6, 2, 38, 38, 67, 92, 97, 97, 99, 124, 3, 2, 98, 98, 4, 2, 36, 36, 94, 94, 4, 2, 41, 41, 94, 94, 3, 2, 50, 59, 5, 2, 50, 59, 67, 72, 99, 104, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 2, 463, 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, 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, 3, 180, 3, 2, 2, 2, 5, 208, 3, 2, 2, 2, 7, 211, 3, 2, 2, 2, 9, 215, 3, 2, 2, 2, 11, 218, 3, 2, 2, 2, 13, 250, 3, 2, 2, 2, 15, 269, 3, 2, 2, 2, 17, 271, 3, 2, 2, 2, 19, 314, 3, 2, 2, 2, 21, 316, 3, 2, 2, 2, 23, 318, 3, 2, 2, 2, 25, 320, 3, 2, 2, 2, 27, 322, 3, 2, 2, 2, 29, 324, 3, 2, 2, 2, 31, 326, 3, 2, 2, 2, 33, 328, 3, 2, 2, 2, 35, 330, 3, 2, 2, 2, 37, 332, 3, 2, 2, 2, 39, 334, 3, 2, 2, 2, 41, 336, 3, 2, 2, 2, 43, 338, 3, 2, 2, 2, 45, 340, 3, 2, 2, 2, 47, 342, 3, 2, 2, 2, 49, 344, 3, 2, 2, 2, 51, 346, 3, 2, 2, 2, 53, 348, 3, 2, 2, 2, 55, 350, 3, 2, 2, 2, 57, 352, 3, 2, 2, 2, 59, 354, 3, 2, 2, 2, 61, 356, 3, 2, 2, 2, 63, 358, 3, 2, 2, 2, 65, 360, 3, 2, 2, 2, 67, 362, 3, 2, 2, 2, 69, 364, 3, 2, 2, 2, 71, 366, 3, 2, 2, 2, 73, 368, 3, 2, 2, 2, 75, 371, 3, 2, 2, 2, 77, 374, 3, 2, 2, 2, 79, 376, 3, 2, 2, 2, 81, 378, 3, 2, 2, 2, 83, 380, 3, 2, 2, 2, 85, 382, 3, 2, 2, 2, 87, 385, 3, 2, 2, 2, 89, 388, 3, 2, 2, 2, 91, 390, 3, 2, 2, 2, 93, 392, 3, 2, 2, 2, 95, 394, 3, 2, 2, 2, 97, 396, 3, 2, 2, 2, 99, 398, 3, 2, 2, 2, 101, 400, 3, 2, 2, 2, 103, 402, 3, 2, 2, 2, 105, 404, 3, 2, 2, 2, 107, 406, 3, 2, 2, 2, 109, 409, 3, 2, 2, 2, 111, 413, 3, 2, 2, 2, 113, 416, 3, 2, 2, 2, 115, 422, 3, 2, 2, 2, 117, 424, 3, 2, 2, 2, 119, 426, 3, 2, 2, 2, 121, 429, 3, 2, 2, 2, 123, 431, 3, 2, 2, 2, 125, 434, 3, 2, 2, 2, 127, 436, 3, 2, 2, 2, 129, 438, 3, 2, 2, 2, 131, 440, 3, 2, 2, 2, 133, 442, 3, 2, 2, 2, 135, 444, 3, 2, 2, 2, 137, 446, 3, 2, 2, 2, 139, 448, 3, 2, 2, 2, 141, 450, 3, 2, 2, 2, 143, 452, 3, 2, 2, 2, 145, 454, 3, 2, 2, 2, 147, 456, 3, 2, 2, 2, 149, 458, 3, 2, 2, 2, 151, 460, 3, 2, 2, 2, 153, 462, 3, 2, 2, 2, 155, 157, 9, 2, 2, 2, 156, 155, 3, 2, 2, 2, 157, 160, 3, 2, 2, 2, 158, 159, 3, 2, 2, 2, 158, 156, 3, 2, 2, 2, 159, 162, 3, 2, 2, 2, 160, 158, 3, 2, 2, 2, 161, 163, 9, 3, 2, 2, 162, 161, 3, 2, 2, 2, 163, 164, 3, 2, 2, 2, 164, 165, 3, 2, 2, 2, 164, 162, 3, 2, 2, 2, 165, 169, 3, 2, 2, 2, 166, 168, 9, 2, 2, 2, 167, 166, 3, 2, 2, 2, 168, 171, 3, 2, 2, 2, 169, 167, 3, 2, 2, 2, 169, 170, 3, 2, 2, 2, 170, 181, 3, 2, 2, 2, 171, 169, 3, 2, 2, 2, 172, 174, 5, 145, 73, 2, 173, 175, 10, 4, 2, 2, 174, 173, 3, 2, 2, 2, 175, 176, 3, 2, 2, 2, 176, 174, 3, 2, 2, 2, 176, 177, 3, 2, 2, 2, 177, 178, 3, 2, 2, 2, 178, 179, 5, 145, 73, 2, 179, 181, 3, 2, 2, 2, 180, 158, 3, 2, 2, 2, 180, 172, 3, 2, 2, 2, 181, 4, 3, 2, 2, 2, 182, 190, 5, 141, 71, 2, 183, 184, 7, 94, 2, 2, 184, 189, 11, 2, 2, 2, 185, 186, 7, 36, 2, 2, 186, 189, 7, 36, 2, 2, 187, 189, 10, 5, 2, 2, 188, 183, 3, 2, 2, 2, 188, 185, 3, 2, 2, 2, 188, 187, 3, 2, 2, 2, 189, 192, 3, 2, 2, 2, 190, 188, 3, 2, 2, 2, 190, 191, 3, 2, 2, 2, 191, 193, 3, 2, 2, 2, 192, 190, 3, 2, 2, 2, 193, 194, 5, 141, 71, 2, 194, 209, 3, 2, 2, 2, 195, 203, 5, 143, 72, 2, 196, 197, 7, 94, 2, 2, 197, 202, 11, 2, 2, 2, 198, 199, 7, 41, 2, 2, 199, 202, 7, 41, 2, 2, 200, 202, 10, 6, 2, 2, 201, 196, 3, 2, 2, 2, 201, 198, 3, 2, 2, 2, 201, 200, 3, 2, 2, 2, 202, 205, 3, 2, 2, 2, 203, 201, 3, 2, 2, 2, 203, 204, 3, 2, 2, 2, 204, 206, 3, 2, 2, 2, 205, 203, 3, 2, 2, 2, 206, 207, 5, 143, 72, 2, 207, 209, 3, 2, 2, 2, 208, 182, 3, 2, 2, 2, 208, 195, 3, 2, 2, 2, 209, 6, 3, 2, 2, 2, 210, 212, 9, 7, 2, 2, 211, 210, 3, 2, 2, 2, 212, 213, 3, 2, 2, 2, 213, 211, 3, 2, 2, 2, 213, 214, 3, 2, 2, 2, 214, 8, 3, 2, 2, 2, 215, 216, 9, 8, 2, 2, 216, 10, 3, 2, 2, 2, 217, 219, 5, 7, 4, 2, 218, 217, 3, 2, 2, 2, 218, 219, 3, 2, 2, 2, 219, 221, 3, 2, 2, 2, 220, 222, 5, 105, 53, 2, 221, 220, 3, 2, 2, 2, 221, 222, 3, 2, 2, 2, 222, 223, 3, 2, 2, 2, 223, 231, 5, 7, 4, 2, 224, 227, 5, 27, 14, 2, 225, 228, 5, 95, 48, 2, 226, 228, 5, 97, 49, 2, 227, 225, 3, 2, 2, 2, 227, 226, 3, 2, 2, 2, 227, 228, 3, 2, 2, 2, 228, 229, 3, 2, 2, 2, 229, 230, 5, 7, 4, 2, 230, 232, 3, 2, 2, 2, 231, 224, 3, 2, 2, 2, 231, 232, 3, 2, 2, 2, 232, 12, 3, 2, 2, 2, 233, 234, 7, 50, 2, 2, 234, 235, 7, 122, 2, 2, 235, 237, 3, 2, 2, 2, 236, 238, 5, 9, 5, 2, 237, 236, 3, 2, 2, 2, 238, 239, 3, 2, 2, 2, 239, 237, 3, 2, 2, 2, 239, 240, 3, 2, 2, 2, 240, 251, 3, 2, 2, 2, 241, 242, 7, 90, 2, 2, 242, 244, 5, 143, 72, 2, 243, 245, 5, 9, 5, 2, 244, 243, 3, 2, 2, 2, 245, 246, 3, 2, 2, 2, 246, 244, 3, 2, 2, 2, 246, 247, 3, 2, 2, 2, 247, 248, 3, 2, 2, 2, 248, 249, 5, 143, 72, 2, 249, 251, 3, 2, 2, 2, 250, 233, 3, 2, 2, 2, 250, 241, 3, 2, 2, 2, 251, 14, 3, 2, 2, 2, 252, 253, 7, 50, 2, 2, 253, 254, 7, 100, 2, 2, 254, 256, 3, 2, 2, 2, 255, 257, 4, 50, 51, 2, 256, 255, 3, 2, 2, 2, 257, 258, 3, 2, 2, 2, 258, 256, 3, 2, 2, 2, 258, 259, 3, 2, 2, 2, 259, 270, 3, 2, 2, 2, 260, 261, 5, 21, 11, 2, 261, 263, 5, 143, 72, 2, 262, 264, 4, 50, 51, 2, 263, 262, 3, 2, 2, 2, 264, 265, 3, 2, 2, 2, 265, 263, 3, 2, 2, 2, 265, 266, 3, 2, 2, 2, 266, 267, 3, 2, 2, 2, 267, 268, 5, 143, 72, 2, 268, 270, 3, 2, 2, 2, 269, 252, 3, 2, 2, 2, 269, 260, 3, 2, 2, 2, 270, 16, 3, 2, 2, 2, 271, 272, 7, 70, 2, 2, 272, 273, 7, 81, 2, 2, 273, 274, 7, 34, 2, 2, 274, 275, 7, 80, 2, 2, 275, 276, 7, 81, 2, 2, 276, 277, 7, 86, 2, 2, 277, 278, 7, 34, 2, 2, 278, 279, 7, 79, 2, 2, 279, 280, 7, 67, 2, 2, 280, 281, 7, 86, 2, 2, 281, 282, 7, 69, 2, 2, 282, 283, 7, 74, 2, 2, 283, 284, 7, 34, 2, 2, 284, 285, 7, 67, 2, 2, 285, 286, 7, 80, 2, 2, 286, 287, 7, 91, 2, 2, 287, 288, 7, 34, 2, 2, 288, 289, 7, 86, 2, 2, 289, 290, 7, 74, 2, 2, 290, 291, 7, 75, 2, 2, 291, 292, 7, 80, 2, 2, 292, 293, 7, 73, 2, 2, 293, 294, 7, 46, 2, 2, 294, 295, 7, 34, 2, 2, 295, 296, 7, 76, 2, 2, 296, 297, 7, 87, 2, 2, 297, 298, 7, 85, 2, 2, 298, 299, 7, 86, 2, 2, 299, 300, 7, 34, 2, 2, 300, 301, 7, 72, 2, 2, 301, 302, 7, 81, 2, 2, 302, 303, 7, 84, 2, 2, 303, 304, 7, 34, 2, 2, 304, 305, 7, 73, 2, 2, 305, 306, 7, 71, 2, 2, 306, 307, 7, 80, 2, 2, 307, 308, 7, 71, 2, 2, 308, 309, 7, 84, 2, 2, 309, 310, 7, 67, 2, 2, 310, 311, 7, 86, 2, 2, 311, 312, 7, 81, 2, 2, 312, 313, 7, 84, 2, 2, 313, 18, 3, 2, 2, 2, 314, 315, 9, 9, 2, 2, 315, 20, 3, 2, 2, 2, 316, 317, 9, 10, 2, 2, 317, 22, 3, 2, 2, 2, 318, 319, 9, 11, 2, 2, 319, 24, 3, 2, 2, 2, 320, 321, 9, 12, 2, 2, 321, 26, 3, 2, 2, 2, 322, 323, 9, 13, 2, 2, 323, 28, 3, 2, 2, 2, 324, 325, 9, 14, 2, 2, 325, 30, 3, 2, 2, 2, 326, 327, 9, 15, 2, 2, 327, 32, 3, 2, 2, 2, 328, 329, 9, 16, 2, 2, 329, 34, 3, 2, 2, 2, 330, 331, 9, 17, 2, 2, 331, 36, 3, 2, 2, 2, 332, 333, 9, 18, 2, 2, 333, 38, 3, 2, 2, 2, 334, 335, 9, 19, 2, 2, 335, 40, 3, 2, 2, 2, 336, 337, 9, 20, 2, 2, 337, 42, 3, 2, 2, 2, 338, 339, 9, 21, 2, 2, 339, 44, 3, 2, 2, 2, 340, 341, 9, 22, 2, 2, 341, 46, 3, 2, 2, 2, 342, 343, 9, 23, 2, 2, 343, 48, 3, 2, 2, 2, 344, 345, 9, 24, 2, 2, 345, 50, 3, 2, 2, 2, 346, 347, 9, 25, 2, 2, 347, 52, 3, 2, 2, 2, 348, 349, 9, 26, 2, 2, 349, 54, 3, 2, 2, 2, 350, 351, 9, 27, 2, 2, 351, 56, 3, 2, 2, 2, 352, 353, 9, 28, 2, 2, 353, 58, 3, 2, 2, 2, 354, 355, 9, 29, 2, 2, 355, 60, 3, 2, 2, 2, 356, 357, 9, 30, 2, 2, 357, 62, 3, 2, 2, 2, 358, 359, 9, 31, 2, 2, 359, 64, 3, 2, 2, 2, 360, 361, 9, 32, 2, 2, 361, 66, 3, 2, 2, 2, 362, 363, 9, 33, 2, 2, 363, 68, 3, 2, 2, 2, 364, 365, 9, 34, 2, 2, 365, 70, 3, 2, 2, 2, 366, 367, 7, 97, 2, 2, 367, 72, 3, 2, 2, 2, 368, 369, 7, 40, 2, 2, 369, 370, 7, 40, 2, 2, 370, 74, 3, 2, 2, 2, 371, 372, 7, 126, 2, 2, 372, 373, 7, 126, 2, 2, 373, 76, 3, 2, 2, 2, 374, 375, 7, 35, 2, 2, 375, 78, 3, 2, 2, 2, 376, 377, 7, 128, 2, 2, 377, 80, 3, 2, 2, 2, 378, 379, 7, 126, 2, 2, 379, 82, 3, 2, 2, 2, 380, 381, 7, 40, 2, 2, 381, 84, 3, 2, 2, 2, 382, 383, 7, 62, 2, 2, 383, 384, 7, 62, 2, 2, 384, 86, 3, 2, 2, 2, 385, 386, 7, 64, 2, 2, 386, 387, 7, 64, 2, 2, 387, 88, 3, 2, 2, 2, 388, 389, 7, 96, 2, 2, 389, 90, 3, 2, 2, 2, 390, 391, 7, 39, 2, 2, 391, 92, 3, 2, 2, 2, 392, 393, 7, 60, 2, 2, 393, 94, 3, 2, 2, 2, 394, 395, 7, 45, 2, 2, 395, 96, 3, 2, 2, 2, 396, 397, 7, 47, 2, 2, 397, 98, 3, 2, 2, 2, 398, 399, 7, 44, 2, 2, 399, 100, 3, 2, 2, 2, 400, 401, 7, 49, 2, 2, 401, 102, 3, 2, 2, 2, 402, 403, 7, 94, 2, 2, 403, 104, 3, 2, 2, 2, 404, 405, 7, 48, 2, 2, 405, 106, 3, 2, 2, 2, 406, 407, 7, 48, 2, 2, 407, 408, 7, 44, 2, 2, 408, 108, 3, 2, 2, 2, 409, 410, 7, 62, 2, 2, 410, 411, 7, 63, 2, 2, 411, 412, 7, 64, 2, 2, 412, 110, 3, 2, 2, 2, 413, 414, 7, 63, 2, 2, 414, 415, 7, 63, 2, 2, 415, 112, 3, 2, 2, 2, 416, 417, 7, 63, 2, 2, 417, 114, 3, 2, 2, 2, 418, 419, 7, 62, 2, 2, 419, 423, 7, 64, 2, 2, 420, 421, 7, 35, 2, 2, 421, 423, 7, 63, 2, 2, 422, 418, 3, 2, 2, 2, 422, 420, 3, 2, 2, 2, 423, 116, 3, 2, 2, 2, 424, 425, 7, 64, 2, 2, 425, 118, 3, 2, 2, 2, 426, 427, 7, 64, 2, 2, 427, 428, 7, 63, 2, 2, 428, 120, 3, 2, 2, 2, 429, 430, 7, 62, 2, 2, 430, 122, 3, 2, 2, 2, 431, 432, 7, 62, 2, 2, 432, 433, 7, 63, 2, 2, 433, 124, 3, 2, 2, 2, 434, 435, 7, 37, 2, 2, 435, 126, 3, 2, 2, 2, 436, 437, 7, 42, 2, 2, 437, 128, 3, 2, 2, 2, 438, 439, 7, 43, 2, 2, 439, 130, 3, 2, 2, 2, 440, 441, 7, 125, 2, 2, 441, 132, 3, 2, 2, 2, 442, 443, 7, 127, 2, 2, 443, 134, 3, 2, 2, 2, 444, 445, 7, 93, 2, 2, 445, 136, 3, 2, 2, 2, 446, 447, 7, 95, 2, 2, 447, 138, 3, 2, 2, 2, 448, 449, 7, 46, 2, 2, 449, 140, 3, 2, 2, 2, 450, 451, 7, 36, 2, 2, 451, 142, 3, 2, 2, 2, 452, 453, 7, 41, 2, 2, 453, 144, 3, 2, 2, 2, 454, 455, 7, 98, 2, 2, 455, 146, 3, 2, 2, 2, 456, 457, 7, 65, 2, 2, 457, 148, 3, 2, 2, 2, 458, 459, 7, 66, 2, 2, 459, 150, 3, 2, 2, 2, 460, 461, 7, 61, 2, 2, 461, 152, 3, 2, 2, 2, 462, 463, 7, 47, 2, 2, 463, 464, 7, 64, 2, 2, 464, 465, 7, 64, 2, 2, 465, 154, 3, 2, 2, 2, 25, 2, 158, 164, 169, 176, 180, 188, 190, 201, 203, 208, 213, 218, 221, 227, 231, 239, 246, 250, 258, 265, 269, 422, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Literals.java b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Literals.java new file mode 100644 index 00000000..9e7880e9 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Literals.java @@ -0,0 +1,298 @@ +// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/encrypt/Literals.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.misc.*; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class Literals extends Lexer { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + IDENTIFIER_=1, STRING_=2, INT_=3, HEX_=4, NUMBER_=5, HEXDIGIT_=6, BITNUM_=7, + FOR_GENERATOR=8, AND_=9, OR_=10, NOT_=11, TILDE_=12, VERTICALBAR_=13, + AMPERSAND_=14, SIGNEDLEFTSHIFT_=15, SIGNEDRIGHTSHIFT_=16, CARET_=17, MOD_=18, + COLON_=19, PLUS_=20, MINUS_=21, ASTERISK_=22, SLASH_=23, BACKSLASH_=24, + DOT_=25, DOTASTERISK_=26, SAFEEQ_=27, DEQ_=28, EQ_=29, NEQ_=30, GT_=31, + GTE_=32, LT_=33, LTE_=34, POUND_=35, LP_=36, RP_=37, LBE_=38, RBE_=39, + LBT_=40, RBT_=41, COMMA_=42, DQ_=43, SQ_=44, BQ_=45, QUESTION_=46, AT_=47, + SEMI_=48, JSONSEPARATOR_=49; + public static String[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + + public static String[] modeNames = { + "DEFAULT_MODE" + }; + + private static String[] makeRuleNames() { + return new String[] { + "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_", + "FOR_GENERATOR", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", + "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", + "Z", "UL_", "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", + "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", + "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", + "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", + "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", + "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, null, null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'", + "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", "'%'", + "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", "'=='", + "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", "'{'", + "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", "';'", + "'->>'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", + "BITNUM_", "FOR_GENERATOR", "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", + "AMPERSAND_", "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", + "COLON_", "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", + "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", + "LTE_", "POUND_", "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", + "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + + public Literals(CharStream input) { + super(input); + _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + @Override + public String getGrammarFileName() { return "Literals.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public String[] getChannelNames() { return channelNames; } + + @Override + public String[] getModeNames() { return modeNames; } + + @Override + public ATN getATN() { return _ATN; } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2\63\u01d2\b\1\4\2"+ + "\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4"+ + "\13\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22"+ + "\t\22\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31"+ + "\t\31\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t"+ + " \4!\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t"+ + "+\4,\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64"+ + "\t\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t"+ + "=\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4"+ + "I\tI\4J\tJ\4K\tK\4L\tL\4M\tM\3\2\7\2\u009d\n\2\f\2\16\2\u00a0\13\2\3\2"+ + "\6\2\u00a3\n\2\r\2\16\2\u00a4\3\2\7\2\u00a8\n\2\f\2\16\2\u00ab\13\2\3"+ + "\2\3\2\6\2\u00af\n\2\r\2\16\2\u00b0\3\2\3\2\5\2\u00b5\n\2\3\3\3\3\3\3"+ + "\3\3\3\3\3\3\7\3\u00bd\n\3\f\3\16\3\u00c0\13\3\3\3\3\3\3\3\3\3\3\3\3\3"+ + "\3\3\3\3\7\3\u00ca\n\3\f\3\16\3\u00cd\13\3\3\3\3\3\5\3\u00d1\n\3\3\4\6"+ + "\4\u00d4\n\4\r\4\16\4\u00d5\3\5\3\5\3\6\5\6\u00db\n\6\3\6\5\6\u00de\n"+ + "\6\3\6\3\6\3\6\3\6\5\6\u00e4\n\6\3\6\3\6\5\6\u00e8\n\6\3\7\3\7\3\7\3\7"+ + "\6\7\u00ee\n\7\r\7\16\7\u00ef\3\7\3\7\3\7\6\7\u00f5\n\7\r\7\16\7\u00f6"+ + "\3\7\3\7\5\7\u00fb\n\7\3\b\3\b\3\b\3\b\6\b\u0101\n\b\r\b\16\b\u0102\3"+ + "\b\3\b\3\b\6\b\u0108\n\b\r\b\16\b\u0109\3\b\3\b\5\b\u010e\n\b\3\t\3\t"+ + "\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3"+ + "\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t"+ + "\3\t\3\t\3\t\3\t\3\t\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3"+ + "\17\3\17\3\20\3\20\3\21\3\21\3\22\3\22\3\23\3\23\3\24\3\24\3\25\3\25\3"+ + "\26\3\26\3\27\3\27\3\30\3\30\3\31\3\31\3\32\3\32\3\33\3\33\3\34\3\34\3"+ + "\35\3\35\3\36\3\36\3\37\3\37\3 \3 \3!\3!\3\"\3\"\3#\3#\3$\3$\3%\3%\3%"+ + "\3&\3&\3&\3\'\3\'\3(\3(\3)\3)\3*\3*\3+\3+\3+\3,\3,\3,\3-\3-\3.\3.\3/\3"+ + "/\3\60\3\60\3\61\3\61\3\62\3\62\3\63\3\63\3\64\3\64\3\65\3\65\3\66\3\66"+ + "\3\66\3\67\3\67\3\67\3\67\38\38\38\39\39\3:\3:\3:\3:\5:\u01a7\n:\3;\3"+ + ";\3<\3<\3<\3=\3=\3>\3>\3>\3?\3?\3@\3@\3A\3A\3B\3B\3C\3C\3D\3D\3E\3E\3"+ + "F\3F\3G\3G\3H\3H\3I\3I\3J\3J\3K\3K\3L\3L\3M\3M\3M\3M\4\u009e\u00a4\2N"+ + "\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23\2\25\2\27\2\31\2\33\2\35\2\37\2"+ + "!\2#\2%\2\'\2)\2+\2-\2/\2\61\2\63\2\65\2\67\29\2;\2=\2?\2A\2C\2E\2G\2"+ + "I\13K\fM\rO\16Q\17S\20U\21W\22Y\23[\24]\25_\26a\27c\30e\31g\32i\33k\34"+ + "m\35o\36q\37s u!w\"y#{$}%\177&\u0081\'\u0083(\u0085)\u0087*\u0089+\u008b"+ + ",\u008d-\u008f.\u0091/\u0093\60\u0095\61\u0097\62\u0099\63\3\2#\7\2&&"+ + "\62;C\\aac|\6\2&&C\\aac|\3\2bb\4\2$$^^\4\2))^^\3\2\62;\5\2\62;CHch\4\2"+ + "CCcc\4\2DDdd\4\2EEee\4\2FFff\4\2GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4"+ + "\2LLll\4\2MMmm\4\2NNnn\4\2OOoo\4\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4\2TTt"+ + "t\4\2UUuu\4\2VVvv\4\2WWww\4\2XXxx\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\||\2"+ + "\u01cf\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2"+ + "\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2\2\2\2I\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2"+ + "\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2["+ + "\3\2\2\2\2]\3\2\2\2\2_\3\2\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3\2"+ + "\2\2\2i\3\2\2\2\2k\3\2\2\2\2m\3\2\2\2\2o\3\2\2\2\2q\3\2\2\2\2s\3\2\2\2"+ + "\2u\3\2\2\2\2w\3\2\2\2\2y\3\2\2\2\2{\3\2\2\2\2}\3\2\2\2\2\177\3\2\2\2"+ + "\2\u0081\3\2\2\2\2\u0083\3\2\2\2\2\u0085\3\2\2\2\2\u0087\3\2\2\2\2\u0089"+ + "\3\2\2\2\2\u008b\3\2\2\2\2\u008d\3\2\2\2\2\u008f\3\2\2\2\2\u0091\3\2\2"+ + "\2\2\u0093\3\2\2\2\2\u0095\3\2\2\2\2\u0097\3\2\2\2\2\u0099\3\2\2\2\3\u00b4"+ + "\3\2\2\2\5\u00d0\3\2\2\2\7\u00d3\3\2\2\2\t\u00d7\3\2\2\2\13\u00da\3\2"+ + "\2\2\r\u00fa\3\2\2\2\17\u010d\3\2\2\2\21\u010f\3\2\2\2\23\u013a\3\2\2"+ + "\2\25\u013c\3\2\2\2\27\u013e\3\2\2\2\31\u0140\3\2\2\2\33\u0142\3\2\2\2"+ + "\35\u0144\3\2\2\2\37\u0146\3\2\2\2!\u0148\3\2\2\2#\u014a\3\2\2\2%\u014c"+ + "\3\2\2\2\'\u014e\3\2\2\2)\u0150\3\2\2\2+\u0152\3\2\2\2-\u0154\3\2\2\2"+ + "/\u0156\3\2\2\2\61\u0158\3\2\2\2\63\u015a\3\2\2\2\65\u015c\3\2\2\2\67"+ + "\u015e\3\2\2\29\u0160\3\2\2\2;\u0162\3\2\2\2=\u0164\3\2\2\2?\u0166\3\2"+ + "\2\2A\u0168\3\2\2\2C\u016a\3\2\2\2E\u016c\3\2\2\2G\u016e\3\2\2\2I\u0170"+ + "\3\2\2\2K\u0173\3\2\2\2M\u0176\3\2\2\2O\u0178\3\2\2\2Q\u017a\3\2\2\2S"+ + "\u017c\3\2\2\2U\u017e\3\2\2\2W\u0181\3\2\2\2Y\u0184\3\2\2\2[\u0186\3\2"+ + "\2\2]\u0188\3\2\2\2_\u018a\3\2\2\2a\u018c\3\2\2\2c\u018e\3\2\2\2e\u0190"+ + "\3\2\2\2g\u0192\3\2\2\2i\u0194\3\2\2\2k\u0196\3\2\2\2m\u0199\3\2\2\2o"+ + "\u019d\3\2\2\2q\u01a0\3\2\2\2s\u01a6\3\2\2\2u\u01a8\3\2\2\2w\u01aa\3\2"+ + "\2\2y\u01ad\3\2\2\2{\u01af\3\2\2\2}\u01b2\3\2\2\2\177\u01b4\3\2\2\2\u0081"+ + "\u01b6\3\2\2\2\u0083\u01b8\3\2\2\2\u0085\u01ba\3\2\2\2\u0087\u01bc\3\2"+ + "\2\2\u0089\u01be\3\2\2\2\u008b\u01c0\3\2\2\2\u008d\u01c2\3\2\2\2\u008f"+ + "\u01c4\3\2\2\2\u0091\u01c6\3\2\2\2\u0093\u01c8\3\2\2\2\u0095\u01ca\3\2"+ + "\2\2\u0097\u01cc\3\2\2\2\u0099\u01ce\3\2\2\2\u009b\u009d\t\2\2\2\u009c"+ + "\u009b\3\2\2\2\u009d\u00a0\3\2\2\2\u009e\u009f\3\2\2\2\u009e\u009c\3\2"+ + "\2\2\u009f\u00a2\3\2\2\2\u00a0\u009e\3\2\2\2\u00a1\u00a3\t\3\2\2\u00a2"+ + "\u00a1\3\2\2\2\u00a3\u00a4\3\2\2\2\u00a4\u00a5\3\2\2\2\u00a4\u00a2\3\2"+ + "\2\2\u00a5\u00a9\3\2\2\2\u00a6\u00a8\t\2\2\2\u00a7\u00a6\3\2\2\2\u00a8"+ + "\u00ab\3\2\2\2\u00a9\u00a7\3\2\2\2\u00a9\u00aa\3\2\2\2\u00aa\u00b5\3\2"+ + "\2\2\u00ab\u00a9\3\2\2\2\u00ac\u00ae\5\u0091I\2\u00ad\u00af\n\4\2\2\u00ae"+ + "\u00ad\3\2\2\2\u00af\u00b0\3\2\2\2\u00b0\u00ae\3\2\2\2\u00b0\u00b1\3\2"+ + "\2\2\u00b1\u00b2\3\2\2\2\u00b2\u00b3\5\u0091I\2\u00b3\u00b5\3\2\2\2\u00b4"+ + "\u009e\3\2\2\2\u00b4\u00ac\3\2\2\2\u00b5\4\3\2\2\2\u00b6\u00be\5\u008d"+ + "G\2\u00b7\u00b8\7^\2\2\u00b8\u00bd\13\2\2\2\u00b9\u00ba\7$\2\2\u00ba\u00bd"+ + "\7$\2\2\u00bb\u00bd\n\5\2\2\u00bc\u00b7\3\2\2\2\u00bc\u00b9\3\2\2\2\u00bc"+ + "\u00bb\3\2\2\2\u00bd\u00c0\3\2\2\2\u00be\u00bc\3\2\2\2\u00be\u00bf\3\2"+ + "\2\2\u00bf\u00c1\3\2\2\2\u00c0\u00be\3\2\2\2\u00c1\u00c2\5\u008dG\2\u00c2"+ + "\u00d1\3\2\2\2\u00c3\u00cb\5\u008fH\2\u00c4\u00c5\7^\2\2\u00c5\u00ca\13"+ + "\2\2\2\u00c6\u00c7\7)\2\2\u00c7\u00ca\7)\2\2\u00c8\u00ca\n\6\2\2\u00c9"+ + "\u00c4\3\2\2\2\u00c9\u00c6\3\2\2\2\u00c9\u00c8\3\2\2\2\u00ca\u00cd\3\2"+ + "\2\2\u00cb\u00c9\3\2\2\2\u00cb\u00cc\3\2\2\2\u00cc\u00ce\3\2\2\2\u00cd"+ + "\u00cb\3\2\2\2\u00ce\u00cf\5\u008fH\2\u00cf\u00d1\3\2\2\2\u00d0\u00b6"+ + "\3\2\2\2\u00d0\u00c3\3\2\2\2\u00d1\6\3\2\2\2\u00d2\u00d4\t\7\2\2\u00d3"+ + "\u00d2\3\2\2\2\u00d4\u00d5\3\2\2\2\u00d5\u00d3\3\2\2\2\u00d5\u00d6\3\2"+ + "\2\2\u00d6\b\3\2\2\2\u00d7\u00d8\t\b\2\2\u00d8\n\3\2\2\2\u00d9\u00db\5"+ + "\7\4\2\u00da\u00d9\3\2\2\2\u00da\u00db\3\2\2\2\u00db\u00dd\3\2\2\2\u00dc"+ + "\u00de\5i\65\2\u00dd\u00dc\3\2\2\2\u00dd\u00de\3\2\2\2\u00de\u00df\3\2"+ + "\2\2\u00df\u00e7\5\7\4\2\u00e0\u00e3\5\33\16\2\u00e1\u00e4\5_\60\2\u00e2"+ + "\u00e4\5a\61\2\u00e3\u00e1\3\2\2\2\u00e3\u00e2\3\2\2\2\u00e3\u00e4\3\2"+ + "\2\2\u00e4\u00e5\3\2\2\2\u00e5\u00e6\5\7\4\2\u00e6\u00e8\3\2\2\2\u00e7"+ + "\u00e0\3\2\2\2\u00e7\u00e8\3\2\2\2\u00e8\f\3\2\2\2\u00e9\u00ea\7\62\2"+ + "\2\u00ea\u00eb\7z\2\2\u00eb\u00ed\3\2\2\2\u00ec\u00ee\5\t\5\2\u00ed\u00ec"+ + "\3\2\2\2\u00ee\u00ef\3\2\2\2\u00ef\u00ed\3\2\2\2\u00ef\u00f0\3\2\2\2\u00f0"+ + "\u00fb\3\2\2\2\u00f1\u00f2\7Z\2\2\u00f2\u00f4\5\u008fH\2\u00f3\u00f5\5"+ + "\t\5\2\u00f4\u00f3\3\2\2\2\u00f5\u00f6\3\2\2\2\u00f6\u00f4\3\2\2\2\u00f6"+ + "\u00f7\3\2\2\2\u00f7\u00f8\3\2\2\2\u00f8\u00f9\5\u008fH\2\u00f9\u00fb"+ + "\3\2\2\2\u00fa\u00e9\3\2\2\2\u00fa\u00f1\3\2\2\2\u00fb\16\3\2\2\2\u00fc"+ + "\u00fd\7\62\2\2\u00fd\u00fe\7d\2\2\u00fe\u0100\3\2\2\2\u00ff\u0101\4\62"+ + "\63\2\u0100\u00ff\3\2\2\2\u0101\u0102\3\2\2\2\u0102\u0100\3\2\2\2\u0102"+ + "\u0103\3\2\2\2\u0103\u010e\3\2\2\2\u0104\u0105\5\25\13\2\u0105\u0107\5"+ + "\u008fH\2\u0106\u0108\4\62\63\2\u0107\u0106\3\2\2\2\u0108\u0109\3\2\2"+ + "\2\u0109\u0107\3\2\2\2\u0109\u010a\3\2\2\2\u010a\u010b\3\2\2\2\u010b\u010c"+ + "\5\u008fH\2\u010c\u010e\3\2\2\2\u010d\u00fc\3\2\2\2\u010d\u0104\3\2\2"+ + "\2\u010e\20\3\2\2\2\u010f\u0110\7F\2\2\u0110\u0111\7Q\2\2\u0111\u0112"+ + "\7\"\2\2\u0112\u0113\7P\2\2\u0113\u0114\7Q\2\2\u0114\u0115\7V\2\2\u0115"+ + "\u0116\7\"\2\2\u0116\u0117\7O\2\2\u0117\u0118\7C\2\2\u0118\u0119\7V\2"+ + "\2\u0119\u011a\7E\2\2\u011a\u011b\7J\2\2\u011b\u011c\7\"\2\2\u011c\u011d"+ + "\7C\2\2\u011d\u011e\7P\2\2\u011e\u011f\7[\2\2\u011f\u0120\7\"\2\2\u0120"+ + "\u0121\7V\2\2\u0121\u0122\7J\2\2\u0122\u0123\7K\2\2\u0123\u0124\7P\2\2"+ + "\u0124\u0125\7I\2\2\u0125\u0126\7.\2\2\u0126\u0127\7\"\2\2\u0127\u0128"+ + "\7L\2\2\u0128\u0129\7W\2\2\u0129\u012a\7U\2\2\u012a\u012b\7V\2\2\u012b"+ + "\u012c\7\"\2\2\u012c\u012d\7H\2\2\u012d\u012e\7Q\2\2\u012e\u012f\7T\2"+ + "\2\u012f\u0130\7\"\2\2\u0130\u0131\7I\2\2\u0131\u0132\7G\2\2\u0132\u0133"+ + "\7P\2\2\u0133\u0134\7G\2\2\u0134\u0135\7T\2\2\u0135\u0136\7C\2\2\u0136"+ + "\u0137\7V\2\2\u0137\u0138\7Q\2\2\u0138\u0139\7T\2\2\u0139\22\3\2\2\2\u013a"+ + "\u013b\t\t\2\2\u013b\24\3\2\2\2\u013c\u013d\t\n\2\2\u013d\26\3\2\2\2\u013e"+ + "\u013f\t\13\2\2\u013f\30\3\2\2\2\u0140\u0141\t\f\2\2\u0141\32\3\2\2\2"+ + "\u0142\u0143\t\r\2\2\u0143\34\3\2\2\2\u0144\u0145\t\16\2\2\u0145\36\3"+ + "\2\2\2\u0146\u0147\t\17\2\2\u0147 \3\2\2\2\u0148\u0149\t\20\2\2\u0149"+ + "\"\3\2\2\2\u014a\u014b\t\21\2\2\u014b$\3\2\2\2\u014c\u014d\t\22\2\2\u014d"+ + "&\3\2\2\2\u014e\u014f\t\23\2\2\u014f(\3\2\2\2\u0150\u0151\t\24\2\2\u0151"+ + "*\3\2\2\2\u0152\u0153\t\25\2\2\u0153,\3\2\2\2\u0154\u0155\t\26\2\2\u0155"+ + ".\3\2\2\2\u0156\u0157\t\27\2\2\u0157\60\3\2\2\2\u0158\u0159\t\30\2\2\u0159"+ + "\62\3\2\2\2\u015a\u015b\t\31\2\2\u015b\64\3\2\2\2\u015c\u015d\t\32\2\2"+ + "\u015d\66\3\2\2\2\u015e\u015f\t\33\2\2\u015f8\3\2\2\2\u0160\u0161\t\34"+ + "\2\2\u0161:\3\2\2\2\u0162\u0163\t\35\2\2\u0163<\3\2\2\2\u0164\u0165\t"+ + "\36\2\2\u0165>\3\2\2\2\u0166\u0167\t\37\2\2\u0167@\3\2\2\2\u0168\u0169"+ + "\t \2\2\u0169B\3\2\2\2\u016a\u016b\t!\2\2\u016bD\3\2\2\2\u016c\u016d\t"+ + "\"\2\2\u016dF\3\2\2\2\u016e\u016f\7a\2\2\u016fH\3\2\2\2\u0170\u0171\7"+ + "(\2\2\u0171\u0172\7(\2\2\u0172J\3\2\2\2\u0173\u0174\7~\2\2\u0174\u0175"+ + "\7~\2\2\u0175L\3\2\2\2\u0176\u0177\7#\2\2\u0177N\3\2\2\2\u0178\u0179\7"+ + "\u0080\2\2\u0179P\3\2\2\2\u017a\u017b\7~\2\2\u017bR\3\2\2\2\u017c\u017d"+ + "\7(\2\2\u017dT\3\2\2\2\u017e\u017f\7>\2\2\u017f\u0180\7>\2\2\u0180V\3"+ + "\2\2\2\u0181\u0182\7@\2\2\u0182\u0183\7@\2\2\u0183X\3\2\2\2\u0184\u0185"+ + "\7`\2\2\u0185Z\3\2\2\2\u0186\u0187\7\'\2\2\u0187\\\3\2\2\2\u0188\u0189"+ + "\7<\2\2\u0189^\3\2\2\2\u018a\u018b\7-\2\2\u018b`\3\2\2\2\u018c\u018d\7"+ + "/\2\2\u018db\3\2\2\2\u018e\u018f\7,\2\2\u018fd\3\2\2\2\u0190\u0191\7\61"+ + "\2\2\u0191f\3\2\2\2\u0192\u0193\7^\2\2\u0193h\3\2\2\2\u0194\u0195\7\60"+ + "\2\2\u0195j\3\2\2\2\u0196\u0197\7\60\2\2\u0197\u0198\7,\2\2\u0198l\3\2"+ + "\2\2\u0199\u019a\7>\2\2\u019a\u019b\7?\2\2\u019b\u019c\7@\2\2\u019cn\3"+ + "\2\2\2\u019d\u019e\7?\2\2\u019e\u019f\7?\2\2\u019fp\3\2\2\2\u01a0\u01a1"+ + "\7?\2\2\u01a1r\3\2\2\2\u01a2\u01a3\7>\2\2\u01a3\u01a7\7@\2\2\u01a4\u01a5"+ + "\7#\2\2\u01a5\u01a7\7?\2\2\u01a6\u01a2\3\2\2\2\u01a6\u01a4\3\2\2\2\u01a7"+ + "t\3\2\2\2\u01a8\u01a9\7@\2\2\u01a9v\3\2\2\2\u01aa\u01ab\7@\2\2\u01ab\u01ac"+ + "\7?\2\2\u01acx\3\2\2\2\u01ad\u01ae\7>\2\2\u01aez\3\2\2\2\u01af\u01b0\7"+ + ">\2\2\u01b0\u01b1\7?\2\2\u01b1|\3\2\2\2\u01b2\u01b3\7%\2\2\u01b3~\3\2"+ + "\2\2\u01b4\u01b5\7*\2\2\u01b5\u0080\3\2\2\2\u01b6\u01b7\7+\2\2\u01b7\u0082"+ + "\3\2\2\2\u01b8\u01b9\7}\2\2\u01b9\u0084\3\2\2\2\u01ba\u01bb\7\177\2\2"+ + "\u01bb\u0086\3\2\2\2\u01bc\u01bd\7]\2\2\u01bd\u0088\3\2\2\2\u01be\u01bf"+ + "\7_\2\2\u01bf\u008a\3\2\2\2\u01c0\u01c1\7.\2\2\u01c1\u008c\3\2\2\2\u01c2"+ + "\u01c3\7$\2\2\u01c3\u008e\3\2\2\2\u01c4\u01c5\7)\2\2\u01c5\u0090\3\2\2"+ + "\2\u01c6\u01c7\7b\2\2\u01c7\u0092\3\2\2\2\u01c8\u01c9\7A\2\2\u01c9\u0094"+ + "\3\2\2\2\u01ca\u01cb\7B\2\2\u01cb\u0096\3\2\2\2\u01cc\u01cd\7=\2\2\u01cd"+ + "\u0098\3\2\2\2\u01ce\u01cf\7/\2\2\u01cf\u01d0\7@\2\2\u01d0\u01d1\7@\2"+ + "\2\u01d1\u009a\3\2\2\2\31\2\u009e\u00a4\u00a9\u00b0\u00b4\u00bc\u00be"+ + "\u00c9\u00cb\u00d0\u00d5\u00da\u00dd\u00e3\u00e7\u00ef\u00f6\u00fa\u0102"+ + "\u0109\u010d\u01a6\2"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Literals.tokens b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Literals.tokens new file mode 100644 index 00000000..d01c01fa --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Literals.tokens @@ -0,0 +1,90 @@ +IDENTIFIER_=1 +STRING_=2 +INT_=3 +HEX_=4 +NUMBER_=5 +HEXDIGIT_=6 +BITNUM_=7 +FOR_GENERATOR=8 +AND_=9 +OR_=10 +NOT_=11 +TILDE_=12 +VERTICALBAR_=13 +AMPERSAND_=14 +SIGNEDLEFTSHIFT_=15 +SIGNEDRIGHTSHIFT_=16 +CARET_=17 +MOD_=18 +COLON_=19 +PLUS_=20 +MINUS_=21 +ASTERISK_=22 +SLASH_=23 +BACKSLASH_=24 +DOT_=25 +DOTASTERISK_=26 +SAFEEQ_=27 +DEQ_=28 +EQ_=29 +NEQ_=30 +GT_=31 +GTE_=32 +LT_=33 +LTE_=34 +POUND_=35 +LP_=36 +RP_=37 +LBE_=38 +RBE_=39 +LBT_=40 +RBT_=41 +COMMA_=42 +DQ_=43 +SQ_=44 +BQ_=45 +QUESTION_=46 +AT_=47 +SEMI_=48 +JSONSEPARATOR_=49 +'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=8 +'&&'=9 +'||'=10 +'!'=11 +'~'=12 +'|'=13 +'&'=14 +'<<'=15 +'>>'=16 +'^'=17 +'%'=18 +':'=19 +'+'=20 +'-'=21 +'*'=22 +'/'=23 +'\\'=24 +'.'=25 +'.*'=26 +'<=>'=27 +'=='=28 +'='=29 +'>'=31 +'>='=32 +'<'=33 +'<='=34 +'#'=35 +'('=36 +')'=37 +'{'=38 +'}'=39 +'['=40 +']'=41 +','=42 +'"'=43 +'\''=44 +'`'=45 +'?'=46 +'@'=47 +';'=48 +'->>'=49 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatement.interp b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatement.interp new file mode 100644 index 00000000..12fab528 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatement.interp @@ -0,0 +1,225 @@ +token literal names: +null +'&&' +'||' +'!' +'~' +'|' +'&' +'<<' +'>>' +'^' +'%' +':' +'+' +'-' +'*' +'/' +'\\' +'.' +'.*' +'<=>' +'==' +'=' +null +'>' +'>=' +'<' +'<=' +'#' +'(' +')' +'{' +'}' +'[' +']' +',' +'"' +'\'' +'`' +'?' +'@' +';' +'->>' +'_' +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +'DO NOT MATCH ANY THING, JUST FOR GENERATOR' +null +null +null +null +null +null +null + +token symbolic names: +null +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ +WS +CREATE +ALTER +DROP +SHOW +RESOURCE +RULE +FROM +ENCRYPT +TYPE +ENCRYPT_ALGORITHM +ASSISTED_QUERY_ALGORITHM +LIKE_QUERY_ALGORITHM +NAME +PROPERTIES +COLUMN +RULES +TABLE +COLUMNS +CIPHER +PLAIN +ASSISTED_QUERY_COLUMN +LIKE_QUERY_COLUMN +QUERY_WITH_CIPHER_COLUMN +TRUE +FALSE +DATA_TYPE +PLAIN_DATA_TYPE +CIPHER_DATA_TYPE +ASSISTED_QUERY_DATA_TYPE +LIKE_QUERY_DATA_TYPE +IF +EXISTS +COUNT +MD5 +AES +RC4 +SM3 +SM4 +CHAR_DIGEST_LIKE +NOT +FOR_GENERATOR +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ + +rule names: +createEncryptRule +alterEncryptRule +dropEncryptRule +encryptRuleDefinition +resourceDefinition +resourceName +encryptColumnDefinition +columnDefinition +columnName +dataType +plainColumnDefinition +plainColumnName +cipherColumnDefinition +cipherColumnName +assistedQueryColumnDefinition +assistedQueryColumnName +likeQueryColumnDefinition +likeQueryColumnName +encryptAlgorithm +assistedQueryAlgorithm +likeQueryAlgorithm +queryWithCipherColumn +ifExists +ifNotExists +literal +algorithmDefinition +algorithmTypeName +buildinAlgorithmTypeName +propertiesDefinition +properties +property +tableName + + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 93, 300, 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, 3, 2, 3, 2, 3, 2, 3, 2, 5, 2, 71, 10, 2, 3, 2, 3, 2, 3, 2, 7, 2, 76, 10, 2, 12, 2, 14, 2, 79, 11, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 87, 10, 3, 12, 3, 14, 3, 90, 11, 3, 3, 4, 3, 4, 3, 4, 3, 4, 5, 4, 96, 10, 4, 3, 4, 3, 4, 3, 4, 7, 4, 101, 10, 4, 12, 4, 14, 4, 104, 11, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 5, 5, 111, 10, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 7, 5, 118, 10, 5, 12, 5, 14, 5, 121, 11, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 5, 5, 128, 10, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 8, 5, 8, 142, 10, 8, 3, 8, 3, 8, 3, 8, 3, 8, 5, 8, 148, 10, 8, 3, 8, 3, 8, 5, 8, 152, 10, 8, 3, 8, 3, 8, 3, 8, 3, 8, 5, 8, 158, 10, 8, 3, 8, 3, 8, 5, 8, 162, 10, 8, 3, 8, 3, 8, 3, 8, 3, 8, 5, 8, 168, 10, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 5, 9, 179, 10, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 5, 12, 192, 10, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 5, 14, 203, 10, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 5, 16, 214, 10, 16, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 5, 18, 225, 10, 18, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 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, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 5, 26, 255, 10, 26, 3, 26, 3, 26, 3, 26, 5, 26, 260, 10, 26, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 5, 27, 269, 10, 27, 3, 27, 3, 27, 3, 28, 3, 28, 5, 28, 275, 10, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 30, 5, 30, 282, 10, 30, 3, 30, 3, 30, 3, 31, 3, 31, 3, 31, 7, 31, 289, 10, 31, 12, 31, 14, 31, 292, 11, 31, 3, 32, 3, 32, 3, 32, 3, 32, 3, 33, 3, 33, 3, 33, 2, 2, 34, 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, 2, 4, 3, 2, 69, 70, 3, 2, 79, 84, 2, 294, 2, 66, 3, 2, 2, 2, 4, 80, 3, 2, 2, 2, 6, 91, 3, 2, 2, 2, 8, 105, 3, 2, 2, 2, 10, 131, 3, 2, 2, 2, 12, 135, 3, 2, 2, 2, 14, 137, 3, 2, 2, 2, 16, 171, 3, 2, 2, 2, 18, 180, 3, 2, 2, 2, 20, 182, 3, 2, 2, 2, 22, 184, 3, 2, 2, 2, 24, 193, 3, 2, 2, 2, 26, 195, 3, 2, 2, 2, 28, 204, 3, 2, 2, 2, 30, 206, 3, 2, 2, 2, 32, 215, 3, 2, 2, 2, 34, 217, 3, 2, 2, 2, 36, 226, 3, 2, 2, 2, 38, 228, 3, 2, 2, 2, 40, 233, 3, 2, 2, 2, 42, 238, 3, 2, 2, 2, 44, 243, 3, 2, 2, 2, 46, 245, 3, 2, 2, 2, 48, 248, 3, 2, 2, 2, 50, 259, 3, 2, 2, 2, 52, 261, 3, 2, 2, 2, 54, 274, 3, 2, 2, 2, 56, 276, 3, 2, 2, 2, 58, 278, 3, 2, 2, 2, 60, 285, 3, 2, 2, 2, 62, 293, 3, 2, 2, 2, 64, 297, 3, 2, 2, 2, 66, 67, 7, 46, 2, 2, 67, 68, 7, 53, 2, 2, 68, 70, 7, 51, 2, 2, 69, 71, 5, 48, 25, 2, 70, 69, 3, 2, 2, 2, 70, 71, 3, 2, 2, 2, 71, 72, 3, 2, 2, 2, 72, 77, 5, 8, 5, 2, 73, 74, 7, 36, 2, 2, 74, 76, 5, 8, 5, 2, 75, 73, 3, 2, 2, 2, 76, 79, 3, 2, 2, 2, 77, 75, 3, 2, 2, 2, 77, 78, 3, 2, 2, 2, 78, 3, 3, 2, 2, 2, 79, 77, 3, 2, 2, 2, 80, 81, 7, 47, 2, 2, 81, 82, 7, 53, 2, 2, 82, 83, 7, 51, 2, 2, 83, 88, 5, 8, 5, 2, 84, 85, 7, 36, 2, 2, 85, 87, 5, 8, 5, 2, 86, 84, 3, 2, 2, 2, 87, 90, 3, 2, 2, 2, 88, 86, 3, 2, 2, 2, 88, 89, 3, 2, 2, 2, 89, 5, 3, 2, 2, 2, 90, 88, 3, 2, 2, 2, 91, 92, 7, 48, 2, 2, 92, 93, 7, 53, 2, 2, 93, 95, 7, 51, 2, 2, 94, 96, 5, 46, 24, 2, 95, 94, 3, 2, 2, 2, 95, 96, 3, 2, 2, 2, 96, 97, 3, 2, 2, 2, 97, 102, 5, 64, 33, 2, 98, 99, 7, 36, 2, 2, 99, 101, 5, 64, 33, 2, 100, 98, 3, 2, 2, 2, 101, 104, 3, 2, 2, 2, 102, 100, 3, 2, 2, 2, 102, 103, 3, 2, 2, 2, 103, 7, 3, 2, 2, 2, 104, 102, 3, 2, 2, 2, 105, 106, 5, 64, 33, 2, 106, 110, 7, 30, 2, 2, 107, 108, 5, 10, 6, 2, 108, 109, 7, 36, 2, 2, 109, 111, 3, 2, 2, 2, 110, 107, 3, 2, 2, 2, 110, 111, 3, 2, 2, 2, 111, 112, 3, 2, 2, 2, 112, 113, 7, 63, 2, 2, 113, 114, 7, 30, 2, 2, 114, 119, 5, 14, 8, 2, 115, 116, 7, 36, 2, 2, 116, 118, 5, 14, 8, 2, 117, 115, 3, 2, 2, 2, 118, 121, 3, 2, 2, 2, 119, 117, 3, 2, 2, 2, 119, 120, 3, 2, 2, 2, 120, 122, 3, 2, 2, 2, 121, 119, 3, 2, 2, 2, 122, 127, 7, 31, 2, 2, 123, 124, 7, 36, 2, 2, 124, 125, 7, 68, 2, 2, 125, 126, 7, 23, 2, 2, 126, 128, 5, 44, 23, 2, 127, 123, 3, 2, 2, 2, 127, 128, 3, 2, 2, 2, 128, 129, 3, 2, 2, 2, 129, 130, 7, 31, 2, 2, 130, 9, 3, 2, 2, 2, 131, 132, 7, 50, 2, 2, 132, 133, 7, 23, 2, 2, 133, 134, 5, 12, 7, 2, 134, 11, 3, 2, 2, 2, 135, 136, 7, 87, 2, 2, 136, 13, 3, 2, 2, 2, 137, 138, 7, 30, 2, 2, 138, 141, 5, 16, 9, 2, 139, 140, 7, 36, 2, 2, 140, 142, 5, 22, 12, 2, 141, 139, 3, 2, 2, 2, 141, 142, 3, 2, 2, 2, 142, 143, 3, 2, 2, 2, 143, 144, 7, 36, 2, 2, 144, 147, 5, 26, 14, 2, 145, 146, 7, 36, 2, 2, 146, 148, 5, 30, 16, 2, 147, 145, 3, 2, 2, 2, 147, 148, 3, 2, 2, 2, 148, 151, 3, 2, 2, 2, 149, 150, 7, 36, 2, 2, 150, 152, 5, 34, 18, 2, 151, 149, 3, 2, 2, 2, 151, 152, 3, 2, 2, 2, 152, 153, 3, 2, 2, 2, 153, 154, 7, 36, 2, 2, 154, 157, 5, 38, 20, 2, 155, 156, 7, 36, 2, 2, 156, 158, 5, 40, 21, 2, 157, 155, 3, 2, 2, 2, 157, 158, 3, 2, 2, 2, 158, 161, 3, 2, 2, 2, 159, 160, 7, 36, 2, 2, 160, 162, 5, 42, 22, 2, 161, 159, 3, 2, 2, 2, 161, 162, 3, 2, 2, 2, 162, 167, 3, 2, 2, 2, 163, 164, 7, 36, 2, 2, 164, 165, 7, 68, 2, 2, 165, 166, 7, 23, 2, 2, 166, 168, 5, 44, 23, 2, 167, 163, 3, 2, 2, 2, 167, 168, 3, 2, 2, 2, 168, 169, 3, 2, 2, 2, 169, 170, 7, 31, 2, 2, 170, 15, 3, 2, 2, 2, 171, 172, 7, 58, 2, 2, 172, 173, 7, 23, 2, 2, 173, 178, 5, 18, 10, 2, 174, 175, 7, 36, 2, 2, 175, 176, 7, 71, 2, 2, 176, 177, 7, 23, 2, 2, 177, 179, 5, 20, 11, 2, 178, 174, 3, 2, 2, 2, 178, 179, 3, 2, 2, 2, 179, 17, 3, 2, 2, 2, 180, 181, 7, 87, 2, 2, 181, 19, 3, 2, 2, 2, 182, 183, 7, 88, 2, 2, 183, 21, 3, 2, 2, 2, 184, 185, 7, 65, 2, 2, 185, 186, 7, 23, 2, 2, 186, 191, 5, 24, 13, 2, 187, 188, 7, 36, 2, 2, 188, 189, 7, 72, 2, 2, 189, 190, 7, 23, 2, 2, 190, 192, 5, 20, 11, 2, 191, 187, 3, 2, 2, 2, 191, 192, 3, 2, 2, 2, 192, 23, 3, 2, 2, 2, 193, 194, 7, 87, 2, 2, 194, 25, 3, 2, 2, 2, 195, 196, 7, 64, 2, 2, 196, 197, 7, 23, 2, 2, 197, 202, 5, 28, 15, 2, 198, 199, 7, 36, 2, 2, 199, 200, 7, 73, 2, 2, 200, 201, 7, 23, 2, 2, 201, 203, 5, 20, 11, 2, 202, 198, 3, 2, 2, 2, 202, 203, 3, 2, 2, 2, 203, 27, 3, 2, 2, 2, 204, 205, 7, 87, 2, 2, 205, 29, 3, 2, 2, 2, 206, 207, 7, 66, 2, 2, 207, 208, 7, 23, 2, 2, 208, 213, 5, 32, 17, 2, 209, 210, 7, 36, 2, 2, 210, 211, 7, 74, 2, 2, 211, 212, 7, 23, 2, 2, 212, 214, 5, 20, 11, 2, 213, 209, 3, 2, 2, 2, 213, 214, 3, 2, 2, 2, 214, 31, 3, 2, 2, 2, 215, 216, 7, 87, 2, 2, 216, 33, 3, 2, 2, 2, 217, 218, 7, 67, 2, 2, 218, 219, 7, 23, 2, 2, 219, 224, 5, 36, 19, 2, 220, 221, 7, 36, 2, 2, 221, 222, 7, 75, 2, 2, 222, 223, 7, 23, 2, 2, 223, 225, 5, 20, 11, 2, 224, 220, 3, 2, 2, 2, 224, 225, 3, 2, 2, 2, 225, 35, 3, 2, 2, 2, 226, 227, 7, 87, 2, 2, 227, 37, 3, 2, 2, 2, 228, 229, 7, 55, 2, 2, 229, 230, 7, 30, 2, 2, 230, 231, 5, 52, 27, 2, 231, 232, 7, 31, 2, 2, 232, 39, 3, 2, 2, 2, 233, 234, 7, 56, 2, 2, 234, 235, 7, 30, 2, 2, 235, 236, 5, 52, 27, 2, 236, 237, 7, 31, 2, 2, 237, 41, 3, 2, 2, 2, 238, 239, 7, 57, 2, 2, 239, 240, 7, 30, 2, 2, 240, 241, 5, 52, 27, 2, 241, 242, 7, 31, 2, 2, 242, 43, 3, 2, 2, 2, 243, 244, 9, 2, 2, 2, 244, 45, 3, 2, 2, 2, 245, 246, 7, 76, 2, 2, 246, 247, 7, 77, 2, 2, 247, 47, 3, 2, 2, 2, 248, 249, 7, 76, 2, 2, 249, 250, 7, 85, 2, 2, 250, 251, 7, 77, 2, 2, 251, 49, 3, 2, 2, 2, 252, 260, 7, 88, 2, 2, 253, 255, 7, 15, 2, 2, 254, 253, 3, 2, 2, 2, 254, 255, 3, 2, 2, 2, 255, 256, 3, 2, 2, 2, 256, 260, 7, 89, 2, 2, 257, 260, 7, 69, 2, 2, 258, 260, 7, 70, 2, 2, 259, 252, 3, 2, 2, 2, 259, 254, 3, 2, 2, 2, 259, 257, 3, 2, 2, 2, 259, 258, 3, 2, 2, 2, 260, 51, 3, 2, 2, 2, 261, 262, 7, 54, 2, 2, 262, 263, 7, 30, 2, 2, 263, 264, 7, 58, 2, 2, 264, 265, 7, 23, 2, 2, 265, 268, 5, 54, 28, 2, 266, 267, 7, 36, 2, 2, 267, 269, 5, 58, 30, 2, 268, 266, 3, 2, 2, 2, 268, 269, 3, 2, 2, 2, 269, 270, 3, 2, 2, 2, 270, 271, 7, 31, 2, 2, 271, 53, 3, 2, 2, 2, 272, 275, 5, 56, 29, 2, 273, 275, 7, 88, 2, 2, 274, 272, 3, 2, 2, 2, 274, 273, 3, 2, 2, 2, 275, 55, 3, 2, 2, 2, 276, 277, 9, 3, 2, 2, 277, 57, 3, 2, 2, 2, 278, 279, 7, 59, 2, 2, 279, 281, 7, 30, 2, 2, 280, 282, 5, 60, 31, 2, 281, 280, 3, 2, 2, 2, 281, 282, 3, 2, 2, 2, 282, 283, 3, 2, 2, 2, 283, 284, 7, 31, 2, 2, 284, 59, 3, 2, 2, 2, 285, 290, 5, 62, 32, 2, 286, 287, 7, 36, 2, 2, 287, 289, 5, 62, 32, 2, 288, 286, 3, 2, 2, 2, 289, 292, 3, 2, 2, 2, 290, 288, 3, 2, 2, 2, 290, 291, 3, 2, 2, 2, 291, 61, 3, 2, 2, 2, 292, 290, 3, 2, 2, 2, 293, 294, 7, 88, 2, 2, 294, 295, 7, 23, 2, 2, 295, 296, 5, 50, 26, 2, 296, 63, 3, 2, 2, 2, 297, 298, 7, 87, 2, 2, 298, 65, 3, 2, 2, 2, 27, 70, 77, 88, 95, 102, 110, 119, 127, 141, 147, 151, 157, 161, 167, 178, 191, 202, 213, 224, 254, 259, 268, 274, 281, 290] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatement.tokens b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatement.tokens new file mode 100644 index 00000000..00b61d0c --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatement.tokens @@ -0,0 +1,133 @@ +AND_=1 +OR_=2 +NOT_=3 +TILDE_=4 +VERTICALBAR_=5 +AMPERSAND_=6 +SIGNEDLEFTSHIFT_=7 +SIGNEDRIGHTSHIFT_=8 +CARET_=9 +MOD_=10 +COLON_=11 +PLUS_=12 +MINUS_=13 +ASTERISK_=14 +SLASH_=15 +BACKSLASH_=16 +DOT_=17 +DOTASTERISK_=18 +SAFEEQ_=19 +DEQ_=20 +EQ_=21 +NEQ_=22 +GT_=23 +GTE_=24 +LT_=25 +LTE_=26 +POUND_=27 +LP_=28 +RP_=29 +LBE_=30 +RBE_=31 +LBT_=32 +RBT_=33 +COMMA_=34 +DQ_=35 +SQ_=36 +BQ_=37 +QUESTION_=38 +AT_=39 +SEMI_=40 +JSONSEPARATOR_=41 +UL_=42 +WS=43 +CREATE=44 +ALTER=45 +DROP=46 +SHOW=47 +RESOURCE=48 +RULE=49 +FROM=50 +ENCRYPT=51 +TYPE=52 +ENCRYPT_ALGORITHM=53 +ASSISTED_QUERY_ALGORITHM=54 +LIKE_QUERY_ALGORITHM=55 +NAME=56 +PROPERTIES=57 +COLUMN=58 +RULES=59 +TABLE=60 +COLUMNS=61 +CIPHER=62 +PLAIN=63 +ASSISTED_QUERY_COLUMN=64 +LIKE_QUERY_COLUMN=65 +QUERY_WITH_CIPHER_COLUMN=66 +TRUE=67 +FALSE=68 +DATA_TYPE=69 +PLAIN_DATA_TYPE=70 +CIPHER_DATA_TYPE=71 +ASSISTED_QUERY_DATA_TYPE=72 +LIKE_QUERY_DATA_TYPE=73 +IF=74 +EXISTS=75 +COUNT=76 +MD5=77 +AES=78 +RC4=79 +SM3=80 +SM4=81 +CHAR_DIGEST_LIKE=82 +NOT=83 +FOR_GENERATOR=84 +IDENTIFIER_=85 +STRING_=86 +INT_=87 +HEX_=88 +NUMBER_=89 +HEXDIGIT_=90 +BITNUM_=91 +'&&'=1 +'||'=2 +'!'=3 +'~'=4 +'|'=5 +'&'=6 +'<<'=7 +'>>'=8 +'^'=9 +'%'=10 +':'=11 +'+'=12 +'-'=13 +'*'=14 +'/'=15 +'\\'=16 +'.'=17 +'.*'=18 +'<=>'=19 +'=='=20 +'='=21 +'>'=23 +'>='=24 +'<'=25 +'<='=26 +'#'=27 +'('=28 +')'=29 +'{'=30 +'}'=31 +'['=32 +']'=33 +','=34 +'"'=35 +'\''=36 +'`'=37 +'?'=38 +'@'=39 +';'=40 +'->>'=41 +'_'=42 +'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=84 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementLexer.interp b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementLexer.interp new file mode 100644 index 00000000..86422baa --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementLexer.interp @@ -0,0 +1,316 @@ +token literal names: +null +'&&' +'||' +'!' +'~' +'|' +'&' +'<<' +'>>' +'^' +'%' +':' +'+' +'-' +'*' +'/' +'\\' +'.' +'.*' +'<=>' +'==' +'=' +null +'>' +'>=' +'<' +'<=' +'#' +'(' +')' +'{' +'}' +'[' +']' +',' +'"' +'\'' +'`' +'?' +'@' +';' +'->>' +'_' +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +'DO NOT MATCH ANY THING, JUST FOR GENERATOR' +null +null +null +null +null +null +null + +token symbolic names: +null +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ +WS +CREATE +ALTER +DROP +SHOW +RESOURCE +RULE +FROM +ENCRYPT +TYPE +ENCRYPT_ALGORITHM +ASSISTED_QUERY_ALGORITHM +LIKE_QUERY_ALGORITHM +NAME +PROPERTIES +COLUMN +RULES +TABLE +COLUMNS +CIPHER +PLAIN +ASSISTED_QUERY_COLUMN +LIKE_QUERY_COLUMN +QUERY_WITH_CIPHER_COLUMN +TRUE +FALSE +DATA_TYPE +PLAIN_DATA_TYPE +CIPHER_DATA_TYPE +ASSISTED_QUERY_DATA_TYPE +LIKE_QUERY_DATA_TYPE +IF +EXISTS +COUNT +MD5 +AES +RC4 +SM3 +SM4 +CHAR_DIGEST_LIKE +NOT +FOR_GENERATOR +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ + +rule names: +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ +WS +CREATE +ALTER +DROP +SHOW +RESOURCE +RULE +FROM +ENCRYPT +TYPE +ENCRYPT_ALGORITHM +ASSISTED_QUERY_ALGORITHM +LIKE_QUERY_ALGORITHM +NAME +PROPERTIES +COLUMN +RULES +TABLE +COLUMNS +CIPHER +PLAIN +ASSISTED_QUERY_COLUMN +LIKE_QUERY_COLUMN +QUERY_WITH_CIPHER_COLUMN +TRUE +FALSE +DATA_TYPE +PLAIN_DATA_TYPE +CIPHER_DATA_TYPE +ASSISTED_QUERY_DATA_TYPE +LIKE_QUERY_DATA_TYPE +IF +EXISTS +COUNT +MD5 +AES +RC4 +SM3 +SM4 +CHAR_DIGEST_LIKE +NOT +FOR_GENERATOR +A +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y +Z +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 93, 952, 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, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 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, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 292, 10, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 44, 6, 44, 339, 10, 44, 13, 44, 14, 44, 340, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 75, 3, 75, 3, 75, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 78, 3, 78, 3, 78, 3, 78, 3, 79, 3, 79, 3, 79, 3, 79, 3, 80, 3, 80, 3, 80, 3, 80, 3, 81, 3, 81, 3, 81, 3, 81, 3, 82, 3, 82, 3, 82, 3, 82, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 84, 3, 84, 3, 84, 3, 84, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 86, 3, 86, 3, 87, 3, 87, 3, 88, 3, 88, 3, 89, 3, 89, 3, 90, 3, 90, 3, 91, 3, 91, 3, 92, 3, 92, 3, 93, 3, 93, 3, 94, 3, 94, 3, 95, 3, 95, 3, 96, 3, 96, 3, 97, 3, 97, 3, 98, 3, 98, 3, 99, 3, 99, 3, 100, 3, 100, 3, 101, 3, 101, 3, 102, 3, 102, 3, 103, 3, 103, 3, 104, 3, 104, 3, 105, 3, 105, 3, 106, 3, 106, 3, 107, 3, 107, 3, 108, 3, 108, 3, 109, 3, 109, 3, 110, 3, 110, 3, 111, 3, 111, 3, 112, 7, 112, 838, 10, 112, 12, 112, 14, 112, 841, 11, 112, 3, 112, 6, 112, 844, 10, 112, 13, 112, 14, 112, 845, 3, 112, 7, 112, 849, 10, 112, 12, 112, 14, 112, 852, 11, 112, 3, 112, 3, 112, 6, 112, 856, 10, 112, 13, 112, 14, 112, 857, 3, 112, 3, 112, 5, 112, 862, 10, 112, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 7, 113, 870, 10, 113, 12, 113, 14, 113, 873, 11, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 7, 113, 883, 10, 113, 12, 113, 14, 113, 886, 11, 113, 3, 113, 3, 113, 5, 113, 890, 10, 113, 3, 114, 6, 114, 893, 10, 114, 13, 114, 14, 114, 894, 3, 115, 3, 115, 3, 116, 5, 116, 900, 10, 116, 3, 116, 5, 116, 903, 10, 116, 3, 116, 3, 116, 3, 116, 3, 116, 5, 116, 909, 10, 116, 3, 116, 3, 116, 5, 116, 913, 10, 116, 3, 117, 3, 117, 3, 117, 3, 117, 6, 117, 919, 10, 117, 13, 117, 14, 117, 920, 3, 117, 3, 117, 3, 117, 6, 117, 926, 10, 117, 13, 117, 14, 117, 927, 3, 117, 3, 117, 5, 117, 932, 10, 117, 3, 118, 3, 118, 3, 118, 3, 118, 6, 118, 938, 10, 118, 13, 118, 14, 118, 939, 3, 118, 3, 118, 3, 118, 6, 118, 945, 10, 118, 13, 118, 14, 118, 946, 3, 118, 3, 118, 5, 118, 951, 10, 118, 4, 839, 845, 2, 119, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, 91, 47, 93, 48, 95, 49, 97, 50, 99, 51, 101, 52, 103, 53, 105, 54, 107, 55, 109, 56, 111, 57, 113, 58, 115, 59, 117, 60, 119, 61, 121, 62, 123, 63, 125, 64, 127, 65, 129, 66, 131, 67, 133, 68, 135, 69, 137, 70, 139, 71, 141, 72, 143, 73, 145, 74, 147, 75, 149, 76, 151, 77, 153, 78, 155, 79, 157, 80, 159, 81, 161, 82, 163, 83, 165, 84, 167, 85, 169, 86, 171, 2, 173, 2, 175, 2, 177, 2, 179, 2, 181, 2, 183, 2, 185, 2, 187, 2, 189, 2, 191, 2, 193, 2, 195, 2, 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, 87, 225, 88, 227, 89, 229, 90, 231, 91, 233, 92, 235, 93, 3, 2, 39, 5, 2, 11, 12, 15, 15, 34, 34, 3, 2, 55, 55, 3, 2, 54, 54, 3, 2, 53, 53, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 7, 2, 38, 38, 50, 59, 67, 92, 97, 97, 99, 124, 6, 2, 38, 38, 67, 92, 97, 97, 99, 124, 3, 2, 98, 98, 4, 2, 36, 36, 94, 94, 4, 2, 41, 41, 94, 94, 3, 2, 50, 59, 5, 2, 50, 59, 67, 72, 99, 104, 2, 951, 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, 223, 3, 2, 2, 2, 2, 225, 3, 2, 2, 2, 2, 227, 3, 2, 2, 2, 2, 229, 3, 2, 2, 2, 2, 231, 3, 2, 2, 2, 2, 233, 3, 2, 2, 2, 2, 235, 3, 2, 2, 2, 3, 237, 3, 2, 2, 2, 5, 240, 3, 2, 2, 2, 7, 243, 3, 2, 2, 2, 9, 245, 3, 2, 2, 2, 11, 247, 3, 2, 2, 2, 13, 249, 3, 2, 2, 2, 15, 251, 3, 2, 2, 2, 17, 254, 3, 2, 2, 2, 19, 257, 3, 2, 2, 2, 21, 259, 3, 2, 2, 2, 23, 261, 3, 2, 2, 2, 25, 263, 3, 2, 2, 2, 27, 265, 3, 2, 2, 2, 29, 267, 3, 2, 2, 2, 31, 269, 3, 2, 2, 2, 33, 271, 3, 2, 2, 2, 35, 273, 3, 2, 2, 2, 37, 275, 3, 2, 2, 2, 39, 278, 3, 2, 2, 2, 41, 282, 3, 2, 2, 2, 43, 285, 3, 2, 2, 2, 45, 291, 3, 2, 2, 2, 47, 293, 3, 2, 2, 2, 49, 295, 3, 2, 2, 2, 51, 298, 3, 2, 2, 2, 53, 300, 3, 2, 2, 2, 55, 303, 3, 2, 2, 2, 57, 305, 3, 2, 2, 2, 59, 307, 3, 2, 2, 2, 61, 309, 3, 2, 2, 2, 63, 311, 3, 2, 2, 2, 65, 313, 3, 2, 2, 2, 67, 315, 3, 2, 2, 2, 69, 317, 3, 2, 2, 2, 71, 319, 3, 2, 2, 2, 73, 321, 3, 2, 2, 2, 75, 323, 3, 2, 2, 2, 77, 325, 3, 2, 2, 2, 79, 327, 3, 2, 2, 2, 81, 329, 3, 2, 2, 2, 83, 331, 3, 2, 2, 2, 85, 335, 3, 2, 2, 2, 87, 338, 3, 2, 2, 2, 89, 344, 3, 2, 2, 2, 91, 351, 3, 2, 2, 2, 93, 357, 3, 2, 2, 2, 95, 362, 3, 2, 2, 2, 97, 367, 3, 2, 2, 2, 99, 376, 3, 2, 2, 2, 101, 381, 3, 2, 2, 2, 103, 386, 3, 2, 2, 2, 105, 394, 3, 2, 2, 2, 107, 399, 3, 2, 2, 2, 109, 417, 3, 2, 2, 2, 111, 442, 3, 2, 2, 2, 113, 463, 3, 2, 2, 2, 115, 468, 3, 2, 2, 2, 117, 479, 3, 2, 2, 2, 119, 486, 3, 2, 2, 2, 121, 492, 3, 2, 2, 2, 123, 498, 3, 2, 2, 2, 125, 506, 3, 2, 2, 2, 127, 513, 3, 2, 2, 2, 129, 519, 3, 2, 2, 2, 131, 541, 3, 2, 2, 2, 133, 559, 3, 2, 2, 2, 135, 584, 3, 2, 2, 2, 137, 589, 3, 2, 2, 2, 139, 595, 3, 2, 2, 2, 141, 605, 3, 2, 2, 2, 143, 621, 3, 2, 2, 2, 145, 638, 3, 2, 2, 2, 147, 663, 3, 2, 2, 2, 149, 684, 3, 2, 2, 2, 151, 687, 3, 2, 2, 2, 153, 694, 3, 2, 2, 2, 155, 700, 3, 2, 2, 2, 157, 704, 3, 2, 2, 2, 159, 708, 3, 2, 2, 2, 161, 712, 3, 2, 2, 2, 163, 716, 3, 2, 2, 2, 165, 720, 3, 2, 2, 2, 167, 737, 3, 2, 2, 2, 169, 741, 3, 2, 2, 2, 171, 784, 3, 2, 2, 2, 173, 786, 3, 2, 2, 2, 175, 788, 3, 2, 2, 2, 177, 790, 3, 2, 2, 2, 179, 792, 3, 2, 2, 2, 181, 794, 3, 2, 2, 2, 183, 796, 3, 2, 2, 2, 185, 798, 3, 2, 2, 2, 187, 800, 3, 2, 2, 2, 189, 802, 3, 2, 2, 2, 191, 804, 3, 2, 2, 2, 193, 806, 3, 2, 2, 2, 195, 808, 3, 2, 2, 2, 197, 810, 3, 2, 2, 2, 199, 812, 3, 2, 2, 2, 201, 814, 3, 2, 2, 2, 203, 816, 3, 2, 2, 2, 205, 818, 3, 2, 2, 2, 207, 820, 3, 2, 2, 2, 209, 822, 3, 2, 2, 2, 211, 824, 3, 2, 2, 2, 213, 826, 3, 2, 2, 2, 215, 828, 3, 2, 2, 2, 217, 830, 3, 2, 2, 2, 219, 832, 3, 2, 2, 2, 221, 834, 3, 2, 2, 2, 223, 861, 3, 2, 2, 2, 225, 889, 3, 2, 2, 2, 227, 892, 3, 2, 2, 2, 229, 896, 3, 2, 2, 2, 231, 899, 3, 2, 2, 2, 233, 931, 3, 2, 2, 2, 235, 950, 3, 2, 2, 2, 237, 238, 7, 40, 2, 2, 238, 239, 7, 40, 2, 2, 239, 4, 3, 2, 2, 2, 240, 241, 7, 126, 2, 2, 241, 242, 7, 126, 2, 2, 242, 6, 3, 2, 2, 2, 243, 244, 7, 35, 2, 2, 244, 8, 3, 2, 2, 2, 245, 246, 7, 128, 2, 2, 246, 10, 3, 2, 2, 2, 247, 248, 7, 126, 2, 2, 248, 12, 3, 2, 2, 2, 249, 250, 7, 40, 2, 2, 250, 14, 3, 2, 2, 2, 251, 252, 7, 62, 2, 2, 252, 253, 7, 62, 2, 2, 253, 16, 3, 2, 2, 2, 254, 255, 7, 64, 2, 2, 255, 256, 7, 64, 2, 2, 256, 18, 3, 2, 2, 2, 257, 258, 7, 96, 2, 2, 258, 20, 3, 2, 2, 2, 259, 260, 7, 39, 2, 2, 260, 22, 3, 2, 2, 2, 261, 262, 7, 60, 2, 2, 262, 24, 3, 2, 2, 2, 263, 264, 7, 45, 2, 2, 264, 26, 3, 2, 2, 2, 265, 266, 7, 47, 2, 2, 266, 28, 3, 2, 2, 2, 267, 268, 7, 44, 2, 2, 268, 30, 3, 2, 2, 2, 269, 270, 7, 49, 2, 2, 270, 32, 3, 2, 2, 2, 271, 272, 7, 94, 2, 2, 272, 34, 3, 2, 2, 2, 273, 274, 7, 48, 2, 2, 274, 36, 3, 2, 2, 2, 275, 276, 7, 48, 2, 2, 276, 277, 7, 44, 2, 2, 277, 38, 3, 2, 2, 2, 278, 279, 7, 62, 2, 2, 279, 280, 7, 63, 2, 2, 280, 281, 7, 64, 2, 2, 281, 40, 3, 2, 2, 2, 282, 283, 7, 63, 2, 2, 283, 284, 7, 63, 2, 2, 284, 42, 3, 2, 2, 2, 285, 286, 7, 63, 2, 2, 286, 44, 3, 2, 2, 2, 287, 288, 7, 62, 2, 2, 288, 292, 7, 64, 2, 2, 289, 290, 7, 35, 2, 2, 290, 292, 7, 63, 2, 2, 291, 287, 3, 2, 2, 2, 291, 289, 3, 2, 2, 2, 292, 46, 3, 2, 2, 2, 293, 294, 7, 64, 2, 2, 294, 48, 3, 2, 2, 2, 295, 296, 7, 64, 2, 2, 296, 297, 7, 63, 2, 2, 297, 50, 3, 2, 2, 2, 298, 299, 7, 62, 2, 2, 299, 52, 3, 2, 2, 2, 300, 301, 7, 62, 2, 2, 301, 302, 7, 63, 2, 2, 302, 54, 3, 2, 2, 2, 303, 304, 7, 37, 2, 2, 304, 56, 3, 2, 2, 2, 305, 306, 7, 42, 2, 2, 306, 58, 3, 2, 2, 2, 307, 308, 7, 43, 2, 2, 308, 60, 3, 2, 2, 2, 309, 310, 7, 125, 2, 2, 310, 62, 3, 2, 2, 2, 311, 312, 7, 127, 2, 2, 312, 64, 3, 2, 2, 2, 313, 314, 7, 93, 2, 2, 314, 66, 3, 2, 2, 2, 315, 316, 7, 95, 2, 2, 316, 68, 3, 2, 2, 2, 317, 318, 7, 46, 2, 2, 318, 70, 3, 2, 2, 2, 319, 320, 7, 36, 2, 2, 320, 72, 3, 2, 2, 2, 321, 322, 7, 41, 2, 2, 322, 74, 3, 2, 2, 2, 323, 324, 7, 98, 2, 2, 324, 76, 3, 2, 2, 2, 325, 326, 7, 65, 2, 2, 326, 78, 3, 2, 2, 2, 327, 328, 7, 66, 2, 2, 328, 80, 3, 2, 2, 2, 329, 330, 7, 61, 2, 2, 330, 82, 3, 2, 2, 2, 331, 332, 7, 47, 2, 2, 332, 333, 7, 64, 2, 2, 333, 334, 7, 64, 2, 2, 334, 84, 3, 2, 2, 2, 335, 336, 7, 97, 2, 2, 336, 86, 3, 2, 2, 2, 337, 339, 9, 2, 2, 2, 338, 337, 3, 2, 2, 2, 339, 340, 3, 2, 2, 2, 340, 338, 3, 2, 2, 2, 340, 341, 3, 2, 2, 2, 341, 342, 3, 2, 2, 2, 342, 343, 8, 44, 2, 2, 343, 88, 3, 2, 2, 2, 344, 345, 5, 175, 88, 2, 345, 346, 5, 205, 103, 2, 346, 347, 5, 179, 90, 2, 347, 348, 5, 171, 86, 2, 348, 349, 5, 209, 105, 2, 349, 350, 5, 179, 90, 2, 350, 90, 3, 2, 2, 2, 351, 352, 5, 171, 86, 2, 352, 353, 5, 193, 97, 2, 353, 354, 5, 209, 105, 2, 354, 355, 5, 179, 90, 2, 355, 356, 5, 205, 103, 2, 356, 92, 3, 2, 2, 2, 357, 358, 5, 177, 89, 2, 358, 359, 5, 205, 103, 2, 359, 360, 5, 199, 100, 2, 360, 361, 5, 201, 101, 2, 361, 94, 3, 2, 2, 2, 362, 363, 5, 207, 104, 2, 363, 364, 5, 185, 93, 2, 364, 365, 5, 199, 100, 2, 365, 366, 5, 215, 108, 2, 366, 96, 3, 2, 2, 2, 367, 368, 5, 205, 103, 2, 368, 369, 5, 179, 90, 2, 369, 370, 5, 207, 104, 2, 370, 371, 5, 199, 100, 2, 371, 372, 5, 211, 106, 2, 372, 373, 5, 205, 103, 2, 373, 374, 5, 175, 88, 2, 374, 375, 5, 179, 90, 2, 375, 98, 3, 2, 2, 2, 376, 377, 5, 205, 103, 2, 377, 378, 5, 211, 106, 2, 378, 379, 5, 193, 97, 2, 379, 380, 5, 179, 90, 2, 380, 100, 3, 2, 2, 2, 381, 382, 5, 181, 91, 2, 382, 383, 5, 205, 103, 2, 383, 384, 5, 199, 100, 2, 384, 385, 5, 195, 98, 2, 385, 102, 3, 2, 2, 2, 386, 387, 5, 179, 90, 2, 387, 388, 5, 197, 99, 2, 388, 389, 5, 175, 88, 2, 389, 390, 5, 205, 103, 2, 390, 391, 5, 219, 110, 2, 391, 392, 5, 201, 101, 2, 392, 393, 5, 209, 105, 2, 393, 104, 3, 2, 2, 2, 394, 395, 5, 209, 105, 2, 395, 396, 5, 219, 110, 2, 396, 397, 5, 201, 101, 2, 397, 398, 5, 179, 90, 2, 398, 106, 3, 2, 2, 2, 399, 400, 5, 179, 90, 2, 400, 401, 5, 197, 99, 2, 401, 402, 5, 175, 88, 2, 402, 403, 5, 205, 103, 2, 403, 404, 5, 219, 110, 2, 404, 405, 5, 201, 101, 2, 405, 406, 5, 209, 105, 2, 406, 407, 5, 85, 43, 2, 407, 408, 5, 171, 86, 2, 408, 409, 5, 193, 97, 2, 409, 410, 5, 183, 92, 2, 410, 411, 5, 199, 100, 2, 411, 412, 5, 205, 103, 2, 412, 413, 5, 187, 94, 2, 413, 414, 5, 209, 105, 2, 414, 415, 5, 185, 93, 2, 415, 416, 5, 195, 98, 2, 416, 108, 3, 2, 2, 2, 417, 418, 5, 171, 86, 2, 418, 419, 5, 207, 104, 2, 419, 420, 5, 207, 104, 2, 420, 421, 5, 187, 94, 2, 421, 422, 5, 207, 104, 2, 422, 423, 5, 209, 105, 2, 423, 424, 5, 179, 90, 2, 424, 425, 5, 177, 89, 2, 425, 426, 5, 85, 43, 2, 426, 427, 5, 203, 102, 2, 427, 428, 5, 211, 106, 2, 428, 429, 5, 179, 90, 2, 429, 430, 5, 205, 103, 2, 430, 431, 5, 219, 110, 2, 431, 432, 5, 85, 43, 2, 432, 433, 5, 171, 86, 2, 433, 434, 5, 193, 97, 2, 434, 435, 5, 183, 92, 2, 435, 436, 5, 199, 100, 2, 436, 437, 5, 205, 103, 2, 437, 438, 5, 187, 94, 2, 438, 439, 5, 209, 105, 2, 439, 440, 5, 185, 93, 2, 440, 441, 5, 195, 98, 2, 441, 110, 3, 2, 2, 2, 442, 443, 5, 193, 97, 2, 443, 444, 5, 187, 94, 2, 444, 445, 5, 191, 96, 2, 445, 446, 5, 179, 90, 2, 446, 447, 5, 85, 43, 2, 447, 448, 5, 203, 102, 2, 448, 449, 5, 211, 106, 2, 449, 450, 5, 179, 90, 2, 450, 451, 5, 205, 103, 2, 451, 452, 5, 219, 110, 2, 452, 453, 5, 85, 43, 2, 453, 454, 5, 171, 86, 2, 454, 455, 5, 193, 97, 2, 455, 456, 5, 183, 92, 2, 456, 457, 5, 199, 100, 2, 457, 458, 5, 205, 103, 2, 458, 459, 5, 187, 94, 2, 459, 460, 5, 209, 105, 2, 460, 461, 5, 185, 93, 2, 461, 462, 5, 195, 98, 2, 462, 112, 3, 2, 2, 2, 463, 464, 5, 197, 99, 2, 464, 465, 5, 171, 86, 2, 465, 466, 5, 195, 98, 2, 466, 467, 5, 179, 90, 2, 467, 114, 3, 2, 2, 2, 468, 469, 5, 201, 101, 2, 469, 470, 5, 205, 103, 2, 470, 471, 5, 199, 100, 2, 471, 472, 5, 201, 101, 2, 472, 473, 5, 179, 90, 2, 473, 474, 5, 205, 103, 2, 474, 475, 5, 209, 105, 2, 475, 476, 5, 187, 94, 2, 476, 477, 5, 179, 90, 2, 477, 478, 5, 207, 104, 2, 478, 116, 3, 2, 2, 2, 479, 480, 5, 175, 88, 2, 480, 481, 5, 199, 100, 2, 481, 482, 5, 193, 97, 2, 482, 483, 5, 211, 106, 2, 483, 484, 5, 195, 98, 2, 484, 485, 5, 197, 99, 2, 485, 118, 3, 2, 2, 2, 486, 487, 5, 205, 103, 2, 487, 488, 5, 211, 106, 2, 488, 489, 5, 193, 97, 2, 489, 490, 5, 179, 90, 2, 490, 491, 5, 207, 104, 2, 491, 120, 3, 2, 2, 2, 492, 493, 5, 209, 105, 2, 493, 494, 5, 171, 86, 2, 494, 495, 5, 173, 87, 2, 495, 496, 5, 193, 97, 2, 496, 497, 5, 179, 90, 2, 497, 122, 3, 2, 2, 2, 498, 499, 5, 175, 88, 2, 499, 500, 5, 199, 100, 2, 500, 501, 5, 193, 97, 2, 501, 502, 5, 211, 106, 2, 502, 503, 5, 195, 98, 2, 503, 504, 5, 197, 99, 2, 504, 505, 5, 207, 104, 2, 505, 124, 3, 2, 2, 2, 506, 507, 5, 175, 88, 2, 507, 508, 5, 187, 94, 2, 508, 509, 5, 201, 101, 2, 509, 510, 5, 185, 93, 2, 510, 511, 5, 179, 90, 2, 511, 512, 5, 205, 103, 2, 512, 126, 3, 2, 2, 2, 513, 514, 5, 201, 101, 2, 514, 515, 5, 193, 97, 2, 515, 516, 5, 171, 86, 2, 516, 517, 5, 187, 94, 2, 517, 518, 5, 197, 99, 2, 518, 128, 3, 2, 2, 2, 519, 520, 5, 171, 86, 2, 520, 521, 5, 207, 104, 2, 521, 522, 5, 207, 104, 2, 522, 523, 5, 187, 94, 2, 523, 524, 5, 207, 104, 2, 524, 525, 5, 209, 105, 2, 525, 526, 5, 179, 90, 2, 526, 527, 5, 177, 89, 2, 527, 528, 5, 85, 43, 2, 528, 529, 5, 203, 102, 2, 529, 530, 5, 211, 106, 2, 530, 531, 5, 179, 90, 2, 531, 532, 5, 205, 103, 2, 532, 533, 5, 219, 110, 2, 533, 534, 5, 85, 43, 2, 534, 535, 5, 175, 88, 2, 535, 536, 5, 199, 100, 2, 536, 537, 5, 193, 97, 2, 537, 538, 5, 211, 106, 2, 538, 539, 5, 195, 98, 2, 539, 540, 5, 197, 99, 2, 540, 130, 3, 2, 2, 2, 541, 542, 5, 193, 97, 2, 542, 543, 5, 187, 94, 2, 543, 544, 5, 191, 96, 2, 544, 545, 5, 179, 90, 2, 545, 546, 5, 85, 43, 2, 546, 547, 5, 203, 102, 2, 547, 548, 5, 211, 106, 2, 548, 549, 5, 179, 90, 2, 549, 550, 5, 205, 103, 2, 550, 551, 5, 219, 110, 2, 551, 552, 5, 85, 43, 2, 552, 553, 5, 175, 88, 2, 553, 554, 5, 199, 100, 2, 554, 555, 5, 193, 97, 2, 555, 556, 5, 211, 106, 2, 556, 557, 5, 195, 98, 2, 557, 558, 5, 197, 99, 2, 558, 132, 3, 2, 2, 2, 559, 560, 5, 203, 102, 2, 560, 561, 5, 211, 106, 2, 561, 562, 5, 179, 90, 2, 562, 563, 5, 205, 103, 2, 563, 564, 5, 219, 110, 2, 564, 565, 5, 85, 43, 2, 565, 566, 5, 215, 108, 2, 566, 567, 5, 187, 94, 2, 567, 568, 5, 209, 105, 2, 568, 569, 5, 185, 93, 2, 569, 570, 5, 85, 43, 2, 570, 571, 5, 175, 88, 2, 571, 572, 5, 187, 94, 2, 572, 573, 5, 201, 101, 2, 573, 574, 5, 185, 93, 2, 574, 575, 5, 179, 90, 2, 575, 576, 5, 205, 103, 2, 576, 577, 5, 85, 43, 2, 577, 578, 5, 175, 88, 2, 578, 579, 5, 199, 100, 2, 579, 580, 5, 193, 97, 2, 580, 581, 5, 211, 106, 2, 581, 582, 5, 195, 98, 2, 582, 583, 5, 197, 99, 2, 583, 134, 3, 2, 2, 2, 584, 585, 5, 209, 105, 2, 585, 586, 5, 205, 103, 2, 586, 587, 5, 211, 106, 2, 587, 588, 5, 179, 90, 2, 588, 136, 3, 2, 2, 2, 589, 590, 5, 181, 91, 2, 590, 591, 5, 171, 86, 2, 591, 592, 5, 193, 97, 2, 592, 593, 5, 207, 104, 2, 593, 594, 5, 179, 90, 2, 594, 138, 3, 2, 2, 2, 595, 596, 5, 177, 89, 2, 596, 597, 5, 171, 86, 2, 597, 598, 5, 209, 105, 2, 598, 599, 5, 171, 86, 2, 599, 600, 5, 85, 43, 2, 600, 601, 5, 209, 105, 2, 601, 602, 5, 219, 110, 2, 602, 603, 5, 201, 101, 2, 603, 604, 5, 179, 90, 2, 604, 140, 3, 2, 2, 2, 605, 606, 5, 201, 101, 2, 606, 607, 5, 193, 97, 2, 607, 608, 5, 171, 86, 2, 608, 609, 5, 187, 94, 2, 609, 610, 5, 197, 99, 2, 610, 611, 5, 85, 43, 2, 611, 612, 5, 177, 89, 2, 612, 613, 5, 171, 86, 2, 613, 614, 5, 209, 105, 2, 614, 615, 5, 171, 86, 2, 615, 616, 5, 85, 43, 2, 616, 617, 5, 209, 105, 2, 617, 618, 5, 219, 110, 2, 618, 619, 5, 201, 101, 2, 619, 620, 5, 179, 90, 2, 620, 142, 3, 2, 2, 2, 621, 622, 5, 175, 88, 2, 622, 623, 5, 187, 94, 2, 623, 624, 5, 201, 101, 2, 624, 625, 5, 185, 93, 2, 625, 626, 5, 179, 90, 2, 626, 627, 5, 205, 103, 2, 627, 628, 5, 85, 43, 2, 628, 629, 5, 177, 89, 2, 629, 630, 5, 171, 86, 2, 630, 631, 5, 209, 105, 2, 631, 632, 5, 171, 86, 2, 632, 633, 5, 85, 43, 2, 633, 634, 5, 209, 105, 2, 634, 635, 5, 219, 110, 2, 635, 636, 5, 201, 101, 2, 636, 637, 5, 179, 90, 2, 637, 144, 3, 2, 2, 2, 638, 639, 5, 171, 86, 2, 639, 640, 5, 207, 104, 2, 640, 641, 5, 207, 104, 2, 641, 642, 5, 187, 94, 2, 642, 643, 5, 207, 104, 2, 643, 644, 5, 209, 105, 2, 644, 645, 5, 179, 90, 2, 645, 646, 5, 177, 89, 2, 646, 647, 5, 85, 43, 2, 647, 648, 5, 203, 102, 2, 648, 649, 5, 211, 106, 2, 649, 650, 5, 179, 90, 2, 650, 651, 5, 205, 103, 2, 651, 652, 5, 219, 110, 2, 652, 653, 5, 85, 43, 2, 653, 654, 5, 177, 89, 2, 654, 655, 5, 171, 86, 2, 655, 656, 5, 209, 105, 2, 656, 657, 5, 171, 86, 2, 657, 658, 5, 85, 43, 2, 658, 659, 5, 209, 105, 2, 659, 660, 5, 219, 110, 2, 660, 661, 5, 201, 101, 2, 661, 662, 5, 179, 90, 2, 662, 146, 3, 2, 2, 2, 663, 664, 5, 193, 97, 2, 664, 665, 5, 187, 94, 2, 665, 666, 5, 191, 96, 2, 666, 667, 5, 179, 90, 2, 667, 668, 5, 85, 43, 2, 668, 669, 5, 203, 102, 2, 669, 670, 5, 211, 106, 2, 670, 671, 5, 179, 90, 2, 671, 672, 5, 205, 103, 2, 672, 673, 5, 219, 110, 2, 673, 674, 5, 85, 43, 2, 674, 675, 5, 177, 89, 2, 675, 676, 5, 171, 86, 2, 676, 677, 5, 209, 105, 2, 677, 678, 5, 171, 86, 2, 678, 679, 5, 85, 43, 2, 679, 680, 5, 209, 105, 2, 680, 681, 5, 219, 110, 2, 681, 682, 5, 201, 101, 2, 682, 683, 5, 179, 90, 2, 683, 148, 3, 2, 2, 2, 684, 685, 5, 187, 94, 2, 685, 686, 5, 181, 91, 2, 686, 150, 3, 2, 2, 2, 687, 688, 5, 179, 90, 2, 688, 689, 5, 217, 109, 2, 689, 690, 5, 187, 94, 2, 690, 691, 5, 207, 104, 2, 691, 692, 5, 209, 105, 2, 692, 693, 5, 207, 104, 2, 693, 152, 3, 2, 2, 2, 694, 695, 5, 175, 88, 2, 695, 696, 5, 199, 100, 2, 696, 697, 5, 211, 106, 2, 697, 698, 5, 197, 99, 2, 698, 699, 5, 209, 105, 2, 699, 154, 3, 2, 2, 2, 700, 701, 5, 195, 98, 2, 701, 702, 5, 177, 89, 2, 702, 703, 9, 3, 2, 2, 703, 156, 3, 2, 2, 2, 704, 705, 5, 171, 86, 2, 705, 706, 5, 179, 90, 2, 706, 707, 5, 207, 104, 2, 707, 158, 3, 2, 2, 2, 708, 709, 5, 205, 103, 2, 709, 710, 5, 175, 88, 2, 710, 711, 9, 4, 2, 2, 711, 160, 3, 2, 2, 2, 712, 713, 5, 207, 104, 2, 713, 714, 5, 195, 98, 2, 714, 715, 9, 5, 2, 2, 715, 162, 3, 2, 2, 2, 716, 717, 5, 207, 104, 2, 717, 718, 5, 195, 98, 2, 718, 719, 9, 4, 2, 2, 719, 164, 3, 2, 2, 2, 720, 721, 5, 175, 88, 2, 721, 722, 5, 185, 93, 2, 722, 723, 5, 171, 86, 2, 723, 724, 5, 205, 103, 2, 724, 725, 5, 85, 43, 2, 725, 726, 5, 177, 89, 2, 726, 727, 5, 187, 94, 2, 727, 728, 5, 183, 92, 2, 728, 729, 5, 179, 90, 2, 729, 730, 5, 207, 104, 2, 730, 731, 5, 209, 105, 2, 731, 732, 5, 85, 43, 2, 732, 733, 5, 193, 97, 2, 733, 734, 5, 187, 94, 2, 734, 735, 5, 191, 96, 2, 735, 736, 5, 179, 90, 2, 736, 166, 3, 2, 2, 2, 737, 738, 5, 197, 99, 2, 738, 739, 5, 199, 100, 2, 739, 740, 5, 209, 105, 2, 740, 168, 3, 2, 2, 2, 741, 742, 7, 70, 2, 2, 742, 743, 7, 81, 2, 2, 743, 744, 7, 34, 2, 2, 744, 745, 7, 80, 2, 2, 745, 746, 7, 81, 2, 2, 746, 747, 7, 86, 2, 2, 747, 748, 7, 34, 2, 2, 748, 749, 7, 79, 2, 2, 749, 750, 7, 67, 2, 2, 750, 751, 7, 86, 2, 2, 751, 752, 7, 69, 2, 2, 752, 753, 7, 74, 2, 2, 753, 754, 7, 34, 2, 2, 754, 755, 7, 67, 2, 2, 755, 756, 7, 80, 2, 2, 756, 757, 7, 91, 2, 2, 757, 758, 7, 34, 2, 2, 758, 759, 7, 86, 2, 2, 759, 760, 7, 74, 2, 2, 760, 761, 7, 75, 2, 2, 761, 762, 7, 80, 2, 2, 762, 763, 7, 73, 2, 2, 763, 764, 7, 46, 2, 2, 764, 765, 7, 34, 2, 2, 765, 766, 7, 76, 2, 2, 766, 767, 7, 87, 2, 2, 767, 768, 7, 85, 2, 2, 768, 769, 7, 86, 2, 2, 769, 770, 7, 34, 2, 2, 770, 771, 7, 72, 2, 2, 771, 772, 7, 81, 2, 2, 772, 773, 7, 84, 2, 2, 773, 774, 7, 34, 2, 2, 774, 775, 7, 73, 2, 2, 775, 776, 7, 71, 2, 2, 776, 777, 7, 80, 2, 2, 777, 778, 7, 71, 2, 2, 778, 779, 7, 84, 2, 2, 779, 780, 7, 67, 2, 2, 780, 781, 7, 86, 2, 2, 781, 782, 7, 81, 2, 2, 782, 783, 7, 84, 2, 2, 783, 170, 3, 2, 2, 2, 784, 785, 9, 6, 2, 2, 785, 172, 3, 2, 2, 2, 786, 787, 9, 7, 2, 2, 787, 174, 3, 2, 2, 2, 788, 789, 9, 8, 2, 2, 789, 176, 3, 2, 2, 2, 790, 791, 9, 9, 2, 2, 791, 178, 3, 2, 2, 2, 792, 793, 9, 10, 2, 2, 793, 180, 3, 2, 2, 2, 794, 795, 9, 11, 2, 2, 795, 182, 3, 2, 2, 2, 796, 797, 9, 12, 2, 2, 797, 184, 3, 2, 2, 2, 798, 799, 9, 13, 2, 2, 799, 186, 3, 2, 2, 2, 800, 801, 9, 14, 2, 2, 801, 188, 3, 2, 2, 2, 802, 803, 9, 15, 2, 2, 803, 190, 3, 2, 2, 2, 804, 805, 9, 16, 2, 2, 805, 192, 3, 2, 2, 2, 806, 807, 9, 17, 2, 2, 807, 194, 3, 2, 2, 2, 808, 809, 9, 18, 2, 2, 809, 196, 3, 2, 2, 2, 810, 811, 9, 19, 2, 2, 811, 198, 3, 2, 2, 2, 812, 813, 9, 20, 2, 2, 813, 200, 3, 2, 2, 2, 814, 815, 9, 21, 2, 2, 815, 202, 3, 2, 2, 2, 816, 817, 9, 22, 2, 2, 817, 204, 3, 2, 2, 2, 818, 819, 9, 23, 2, 2, 819, 206, 3, 2, 2, 2, 820, 821, 9, 24, 2, 2, 821, 208, 3, 2, 2, 2, 822, 823, 9, 25, 2, 2, 823, 210, 3, 2, 2, 2, 824, 825, 9, 26, 2, 2, 825, 212, 3, 2, 2, 2, 826, 827, 9, 27, 2, 2, 827, 214, 3, 2, 2, 2, 828, 829, 9, 28, 2, 2, 829, 216, 3, 2, 2, 2, 830, 831, 9, 29, 2, 2, 831, 218, 3, 2, 2, 2, 832, 833, 9, 30, 2, 2, 833, 220, 3, 2, 2, 2, 834, 835, 9, 31, 2, 2, 835, 222, 3, 2, 2, 2, 836, 838, 9, 32, 2, 2, 837, 836, 3, 2, 2, 2, 838, 841, 3, 2, 2, 2, 839, 840, 3, 2, 2, 2, 839, 837, 3, 2, 2, 2, 840, 843, 3, 2, 2, 2, 841, 839, 3, 2, 2, 2, 842, 844, 9, 33, 2, 2, 843, 842, 3, 2, 2, 2, 844, 845, 3, 2, 2, 2, 845, 846, 3, 2, 2, 2, 845, 843, 3, 2, 2, 2, 846, 850, 3, 2, 2, 2, 847, 849, 9, 32, 2, 2, 848, 847, 3, 2, 2, 2, 849, 852, 3, 2, 2, 2, 850, 848, 3, 2, 2, 2, 850, 851, 3, 2, 2, 2, 851, 862, 3, 2, 2, 2, 852, 850, 3, 2, 2, 2, 853, 855, 5, 75, 38, 2, 854, 856, 10, 34, 2, 2, 855, 854, 3, 2, 2, 2, 856, 857, 3, 2, 2, 2, 857, 855, 3, 2, 2, 2, 857, 858, 3, 2, 2, 2, 858, 859, 3, 2, 2, 2, 859, 860, 5, 75, 38, 2, 860, 862, 3, 2, 2, 2, 861, 839, 3, 2, 2, 2, 861, 853, 3, 2, 2, 2, 862, 224, 3, 2, 2, 2, 863, 871, 5, 71, 36, 2, 864, 865, 7, 94, 2, 2, 865, 870, 11, 2, 2, 2, 866, 867, 7, 36, 2, 2, 867, 870, 7, 36, 2, 2, 868, 870, 10, 35, 2, 2, 869, 864, 3, 2, 2, 2, 869, 866, 3, 2, 2, 2, 869, 868, 3, 2, 2, 2, 870, 873, 3, 2, 2, 2, 871, 869, 3, 2, 2, 2, 871, 872, 3, 2, 2, 2, 872, 874, 3, 2, 2, 2, 873, 871, 3, 2, 2, 2, 874, 875, 5, 71, 36, 2, 875, 890, 3, 2, 2, 2, 876, 884, 5, 73, 37, 2, 877, 878, 7, 94, 2, 2, 878, 883, 11, 2, 2, 2, 879, 880, 7, 41, 2, 2, 880, 883, 7, 41, 2, 2, 881, 883, 10, 36, 2, 2, 882, 877, 3, 2, 2, 2, 882, 879, 3, 2, 2, 2, 882, 881, 3, 2, 2, 2, 883, 886, 3, 2, 2, 2, 884, 882, 3, 2, 2, 2, 884, 885, 3, 2, 2, 2, 885, 887, 3, 2, 2, 2, 886, 884, 3, 2, 2, 2, 887, 888, 5, 73, 37, 2, 888, 890, 3, 2, 2, 2, 889, 863, 3, 2, 2, 2, 889, 876, 3, 2, 2, 2, 890, 226, 3, 2, 2, 2, 891, 893, 9, 37, 2, 2, 892, 891, 3, 2, 2, 2, 893, 894, 3, 2, 2, 2, 894, 892, 3, 2, 2, 2, 894, 895, 3, 2, 2, 2, 895, 228, 3, 2, 2, 2, 896, 897, 9, 38, 2, 2, 897, 230, 3, 2, 2, 2, 898, 900, 5, 227, 114, 2, 899, 898, 3, 2, 2, 2, 899, 900, 3, 2, 2, 2, 900, 902, 3, 2, 2, 2, 901, 903, 5, 35, 18, 2, 902, 901, 3, 2, 2, 2, 902, 903, 3, 2, 2, 2, 903, 904, 3, 2, 2, 2, 904, 912, 5, 227, 114, 2, 905, 908, 5, 179, 90, 2, 906, 909, 5, 25, 13, 2, 907, 909, 5, 27, 14, 2, 908, 906, 3, 2, 2, 2, 908, 907, 3, 2, 2, 2, 908, 909, 3, 2, 2, 2, 909, 910, 3, 2, 2, 2, 910, 911, 5, 227, 114, 2, 911, 913, 3, 2, 2, 2, 912, 905, 3, 2, 2, 2, 912, 913, 3, 2, 2, 2, 913, 232, 3, 2, 2, 2, 914, 915, 7, 50, 2, 2, 915, 916, 7, 122, 2, 2, 916, 918, 3, 2, 2, 2, 917, 919, 5, 229, 115, 2, 918, 917, 3, 2, 2, 2, 919, 920, 3, 2, 2, 2, 920, 918, 3, 2, 2, 2, 920, 921, 3, 2, 2, 2, 921, 932, 3, 2, 2, 2, 922, 923, 7, 90, 2, 2, 923, 925, 5, 73, 37, 2, 924, 926, 5, 229, 115, 2, 925, 924, 3, 2, 2, 2, 926, 927, 3, 2, 2, 2, 927, 925, 3, 2, 2, 2, 927, 928, 3, 2, 2, 2, 928, 929, 3, 2, 2, 2, 929, 930, 5, 73, 37, 2, 930, 932, 3, 2, 2, 2, 931, 914, 3, 2, 2, 2, 931, 922, 3, 2, 2, 2, 932, 234, 3, 2, 2, 2, 933, 934, 7, 50, 2, 2, 934, 935, 7, 100, 2, 2, 935, 937, 3, 2, 2, 2, 936, 938, 4, 50, 51, 2, 937, 936, 3, 2, 2, 2, 938, 939, 3, 2, 2, 2, 939, 937, 3, 2, 2, 2, 939, 940, 3, 2, 2, 2, 940, 951, 3, 2, 2, 2, 941, 942, 5, 173, 87, 2, 942, 944, 5, 73, 37, 2, 943, 945, 4, 50, 51, 2, 944, 943, 3, 2, 2, 2, 945, 946, 3, 2, 2, 2, 946, 944, 3, 2, 2, 2, 946, 947, 3, 2, 2, 2, 947, 948, 3, 2, 2, 2, 948, 949, 5, 73, 37, 2, 949, 951, 3, 2, 2, 2, 950, 933, 3, 2, 2, 2, 950, 941, 3, 2, 2, 2, 951, 236, 3, 2, 2, 2, 26, 2, 291, 340, 839, 845, 850, 857, 861, 869, 871, 882, 884, 889, 894, 899, 902, 908, 912, 920, 927, 931, 939, 946, 950, 3, 8, 2, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementLexer.java b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementLexer.java new file mode 100644 index 00000000..0809d21d --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementLexer.java @@ -0,0 +1,495 @@ +// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/encrypt/RDLStatement.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.misc.*; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class RDLStatementLexer extends Lexer { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, + SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, + ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, + DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, + LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, + SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, + WS=43, CREATE=44, ALTER=45, DROP=46, SHOW=47, RESOURCE=48, RULE=49, FROM=50, + ENCRYPT=51, TYPE=52, ENCRYPT_ALGORITHM=53, ASSISTED_QUERY_ALGORITHM=54, + LIKE_QUERY_ALGORITHM=55, NAME=56, PROPERTIES=57, COLUMN=58, RULES=59, + TABLE=60, COLUMNS=61, CIPHER=62, PLAIN=63, ASSISTED_QUERY_COLUMN=64, LIKE_QUERY_COLUMN=65, + QUERY_WITH_CIPHER_COLUMN=66, TRUE=67, FALSE=68, DATA_TYPE=69, PLAIN_DATA_TYPE=70, + CIPHER_DATA_TYPE=71, ASSISTED_QUERY_DATA_TYPE=72, LIKE_QUERY_DATA_TYPE=73, + IF=74, EXISTS=75, COUNT=76, MD5=77, AES=78, RC4=79, SM3=80, SM4=81, CHAR_DIGEST_LIKE=82, + NOT=83, FOR_GENERATOR=84, IDENTIFIER_=85, STRING_=86, INT_=87, HEX_=88, + NUMBER_=89, HEXDIGIT_=90, BITNUM_=91; + public static String[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + + public static String[] modeNames = { + "DEFAULT_MODE" + }; + + private static String[] makeRuleNames() { + return new String[] { + "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", + "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", + "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", + "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", + "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", + "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "CREATE", "ALTER", "DROP", "SHOW", + "RESOURCE", "RULE", "FROM", "ENCRYPT", "TYPE", "ENCRYPT_ALGORITHM", "ASSISTED_QUERY_ALGORITHM", + "LIKE_QUERY_ALGORITHM", "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", + "COLUMNS", "CIPHER", "PLAIN", "ASSISTED_QUERY_COLUMN", "LIKE_QUERY_COLUMN", + "QUERY_WITH_CIPHER_COLUMN", "TRUE", "FALSE", "DATA_TYPE", "PLAIN_DATA_TYPE", + "CIPHER_DATA_TYPE", "ASSISTED_QUERY_DATA_TYPE", "LIKE_QUERY_DATA_TYPE", + "IF", "EXISTS", "COUNT", "MD5", "AES", "RC4", "SM3", "SM4", "CHAR_DIGEST_LIKE", + "NOT", "FOR_GENERATOR", "A", "B", "C", "D", "E", "F", "G", "H", "I", + "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", + "X", "Y", "Z", "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", + "BITNUM_" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", + "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", + "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", + "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", + "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", + "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", + "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", + "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", + "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", + "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "CREATE", + "ALTER", "DROP", "SHOW", "RESOURCE", "RULE", "FROM", "ENCRYPT", "TYPE", + "ENCRYPT_ALGORITHM", "ASSISTED_QUERY_ALGORITHM", "LIKE_QUERY_ALGORITHM", + "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", "COLUMNS", "CIPHER", + "PLAIN", "ASSISTED_QUERY_COLUMN", "LIKE_QUERY_COLUMN", "QUERY_WITH_CIPHER_COLUMN", + "TRUE", "FALSE", "DATA_TYPE", "PLAIN_DATA_TYPE", "CIPHER_DATA_TYPE", + "ASSISTED_QUERY_DATA_TYPE", "LIKE_QUERY_DATA_TYPE", "IF", "EXISTS", "COUNT", + "MD5", "AES", "RC4", "SM3", "SM4", "CHAR_DIGEST_LIKE", "NOT", "FOR_GENERATOR", + "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + + public RDLStatementLexer(CharStream input) { + super(input); + _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + @Override + public String getGrammarFileName() { return "RDLStatement.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public String[] getChannelNames() { return channelNames; } + + @Override + public String[] getModeNames() { return modeNames; } + + @Override + public ATN getATN() { return _ATN; } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2]\u03b8\b\1\4\2\t"+ + "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ + "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ + "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ + "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ + "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ + ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ + "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ + "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+ + "\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+ + "\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+ + "`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\4k\t"+ + "k\4l\tl\4m\tm\4n\tn\4o\to\4p\tp\4q\tq\4r\tr\4s\ts\4t\tt\4u\tu\4v\tv\3"+ + "\2\3\2\3\2\3\3\3\3\3\3\3\4\3\4\3\5\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\t"+ + "\3\t\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3\17\3\17\3\20\3"+ + "\20\3\21\3\21\3\22\3\22\3\23\3\23\3\23\3\24\3\24\3\24\3\24\3\25\3\25\3"+ + "\25\3\26\3\26\3\27\3\27\3\27\3\27\5\27\u0124\n\27\3\30\3\30\3\31\3\31"+ + "\3\31\3\32\3\32\3\33\3\33\3\33\3\34\3\34\3\35\3\35\3\36\3\36\3\37\3\37"+ + "\3 \3 \3!\3!\3\"\3\"\3#\3#\3$\3$\3%\3%\3&\3&\3\'\3\'\3(\3(\3)\3)\3*\3"+ + "*\3*\3*\3+\3+\3,\6,\u0153\n,\r,\16,\u0154\3,\3,\3-\3-\3-\3-\3-\3-\3-\3"+ + ".\3.\3.\3.\3.\3.\3/\3/\3/\3/\3/\3\60\3\60\3\60\3\60\3\60\3\61\3\61\3\61"+ + "\3\61\3\61\3\61\3\61\3\61\3\61\3\62\3\62\3\62\3\62\3\62\3\63\3\63\3\63"+ + "\3\63\3\63\3\64\3\64\3\64\3\64\3\64\3\64\3\64\3\64\3\65\3\65\3\65\3\65"+ + "\3\65\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66"+ + "\3\66\3\66\3\66\3\66\3\66\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67"+ + "\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67"+ + "\3\67\3\67\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\3"+ + "8\38\39\39\39\39\39\3:\3:\3:\3:\3:\3:\3:\3:\3:\3:\3:\3;\3;\3;\3;\3;\3"+ + ";\3;\3<\3<\3<\3<\3<\3<\3=\3=\3=\3=\3=\3=\3>\3>\3>\3>\3>\3>\3>\3>\3?\3"+ + "?\3?\3?\3?\3?\3?\3@\3@\3@\3@\3@\3@\3A\3A\3A\3A\3A\3A\3A\3A\3A\3A\3A\3"+ + "A\3A\3A\3A\3A\3A\3A\3A\3A\3A\3A\3B\3B\3B\3B\3B\3B\3B\3B\3B\3B\3B\3B\3"+ + "B\3B\3B\3B\3B\3B\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3"+ + "C\3C\3C\3C\3C\3C\3C\3C\3D\3D\3D\3D\3D\3E\3E\3E\3E\3E\3E\3F\3F\3F\3F\3"+ + "F\3F\3F\3F\3F\3F\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3H\3"+ + "H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3I\3I\3I\3I\3I\3I\3I\3"+ + "I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3J\3J\3J\3J\3J\3"+ + "J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3K\3K\3K\3L\3L\3L\3L\3"+ + "L\3L\3L\3M\3M\3M\3M\3M\3M\3N\3N\3N\3N\3O\3O\3O\3O\3P\3P\3P\3P\3Q\3Q\3"+ + "Q\3Q\3R\3R\3R\3R\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3"+ + "T\3T\3T\3T\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3"+ + "U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3"+ + "U\3V\3V\3W\3W\3X\3X\3Y\3Y\3Z\3Z\3[\3[\3\\\3\\\3]\3]\3^\3^\3_\3_\3`\3`"+ + "\3a\3a\3b\3b\3c\3c\3d\3d\3e\3e\3f\3f\3g\3g\3h\3h\3i\3i\3j\3j\3k\3k\3l"+ + "\3l\3m\3m\3n\3n\3o\3o\3p\7p\u0346\np\fp\16p\u0349\13p\3p\6p\u034c\np\r"+ + "p\16p\u034d\3p\7p\u0351\np\fp\16p\u0354\13p\3p\3p\6p\u0358\np\rp\16p\u0359"+ + "\3p\3p\5p\u035e\np\3q\3q\3q\3q\3q\3q\7q\u0366\nq\fq\16q\u0369\13q\3q\3"+ + "q\3q\3q\3q\3q\3q\3q\7q\u0373\nq\fq\16q\u0376\13q\3q\3q\5q\u037a\nq\3r"+ + "\6r\u037d\nr\rr\16r\u037e\3s\3s\3t\5t\u0384\nt\3t\5t\u0387\nt\3t\3t\3"+ + "t\3t\5t\u038d\nt\3t\3t\5t\u0391\nt\3u\3u\3u\3u\6u\u0397\nu\ru\16u\u0398"+ + "\3u\3u\3u\6u\u039e\nu\ru\16u\u039f\3u\3u\5u\u03a4\nu\3v\3v\3v\3v\6v\u03aa"+ + "\nv\rv\16v\u03ab\3v\3v\3v\6v\u03b1\nv\rv\16v\u03b2\3v\3v\5v\u03b7\nv\4"+ + "\u0347\u034d\2w\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r\31"+ + "\16\33\17\35\20\37\21!\22#\23%\24\'\25)\26+\27-\30/\31\61\32\63\33\65"+ + "\34\67\359\36;\37= ?!A\"C#E$G%I&K\'M(O)Q*S+U,W-Y.[/]\60_\61a\62c\63e\64"+ + "g\65i\66k\67m8o9q:s;u{?}@\177A\u0081B\u0083C\u0085D\u0087E\u0089"+ + "F\u008bG\u008dH\u008fI\u0091J\u0093K\u0095L\u0097M\u0099N\u009bO\u009d"+ + "P\u009fQ\u00a1R\u00a3S\u00a5T\u00a7U\u00a9V\u00ab\2\u00ad\2\u00af\2\u00b1"+ + "\2\u00b3\2\u00b5\2\u00b7\2\u00b9\2\u00bb\2\u00bd\2\u00bf\2\u00c1\2\u00c3"+ + "\2\u00c5\2\u00c7\2\u00c9\2\u00cb\2\u00cd\2\u00cf\2\u00d1\2\u00d3\2\u00d5"+ + "\2\u00d7\2\u00d9\2\u00db\2\u00dd\2\u00dfW\u00e1X\u00e3Y\u00e5Z\u00e7["+ + "\u00e9\\\u00eb]\3\2\'\5\2\13\f\17\17\"\"\3\2\67\67\3\2\66\66\3\2\65\65"+ + "\4\2CCcc\4\2DDdd\4\2EEee\4\2FFff\4\2GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2K"+ + "Kkk\4\2LLll\4\2MMmm\4\2NNnn\4\2OOoo\4\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4"+ + "\2TTtt\4\2UUuu\4\2VVvv\4\2WWww\4\2XXxx\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\"+ + "||\7\2&&\62;C\\aac|\6\2&&C\\aac|\3\2bb\4\2$$^^\4\2))^^\3\2\62;\5\2\62"+ + ";CHch\2\u03b7\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2"+ + "\2\2\2\r\3\2\2\2\2\17\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\31\3\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2"+ + "\2\2\2#\3\2\2\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2"+ + "\2\2/\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\29\3"+ + "\2\2\2\2;\3\2\2\2\2=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2"+ + "\2\2G\3\2\2\2\2I\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2"+ + "S\3\2\2\2\2U\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3"+ + "\2\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3\2\2\2\2i\3\2\2\2\2k\3\2\2"+ + "\2\2m\3\2\2\2\2o\3\2\2\2\2q\3\2\2\2\2s\3\2\2\2\2u\3\2\2\2\2w\3\2\2\2\2"+ + "y\3\2\2\2\2{\3\2\2\2\2}\3\2\2\2\2\177\3\2\2\2\2\u0081\3\2\2\2\2\u0083"+ + "\3\2\2\2\2\u0085\3\2\2\2\2\u0087\3\2\2\2\2\u0089\3\2\2\2\2\u008b\3\2\2"+ + "\2\2\u008d\3\2\2\2\2\u008f\3\2\2\2\2\u0091\3\2\2\2\2\u0093\3\2\2\2\2\u0095"+ + "\3\2\2\2\2\u0097\3\2\2\2\2\u0099\3\2\2\2\2\u009b\3\2\2\2\2\u009d\3\2\2"+ + "\2\2\u009f\3\2\2\2\2\u00a1\3\2\2\2\2\u00a3\3\2\2\2\2\u00a5\3\2\2\2\2\u00a7"+ + "\3\2\2\2\2\u00a9\3\2\2\2\2\u00df\3\2\2\2\2\u00e1\3\2\2\2\2\u00e3\3\2\2"+ + "\2\2\u00e5\3\2\2\2\2\u00e7\3\2\2\2\2\u00e9\3\2\2\2\2\u00eb\3\2\2\2\3\u00ed"+ + "\3\2\2\2\5\u00f0\3\2\2\2\7\u00f3\3\2\2\2\t\u00f5\3\2\2\2\13\u00f7\3\2"+ + "\2\2\r\u00f9\3\2\2\2\17\u00fb\3\2\2\2\21\u00fe\3\2\2\2\23\u0101\3\2\2"+ + "\2\25\u0103\3\2\2\2\27\u0105\3\2\2\2\31\u0107\3\2\2\2\33\u0109\3\2\2\2"+ + "\35\u010b\3\2\2\2\37\u010d\3\2\2\2!\u010f\3\2\2\2#\u0111\3\2\2\2%\u0113"+ + "\3\2\2\2\'\u0116\3\2\2\2)\u011a\3\2\2\2+\u011d\3\2\2\2-\u0123\3\2\2\2"+ + "/\u0125\3\2\2\2\61\u0127\3\2\2\2\63\u012a\3\2\2\2\65\u012c\3\2\2\2\67"+ + "\u012f\3\2\2\29\u0131\3\2\2\2;\u0133\3\2\2\2=\u0135\3\2\2\2?\u0137\3\2"+ + "\2\2A\u0139\3\2\2\2C\u013b\3\2\2\2E\u013d\3\2\2\2G\u013f\3\2\2\2I\u0141"+ + "\3\2\2\2K\u0143\3\2\2\2M\u0145\3\2\2\2O\u0147\3\2\2\2Q\u0149\3\2\2\2S"+ + "\u014b\3\2\2\2U\u014f\3\2\2\2W\u0152\3\2\2\2Y\u0158\3\2\2\2[\u015f\3\2"+ + "\2\2]\u0165\3\2\2\2_\u016a\3\2\2\2a\u016f\3\2\2\2c\u0178\3\2\2\2e\u017d"+ + "\3\2\2\2g\u0182\3\2\2\2i\u018a\3\2\2\2k\u018f\3\2\2\2m\u01a1\3\2\2\2o"+ + "\u01ba\3\2\2\2q\u01cf\3\2\2\2s\u01d4\3\2\2\2u\u01df\3\2\2\2w\u01e6\3\2"+ + "\2\2y\u01ec\3\2\2\2{\u01f2\3\2\2\2}\u01fa\3\2\2\2\177\u0201\3\2\2\2\u0081"+ + "\u0207\3\2\2\2\u0083\u021d\3\2\2\2\u0085\u022f\3\2\2\2\u0087\u0248\3\2"+ + "\2\2\u0089\u024d\3\2\2\2\u008b\u0253\3\2\2\2\u008d\u025d\3\2\2\2\u008f"+ + "\u026d\3\2\2\2\u0091\u027e\3\2\2\2\u0093\u0297\3\2\2\2\u0095\u02ac\3\2"+ + "\2\2\u0097\u02af\3\2\2\2\u0099\u02b6\3\2\2\2\u009b\u02bc\3\2\2\2\u009d"+ + "\u02c0\3\2\2\2\u009f\u02c4\3\2\2\2\u00a1\u02c8\3\2\2\2\u00a3\u02cc\3\2"+ + "\2\2\u00a5\u02d0\3\2\2\2\u00a7\u02e1\3\2\2\2\u00a9\u02e5\3\2\2\2\u00ab"+ + "\u0310\3\2\2\2\u00ad\u0312\3\2\2\2\u00af\u0314\3\2\2\2\u00b1\u0316\3\2"+ + "\2\2\u00b3\u0318\3\2\2\2\u00b5\u031a\3\2\2\2\u00b7\u031c\3\2\2\2\u00b9"+ + "\u031e\3\2\2\2\u00bb\u0320\3\2\2\2\u00bd\u0322\3\2\2\2\u00bf\u0324\3\2"+ + "\2\2\u00c1\u0326\3\2\2\2\u00c3\u0328\3\2\2\2\u00c5\u032a\3\2\2\2\u00c7"+ + "\u032c\3\2\2\2\u00c9\u032e\3\2\2\2\u00cb\u0330\3\2\2\2\u00cd\u0332\3\2"+ + "\2\2\u00cf\u0334\3\2\2\2\u00d1\u0336\3\2\2\2\u00d3\u0338\3\2\2\2\u00d5"+ + "\u033a\3\2\2\2\u00d7\u033c\3\2\2\2\u00d9\u033e\3\2\2\2\u00db\u0340\3\2"+ + "\2\2\u00dd\u0342\3\2\2\2\u00df\u035d\3\2\2\2\u00e1\u0379\3\2\2\2\u00e3"+ + "\u037c\3\2\2\2\u00e5\u0380\3\2\2\2\u00e7\u0383\3\2\2\2\u00e9\u03a3\3\2"+ + "\2\2\u00eb\u03b6\3\2\2\2\u00ed\u00ee\7(\2\2\u00ee\u00ef\7(\2\2\u00ef\4"+ + "\3\2\2\2\u00f0\u00f1\7~\2\2\u00f1\u00f2\7~\2\2\u00f2\6\3\2\2\2\u00f3\u00f4"+ + "\7#\2\2\u00f4\b\3\2\2\2\u00f5\u00f6\7\u0080\2\2\u00f6\n\3\2\2\2\u00f7"+ + "\u00f8\7~\2\2\u00f8\f\3\2\2\2\u00f9\u00fa\7(\2\2\u00fa\16\3\2\2\2\u00fb"+ + "\u00fc\7>\2\2\u00fc\u00fd\7>\2\2\u00fd\20\3\2\2\2\u00fe\u00ff\7@\2\2\u00ff"+ + "\u0100\7@\2\2\u0100\22\3\2\2\2\u0101\u0102\7`\2\2\u0102\24\3\2\2\2\u0103"+ + "\u0104\7\'\2\2\u0104\26\3\2\2\2\u0105\u0106\7<\2\2\u0106\30\3\2\2\2\u0107"+ + "\u0108\7-\2\2\u0108\32\3\2\2\2\u0109\u010a\7/\2\2\u010a\34\3\2\2\2\u010b"+ + "\u010c\7,\2\2\u010c\36\3\2\2\2\u010d\u010e\7\61\2\2\u010e \3\2\2\2\u010f"+ + "\u0110\7^\2\2\u0110\"\3\2\2\2\u0111\u0112\7\60\2\2\u0112$\3\2\2\2\u0113"+ + "\u0114\7\60\2\2\u0114\u0115\7,\2\2\u0115&\3\2\2\2\u0116\u0117\7>\2\2\u0117"+ + "\u0118\7?\2\2\u0118\u0119\7@\2\2\u0119(\3\2\2\2\u011a\u011b\7?\2\2\u011b"+ + "\u011c\7?\2\2\u011c*\3\2\2\2\u011d\u011e\7?\2\2\u011e,\3\2\2\2\u011f\u0120"+ + "\7>\2\2\u0120\u0124\7@\2\2\u0121\u0122\7#\2\2\u0122\u0124\7?\2\2\u0123"+ + "\u011f\3\2\2\2\u0123\u0121\3\2\2\2\u0124.\3\2\2\2\u0125\u0126\7@\2\2\u0126"+ + "\60\3\2\2\2\u0127\u0128\7@\2\2\u0128\u0129\7?\2\2\u0129\62\3\2\2\2\u012a"+ + "\u012b\7>\2\2\u012b\64\3\2\2\2\u012c\u012d\7>\2\2\u012d\u012e\7?\2\2\u012e"+ + "\66\3\2\2\2\u012f\u0130\7%\2\2\u01308\3\2\2\2\u0131\u0132\7*\2\2\u0132"+ + ":\3\2\2\2\u0133\u0134\7+\2\2\u0134<\3\2\2\2\u0135\u0136\7}\2\2\u0136>"+ + "\3\2\2\2\u0137\u0138\7\177\2\2\u0138@\3\2\2\2\u0139\u013a\7]\2\2\u013a"+ + "B\3\2\2\2\u013b\u013c\7_\2\2\u013cD\3\2\2\2\u013d\u013e\7.\2\2\u013eF"+ + "\3\2\2\2\u013f\u0140\7$\2\2\u0140H\3\2\2\2\u0141\u0142\7)\2\2\u0142J\3"+ + "\2\2\2\u0143\u0144\7b\2\2\u0144L\3\2\2\2\u0145\u0146\7A\2\2\u0146N\3\2"+ + "\2\2\u0147\u0148\7B\2\2\u0148P\3\2\2\2\u0149\u014a\7=\2\2\u014aR\3\2\2"+ + "\2\u014b\u014c\7/\2\2\u014c\u014d\7@\2\2\u014d\u014e\7@\2\2\u014eT\3\2"+ + "\2\2\u014f\u0150\7a\2\2\u0150V\3\2\2\2\u0151\u0153\t\2\2\2\u0152\u0151"+ + "\3\2\2\2\u0153\u0154\3\2\2\2\u0154\u0152\3\2\2\2\u0154\u0155\3\2\2\2\u0155"+ + "\u0156\3\2\2\2\u0156\u0157\b,\2\2\u0157X\3\2\2\2\u0158\u0159\5\u00afX"+ + "\2\u0159\u015a\5\u00cdg\2\u015a\u015b\5\u00b3Z\2\u015b\u015c\5\u00abV"+ + "\2\u015c\u015d\5\u00d1i\2\u015d\u015e\5\u00b3Z\2\u015eZ\3\2\2\2\u015f"+ + "\u0160\5\u00abV\2\u0160\u0161\5\u00c1a\2\u0161\u0162\5\u00d1i\2\u0162"+ + "\u0163\5\u00b3Z\2\u0163\u0164\5\u00cdg\2\u0164\\\3\2\2\2\u0165\u0166\5"+ + "\u00b1Y\2\u0166\u0167\5\u00cdg\2\u0167\u0168\5\u00c7d\2\u0168\u0169\5"+ + "\u00c9e\2\u0169^\3\2\2\2\u016a\u016b\5\u00cfh\2\u016b\u016c\5\u00b9]\2"+ + "\u016c\u016d\5\u00c7d\2\u016d\u016e\5\u00d7l\2\u016e`\3\2\2\2\u016f\u0170"+ + "\5\u00cdg\2\u0170\u0171\5\u00b3Z\2\u0171\u0172\5\u00cfh\2\u0172\u0173"+ + "\5\u00c7d\2\u0173\u0174\5\u00d3j\2\u0174\u0175\5\u00cdg\2\u0175\u0176"+ + "\5\u00afX\2\u0176\u0177\5\u00b3Z\2\u0177b\3\2\2\2\u0178\u0179\5\u00cd"+ + "g\2\u0179\u017a\5\u00d3j\2\u017a\u017b\5\u00c1a\2\u017b\u017c\5\u00b3"+ + "Z\2\u017cd\3\2\2\2\u017d\u017e\5\u00b5[\2\u017e\u017f\5\u00cdg\2\u017f"+ + "\u0180\5\u00c7d\2\u0180\u0181\5\u00c3b\2\u0181f\3\2\2\2\u0182\u0183\5"+ + "\u00b3Z\2\u0183\u0184\5\u00c5c\2\u0184\u0185\5\u00afX\2\u0185\u0186\5"+ + "\u00cdg\2\u0186\u0187\5\u00dbn\2\u0187\u0188\5\u00c9e\2\u0188\u0189\5"+ + "\u00d1i\2\u0189h\3\2\2\2\u018a\u018b\5\u00d1i\2\u018b\u018c\5\u00dbn\2"+ + "\u018c\u018d\5\u00c9e\2\u018d\u018e\5\u00b3Z\2\u018ej\3\2\2\2\u018f\u0190"+ + "\5\u00b3Z\2\u0190\u0191\5\u00c5c\2\u0191\u0192\5\u00afX\2\u0192\u0193"+ + "\5\u00cdg\2\u0193\u0194\5\u00dbn\2\u0194\u0195\5\u00c9e\2\u0195\u0196"+ + "\5\u00d1i\2\u0196\u0197\5U+\2\u0197\u0198\5\u00abV\2\u0198\u0199\5\u00c1"+ + "a\2\u0199\u019a\5\u00b7\\\2\u019a\u019b\5\u00c7d\2\u019b\u019c\5\u00cd"+ + "g\2\u019c\u019d\5\u00bb^\2\u019d\u019e\5\u00d1i\2\u019e\u019f\5\u00b9"+ + "]\2\u019f\u01a0\5\u00c3b\2\u01a0l\3\2\2\2\u01a1\u01a2\5\u00abV\2\u01a2"+ + "\u01a3\5\u00cfh\2\u01a3\u01a4\5\u00cfh\2\u01a4\u01a5\5\u00bb^\2\u01a5"+ + "\u01a6\5\u00cfh\2\u01a6\u01a7\5\u00d1i\2\u01a7\u01a8\5\u00b3Z\2\u01a8"+ + "\u01a9\5\u00b1Y\2\u01a9\u01aa\5U+\2\u01aa\u01ab\5\u00cbf\2\u01ab\u01ac"+ + "\5\u00d3j\2\u01ac\u01ad\5\u00b3Z\2\u01ad\u01ae\5\u00cdg\2\u01ae\u01af"+ + "\5\u00dbn\2\u01af\u01b0\5U+\2\u01b0\u01b1\5\u00abV\2\u01b1\u01b2\5\u00c1"+ + "a\2\u01b2\u01b3\5\u00b7\\\2\u01b3\u01b4\5\u00c7d\2\u01b4\u01b5\5\u00cd"+ + "g\2\u01b5\u01b6\5\u00bb^\2\u01b6\u01b7\5\u00d1i\2\u01b7\u01b8\5\u00b9"+ + "]\2\u01b8\u01b9\5\u00c3b\2\u01b9n\3\2\2\2\u01ba\u01bb\5\u00c1a\2\u01bb"+ + "\u01bc\5\u00bb^\2\u01bc\u01bd\5\u00bf`\2\u01bd\u01be\5\u00b3Z\2\u01be"+ + "\u01bf\5U+\2\u01bf\u01c0\5\u00cbf\2\u01c0\u01c1\5\u00d3j\2\u01c1\u01c2"+ + "\5\u00b3Z\2\u01c2\u01c3\5\u00cdg\2\u01c3\u01c4\5\u00dbn\2\u01c4\u01c5"+ + "\5U+\2\u01c5\u01c6\5\u00abV\2\u01c6\u01c7\5\u00c1a\2\u01c7\u01c8\5\u00b7"+ + "\\\2\u01c8\u01c9\5\u00c7d\2\u01c9\u01ca\5\u00cdg\2\u01ca\u01cb\5\u00bb"+ + "^\2\u01cb\u01cc\5\u00d1i\2\u01cc\u01cd\5\u00b9]\2\u01cd\u01ce\5\u00c3"+ + "b\2\u01cep\3\2\2\2\u01cf\u01d0\5\u00c5c\2\u01d0\u01d1\5\u00abV\2\u01d1"+ + "\u01d2\5\u00c3b\2\u01d2\u01d3\5\u00b3Z\2\u01d3r\3\2\2\2\u01d4\u01d5\5"+ + "\u00c9e\2\u01d5\u01d6\5\u00cdg\2\u01d6\u01d7\5\u00c7d\2\u01d7\u01d8\5"+ + "\u00c9e\2\u01d8\u01d9\5\u00b3Z\2\u01d9\u01da\5\u00cdg\2\u01da\u01db\5"+ + "\u00d1i\2\u01db\u01dc\5\u00bb^\2\u01dc\u01dd\5\u00b3Z\2\u01dd\u01de\5"+ + "\u00cfh\2\u01det\3\2\2\2\u01df\u01e0\5\u00afX\2\u01e0\u01e1\5\u00c7d\2"+ + "\u01e1\u01e2\5\u00c1a\2\u01e2\u01e3\5\u00d3j\2\u01e3\u01e4\5\u00c3b\2"+ + "\u01e4\u01e5\5\u00c5c\2\u01e5v\3\2\2\2\u01e6\u01e7\5\u00cdg\2\u01e7\u01e8"+ + "\5\u00d3j\2\u01e8\u01e9\5\u00c1a\2\u01e9\u01ea\5\u00b3Z\2\u01ea\u01eb"+ + "\5\u00cfh\2\u01ebx\3\2\2\2\u01ec\u01ed\5\u00d1i\2\u01ed\u01ee\5\u00ab"+ + "V\2\u01ee\u01ef\5\u00adW\2\u01ef\u01f0\5\u00c1a\2\u01f0\u01f1\5\u00b3"+ + "Z\2\u01f1z\3\2\2\2\u01f2\u01f3\5\u00afX\2\u01f3\u01f4\5\u00c7d\2\u01f4"+ + "\u01f5\5\u00c1a\2\u01f5\u01f6\5\u00d3j\2\u01f6\u01f7\5\u00c3b\2\u01f7"+ + "\u01f8\5\u00c5c\2\u01f8\u01f9\5\u00cfh\2\u01f9|\3\2\2\2\u01fa\u01fb\5"+ + "\u00afX\2\u01fb\u01fc\5\u00bb^\2\u01fc\u01fd\5\u00c9e\2\u01fd\u01fe\5"+ + "\u00b9]\2\u01fe\u01ff\5\u00b3Z\2\u01ff\u0200\5\u00cdg\2\u0200~\3\2\2\2"+ + "\u0201\u0202\5\u00c9e\2\u0202\u0203\5\u00c1a\2\u0203\u0204\5\u00abV\2"+ + "\u0204\u0205\5\u00bb^\2\u0205\u0206\5\u00c5c\2\u0206\u0080\3\2\2\2\u0207"+ + "\u0208\5\u00abV\2\u0208\u0209\5\u00cfh\2\u0209\u020a\5\u00cfh\2\u020a"+ + "\u020b\5\u00bb^\2\u020b\u020c\5\u00cfh\2\u020c\u020d\5\u00d1i\2\u020d"+ + "\u020e\5\u00b3Z\2\u020e\u020f\5\u00b1Y\2\u020f\u0210\5U+\2\u0210\u0211"+ + "\5\u00cbf\2\u0211\u0212\5\u00d3j\2\u0212\u0213\5\u00b3Z\2\u0213\u0214"+ + "\5\u00cdg\2\u0214\u0215\5\u00dbn\2\u0215\u0216\5U+\2\u0216\u0217\5\u00af"+ + "X\2\u0217\u0218\5\u00c7d\2\u0218\u0219\5\u00c1a\2\u0219\u021a\5\u00d3"+ + "j\2\u021a\u021b\5\u00c3b\2\u021b\u021c\5\u00c5c\2\u021c\u0082\3\2\2\2"+ + "\u021d\u021e\5\u00c1a\2\u021e\u021f\5\u00bb^\2\u021f\u0220\5\u00bf`\2"+ + "\u0220\u0221\5\u00b3Z\2\u0221\u0222\5U+\2\u0222\u0223\5\u00cbf\2\u0223"+ + "\u0224\5\u00d3j\2\u0224\u0225\5\u00b3Z\2\u0225\u0226\5\u00cdg\2\u0226"+ + "\u0227\5\u00dbn\2\u0227\u0228\5U+\2\u0228\u0229\5\u00afX\2\u0229\u022a"+ + "\5\u00c7d\2\u022a\u022b\5\u00c1a\2\u022b\u022c\5\u00d3j\2\u022c\u022d"+ + "\5\u00c3b\2\u022d\u022e\5\u00c5c\2\u022e\u0084\3\2\2\2\u022f\u0230\5\u00cb"+ + "f\2\u0230\u0231\5\u00d3j\2\u0231\u0232\5\u00b3Z\2\u0232\u0233\5\u00cd"+ + "g\2\u0233\u0234\5\u00dbn\2\u0234\u0235\5U+\2\u0235\u0236\5\u00d7l\2\u0236"+ + "\u0237\5\u00bb^\2\u0237\u0238\5\u00d1i\2\u0238\u0239\5\u00b9]\2\u0239"+ + "\u023a\5U+\2\u023a\u023b\5\u00afX\2\u023b\u023c\5\u00bb^\2\u023c\u023d"+ + "\5\u00c9e\2\u023d\u023e\5\u00b9]\2\u023e\u023f\5\u00b3Z\2\u023f\u0240"+ + "\5\u00cdg\2\u0240\u0241\5U+\2\u0241\u0242\5\u00afX\2\u0242\u0243\5\u00c7"+ + "d\2\u0243\u0244\5\u00c1a\2\u0244\u0245\5\u00d3j\2\u0245\u0246\5\u00c3"+ + "b\2\u0246\u0247\5\u00c5c\2\u0247\u0086\3\2\2\2\u0248\u0249\5\u00d1i\2"+ + "\u0249\u024a\5\u00cdg\2\u024a\u024b\5\u00d3j\2\u024b\u024c\5\u00b3Z\2"+ + "\u024c\u0088\3\2\2\2\u024d\u024e\5\u00b5[\2\u024e\u024f\5\u00abV\2\u024f"+ + "\u0250\5\u00c1a\2\u0250\u0251\5\u00cfh\2\u0251\u0252\5\u00b3Z\2\u0252"+ + "\u008a\3\2\2\2\u0253\u0254\5\u00b1Y\2\u0254\u0255\5\u00abV\2\u0255\u0256"+ + "\5\u00d1i\2\u0256\u0257\5\u00abV\2\u0257\u0258\5U+\2\u0258\u0259\5\u00d1"+ + "i\2\u0259\u025a\5\u00dbn\2\u025a\u025b\5\u00c9e\2\u025b\u025c\5\u00b3"+ + "Z\2\u025c\u008c\3\2\2\2\u025d\u025e\5\u00c9e\2\u025e\u025f\5\u00c1a\2"+ + "\u025f\u0260\5\u00abV\2\u0260\u0261\5\u00bb^\2\u0261\u0262\5\u00c5c\2"+ + "\u0262\u0263\5U+\2\u0263\u0264\5\u00b1Y\2\u0264\u0265\5\u00abV\2\u0265"+ + "\u0266\5\u00d1i\2\u0266\u0267\5\u00abV\2\u0267\u0268\5U+\2\u0268\u0269"+ + "\5\u00d1i\2\u0269\u026a\5\u00dbn\2\u026a\u026b\5\u00c9e\2\u026b\u026c"+ + "\5\u00b3Z\2\u026c\u008e\3\2\2\2\u026d\u026e\5\u00afX\2\u026e\u026f\5\u00bb"+ + "^\2\u026f\u0270\5\u00c9e\2\u0270\u0271\5\u00b9]\2\u0271\u0272\5\u00b3"+ + "Z\2\u0272\u0273\5\u00cdg\2\u0273\u0274\5U+\2\u0274\u0275\5\u00b1Y\2\u0275"+ + "\u0276\5\u00abV\2\u0276\u0277\5\u00d1i\2\u0277\u0278\5\u00abV\2\u0278"+ + "\u0279\5U+\2\u0279\u027a\5\u00d1i\2\u027a\u027b\5\u00dbn\2\u027b\u027c"+ + "\5\u00c9e\2\u027c\u027d\5\u00b3Z\2\u027d\u0090\3\2\2\2\u027e\u027f\5\u00ab"+ + "V\2\u027f\u0280\5\u00cfh\2\u0280\u0281\5\u00cfh\2\u0281\u0282\5\u00bb"+ + "^\2\u0282\u0283\5\u00cfh\2\u0283\u0284\5\u00d1i\2\u0284\u0285\5\u00b3"+ + "Z\2\u0285\u0286\5\u00b1Y\2\u0286\u0287\5U+\2\u0287\u0288\5\u00cbf\2\u0288"+ + "\u0289\5\u00d3j\2\u0289\u028a\5\u00b3Z\2\u028a\u028b\5\u00cdg\2\u028b"+ + "\u028c\5\u00dbn\2\u028c\u028d\5U+\2\u028d\u028e\5\u00b1Y\2\u028e\u028f"+ + "\5\u00abV\2\u028f\u0290\5\u00d1i\2\u0290\u0291\5\u00abV\2\u0291\u0292"+ + "\5U+\2\u0292\u0293\5\u00d1i\2\u0293\u0294\5\u00dbn\2\u0294\u0295\5\u00c9"+ + "e\2\u0295\u0296\5\u00b3Z\2\u0296\u0092\3\2\2\2\u0297\u0298\5\u00c1a\2"+ + "\u0298\u0299\5\u00bb^\2\u0299\u029a\5\u00bf`\2\u029a\u029b\5\u00b3Z\2"+ + "\u029b\u029c\5U+\2\u029c\u029d\5\u00cbf\2\u029d\u029e\5\u00d3j\2\u029e"+ + "\u029f\5\u00b3Z\2\u029f\u02a0\5\u00cdg\2\u02a0\u02a1\5\u00dbn\2\u02a1"+ + "\u02a2\5U+\2\u02a2\u02a3\5\u00b1Y\2\u02a3\u02a4\5\u00abV\2\u02a4\u02a5"+ + "\5\u00d1i\2\u02a5\u02a6\5\u00abV\2\u02a6\u02a7\5U+\2\u02a7\u02a8\5\u00d1"+ + "i\2\u02a8\u02a9\5\u00dbn\2\u02a9\u02aa\5\u00c9e\2\u02aa\u02ab\5\u00b3"+ + "Z\2\u02ab\u0094\3\2\2\2\u02ac\u02ad\5\u00bb^\2\u02ad\u02ae\5\u00b5[\2"+ + "\u02ae\u0096\3\2\2\2\u02af\u02b0\5\u00b3Z\2\u02b0\u02b1\5\u00d9m\2\u02b1"+ + "\u02b2\5\u00bb^\2\u02b2\u02b3\5\u00cfh\2\u02b3\u02b4\5\u00d1i\2\u02b4"+ + "\u02b5\5\u00cfh\2\u02b5\u0098\3\2\2\2\u02b6\u02b7\5\u00afX\2\u02b7\u02b8"+ + "\5\u00c7d\2\u02b8\u02b9\5\u00d3j\2\u02b9\u02ba\5\u00c5c\2\u02ba\u02bb"+ + "\5\u00d1i\2\u02bb\u009a\3\2\2\2\u02bc\u02bd\5\u00c3b\2\u02bd\u02be\5\u00b1"+ + "Y\2\u02be\u02bf\t\3\2\2\u02bf\u009c\3\2\2\2\u02c0\u02c1\5\u00abV\2\u02c1"+ + "\u02c2\5\u00b3Z\2\u02c2\u02c3\5\u00cfh\2\u02c3\u009e\3\2\2\2\u02c4\u02c5"+ + "\5\u00cdg\2\u02c5\u02c6\5\u00afX\2\u02c6\u02c7\t\4\2\2\u02c7\u00a0\3\2"+ + "\2\2\u02c8\u02c9\5\u00cfh\2\u02c9\u02ca\5\u00c3b\2\u02ca\u02cb\t\5\2\2"+ + "\u02cb\u00a2\3\2\2\2\u02cc\u02cd\5\u00cfh\2\u02cd\u02ce\5\u00c3b\2\u02ce"+ + "\u02cf\t\4\2\2\u02cf\u00a4\3\2\2\2\u02d0\u02d1\5\u00afX\2\u02d1\u02d2"+ + "\5\u00b9]\2\u02d2\u02d3\5\u00abV\2\u02d3\u02d4\5\u00cdg\2\u02d4\u02d5"+ + "\5U+\2\u02d5\u02d6\5\u00b1Y\2\u02d6\u02d7\5\u00bb^\2\u02d7\u02d8\5\u00b7"+ + "\\\2\u02d8\u02d9\5\u00b3Z\2\u02d9\u02da\5\u00cfh\2\u02da\u02db\5\u00d1"+ + "i\2\u02db\u02dc\5U+\2\u02dc\u02dd\5\u00c1a\2\u02dd\u02de\5\u00bb^\2\u02de"+ + "\u02df\5\u00bf`\2\u02df\u02e0\5\u00b3Z\2\u02e0\u00a6\3\2\2\2\u02e1\u02e2"+ + "\5\u00c5c\2\u02e2\u02e3\5\u00c7d\2\u02e3\u02e4\5\u00d1i\2\u02e4\u00a8"+ + "\3\2\2\2\u02e5\u02e6\7F\2\2\u02e6\u02e7\7Q\2\2\u02e7\u02e8\7\"\2\2\u02e8"+ + "\u02e9\7P\2\2\u02e9\u02ea\7Q\2\2\u02ea\u02eb\7V\2\2\u02eb\u02ec\7\"\2"+ + "\2\u02ec\u02ed\7O\2\2\u02ed\u02ee\7C\2\2\u02ee\u02ef\7V\2\2\u02ef\u02f0"+ + "\7E\2\2\u02f0\u02f1\7J\2\2\u02f1\u02f2\7\"\2\2\u02f2\u02f3\7C\2\2\u02f3"+ + "\u02f4\7P\2\2\u02f4\u02f5\7[\2\2\u02f5\u02f6\7\"\2\2\u02f6\u02f7\7V\2"+ + "\2\u02f7\u02f8\7J\2\2\u02f8\u02f9\7K\2\2\u02f9\u02fa\7P\2\2\u02fa\u02fb"+ + "\7I\2\2\u02fb\u02fc\7.\2\2\u02fc\u02fd\7\"\2\2\u02fd\u02fe\7L\2\2\u02fe"+ + "\u02ff\7W\2\2\u02ff\u0300\7U\2\2\u0300\u0301\7V\2\2\u0301\u0302\7\"\2"+ + "\2\u0302\u0303\7H\2\2\u0303\u0304\7Q\2\2\u0304\u0305\7T\2\2\u0305\u0306"+ + "\7\"\2\2\u0306\u0307\7I\2\2\u0307\u0308\7G\2\2\u0308\u0309\7P\2\2\u0309"+ + "\u030a\7G\2\2\u030a\u030b\7T\2\2\u030b\u030c\7C\2\2\u030c\u030d\7V\2\2"+ + "\u030d\u030e\7Q\2\2\u030e\u030f\7T\2\2\u030f\u00aa\3\2\2\2\u0310\u0311"+ + "\t\6\2\2\u0311\u00ac\3\2\2\2\u0312\u0313\t\7\2\2\u0313\u00ae\3\2\2\2\u0314"+ + "\u0315\t\b\2\2\u0315\u00b0\3\2\2\2\u0316\u0317\t\t\2\2\u0317\u00b2\3\2"+ + "\2\2\u0318\u0319\t\n\2\2\u0319\u00b4\3\2\2\2\u031a\u031b\t\13\2\2\u031b"+ + "\u00b6\3\2\2\2\u031c\u031d\t\f\2\2\u031d\u00b8\3\2\2\2\u031e\u031f\t\r"+ + "\2\2\u031f\u00ba\3\2\2\2\u0320\u0321\t\16\2\2\u0321\u00bc\3\2\2\2\u0322"+ + "\u0323\t\17\2\2\u0323\u00be\3\2\2\2\u0324\u0325\t\20\2\2\u0325\u00c0\3"+ + "\2\2\2\u0326\u0327\t\21\2\2\u0327\u00c2\3\2\2\2\u0328\u0329\t\22\2\2\u0329"+ + "\u00c4\3\2\2\2\u032a\u032b\t\23\2\2\u032b\u00c6\3\2\2\2\u032c\u032d\t"+ + "\24\2\2\u032d\u00c8\3\2\2\2\u032e\u032f\t\25\2\2\u032f\u00ca\3\2\2\2\u0330"+ + "\u0331\t\26\2\2\u0331\u00cc\3\2\2\2\u0332\u0333\t\27\2\2\u0333\u00ce\3"+ + "\2\2\2\u0334\u0335\t\30\2\2\u0335\u00d0\3\2\2\2\u0336\u0337\t\31\2\2\u0337"+ + "\u00d2\3\2\2\2\u0338\u0339\t\32\2\2\u0339\u00d4\3\2\2\2\u033a\u033b\t"+ + "\33\2\2\u033b\u00d6\3\2\2\2\u033c\u033d\t\34\2\2\u033d\u00d8\3\2\2\2\u033e"+ + "\u033f\t\35\2\2\u033f\u00da\3\2\2\2\u0340\u0341\t\36\2\2\u0341\u00dc\3"+ + "\2\2\2\u0342\u0343\t\37\2\2\u0343\u00de\3\2\2\2\u0344\u0346\t \2\2\u0345"+ + "\u0344\3\2\2\2\u0346\u0349\3\2\2\2\u0347\u0348\3\2\2\2\u0347\u0345\3\2"+ + "\2\2\u0348\u034b\3\2\2\2\u0349\u0347\3\2\2\2\u034a\u034c\t!\2\2\u034b"+ + "\u034a\3\2\2\2\u034c\u034d\3\2\2\2\u034d\u034e\3\2\2\2\u034d\u034b\3\2"+ + "\2\2\u034e\u0352\3\2\2\2\u034f\u0351\t \2\2\u0350\u034f\3\2\2\2\u0351"+ + "\u0354\3\2\2\2\u0352\u0350\3\2\2\2\u0352\u0353\3\2\2\2\u0353\u035e\3\2"+ + "\2\2\u0354\u0352\3\2\2\2\u0355\u0357\5K&\2\u0356\u0358\n\"\2\2\u0357\u0356"+ + "\3\2\2\2\u0358\u0359\3\2\2\2\u0359\u0357\3\2\2\2\u0359\u035a\3\2\2\2\u035a"+ + "\u035b\3\2\2\2\u035b\u035c\5K&\2\u035c\u035e\3\2\2\2\u035d\u0347\3\2\2"+ + "\2\u035d\u0355\3\2\2\2\u035e\u00e0\3\2\2\2\u035f\u0367\5G$\2\u0360\u0361"+ + "\7^\2\2\u0361\u0366\13\2\2\2\u0362\u0363\7$\2\2\u0363\u0366\7$\2\2\u0364"+ + "\u0366\n#\2\2\u0365\u0360\3\2\2\2\u0365\u0362\3\2\2\2\u0365\u0364\3\2"+ + "\2\2\u0366\u0369\3\2\2\2\u0367\u0365\3\2\2\2\u0367\u0368\3\2\2\2\u0368"+ + "\u036a\3\2\2\2\u0369\u0367\3\2\2\2\u036a\u036b\5G$\2\u036b\u037a\3\2\2"+ + "\2\u036c\u0374\5I%\2\u036d\u036e\7^\2\2\u036e\u0373\13\2\2\2\u036f\u0370"+ + "\7)\2\2\u0370\u0373\7)\2\2\u0371\u0373\n$\2\2\u0372\u036d\3\2\2\2\u0372"+ + "\u036f\3\2\2\2\u0372\u0371\3\2\2\2\u0373\u0376\3\2\2\2\u0374\u0372\3\2"+ + "\2\2\u0374\u0375\3\2\2\2\u0375\u0377\3\2\2\2\u0376\u0374\3\2\2\2\u0377"+ + "\u0378\5I%\2\u0378\u037a\3\2\2\2\u0379\u035f\3\2\2\2\u0379\u036c\3\2\2"+ + "\2\u037a\u00e2\3\2\2\2\u037b\u037d\t%\2\2\u037c\u037b\3\2\2\2\u037d\u037e"+ + "\3\2\2\2\u037e\u037c\3\2\2\2\u037e\u037f\3\2\2\2\u037f\u00e4\3\2\2\2\u0380"+ + "\u0381\t&\2\2\u0381\u00e6\3\2\2\2\u0382\u0384\5\u00e3r\2\u0383\u0382\3"+ + "\2\2\2\u0383\u0384\3\2\2\2\u0384\u0386\3\2\2\2\u0385\u0387\5#\22\2\u0386"+ + "\u0385\3\2\2\2\u0386\u0387\3\2\2\2\u0387\u0388\3\2\2\2\u0388\u0390\5\u00e3"+ + "r\2\u0389\u038c\5\u00b3Z\2\u038a\u038d\5\31\r\2\u038b\u038d\5\33\16\2"+ + "\u038c\u038a\3\2\2\2\u038c\u038b\3\2\2\2\u038c\u038d\3\2\2\2\u038d\u038e"+ + "\3\2\2\2\u038e\u038f\5\u00e3r\2\u038f\u0391\3\2\2\2\u0390\u0389\3\2\2"+ + "\2\u0390\u0391\3\2\2\2\u0391\u00e8\3\2\2\2\u0392\u0393\7\62\2\2\u0393"+ + "\u0394\7z\2\2\u0394\u0396\3\2\2\2\u0395\u0397\5\u00e5s\2\u0396\u0395\3"+ + "\2\2\2\u0397\u0398\3\2\2\2\u0398\u0396\3\2\2\2\u0398\u0399\3\2\2\2\u0399"+ + "\u03a4\3\2\2\2\u039a\u039b\7Z\2\2\u039b\u039d\5I%\2\u039c\u039e\5\u00e5"+ + "s\2\u039d\u039c\3\2\2\2\u039e\u039f\3\2\2\2\u039f\u039d\3\2\2\2\u039f"+ + "\u03a0\3\2\2\2\u03a0\u03a1\3\2\2\2\u03a1\u03a2\5I%\2\u03a2\u03a4\3\2\2"+ + "\2\u03a3\u0392\3\2\2\2\u03a3\u039a\3\2\2\2\u03a4\u00ea\3\2\2\2\u03a5\u03a6"+ + "\7\62\2\2\u03a6\u03a7\7d\2\2\u03a7\u03a9\3\2\2\2\u03a8\u03aa\4\62\63\2"+ + "\u03a9\u03a8\3\2\2\2\u03aa\u03ab\3\2\2\2\u03ab\u03a9\3\2\2\2\u03ab\u03ac"+ + "\3\2\2\2\u03ac\u03b7\3\2\2\2\u03ad\u03ae\5\u00adW\2\u03ae\u03b0\5I%\2"+ + "\u03af\u03b1\4\62\63\2\u03b0\u03af\3\2\2\2\u03b1\u03b2\3\2\2\2\u03b2\u03b0"+ + "\3\2\2\2\u03b2\u03b3\3\2\2\2\u03b3\u03b4\3\2\2\2\u03b4\u03b5\5I%\2\u03b5"+ + "\u03b7\3\2\2\2\u03b6\u03a5\3\2\2\2\u03b6\u03ad\3\2\2\2\u03b7\u00ec\3\2"+ + "\2\2\32\2\u0123\u0154\u0347\u034d\u0352\u0359\u035d\u0365\u0367\u0372"+ + "\u0374\u0379\u037e\u0383\u0386\u038c\u0390\u0398\u039f\u03a3\u03ab\u03b2"+ + "\u03b6\3\b\2\2"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementLexer.tokens b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementLexer.tokens new file mode 100644 index 00000000..00b61d0c --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementLexer.tokens @@ -0,0 +1,133 @@ +AND_=1 +OR_=2 +NOT_=3 +TILDE_=4 +VERTICALBAR_=5 +AMPERSAND_=6 +SIGNEDLEFTSHIFT_=7 +SIGNEDRIGHTSHIFT_=8 +CARET_=9 +MOD_=10 +COLON_=11 +PLUS_=12 +MINUS_=13 +ASTERISK_=14 +SLASH_=15 +BACKSLASH_=16 +DOT_=17 +DOTASTERISK_=18 +SAFEEQ_=19 +DEQ_=20 +EQ_=21 +NEQ_=22 +GT_=23 +GTE_=24 +LT_=25 +LTE_=26 +POUND_=27 +LP_=28 +RP_=29 +LBE_=30 +RBE_=31 +LBT_=32 +RBT_=33 +COMMA_=34 +DQ_=35 +SQ_=36 +BQ_=37 +QUESTION_=38 +AT_=39 +SEMI_=40 +JSONSEPARATOR_=41 +UL_=42 +WS=43 +CREATE=44 +ALTER=45 +DROP=46 +SHOW=47 +RESOURCE=48 +RULE=49 +FROM=50 +ENCRYPT=51 +TYPE=52 +ENCRYPT_ALGORITHM=53 +ASSISTED_QUERY_ALGORITHM=54 +LIKE_QUERY_ALGORITHM=55 +NAME=56 +PROPERTIES=57 +COLUMN=58 +RULES=59 +TABLE=60 +COLUMNS=61 +CIPHER=62 +PLAIN=63 +ASSISTED_QUERY_COLUMN=64 +LIKE_QUERY_COLUMN=65 +QUERY_WITH_CIPHER_COLUMN=66 +TRUE=67 +FALSE=68 +DATA_TYPE=69 +PLAIN_DATA_TYPE=70 +CIPHER_DATA_TYPE=71 +ASSISTED_QUERY_DATA_TYPE=72 +LIKE_QUERY_DATA_TYPE=73 +IF=74 +EXISTS=75 +COUNT=76 +MD5=77 +AES=78 +RC4=79 +SM3=80 +SM4=81 +CHAR_DIGEST_LIKE=82 +NOT=83 +FOR_GENERATOR=84 +IDENTIFIER_=85 +STRING_=86 +INT_=87 +HEX_=88 +NUMBER_=89 +HEXDIGIT_=90 +BITNUM_=91 +'&&'=1 +'||'=2 +'!'=3 +'~'=4 +'|'=5 +'&'=6 +'<<'=7 +'>>'=8 +'^'=9 +'%'=10 +':'=11 +'+'=12 +'-'=13 +'*'=14 +'/'=15 +'\\'=16 +'.'=17 +'.*'=18 +'<=>'=19 +'=='=20 +'='=21 +'>'=23 +'>='=24 +'<'=25 +'<='=26 +'#'=27 +'('=28 +')'=29 +'{'=30 +'}'=31 +'['=32 +']'=33 +','=34 +'"'=35 +'\''=36 +'`'=37 +'?'=38 +'@'=39 +';'=40 +'->>'=41 +'_'=42 +'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=84 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementParser.java b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementParser.java new file mode 100644 index 00000000..9044a02e --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementParser.java @@ -0,0 +1,1907 @@ +// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/encrypt/RDLStatement.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.misc.*; +import org.antlr.v4.runtime.tree.*; +import java.util.List; +import java.util.Iterator; +import java.util.ArrayList; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class RDLStatementParser extends Parser { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, + SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, + ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, + DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, + LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, + SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, + WS=43, CREATE=44, ALTER=45, DROP=46, SHOW=47, RESOURCE=48, RULE=49, FROM=50, + ENCRYPT=51, TYPE=52, ENCRYPT_ALGORITHM=53, ASSISTED_QUERY_ALGORITHM=54, + LIKE_QUERY_ALGORITHM=55, NAME=56, PROPERTIES=57, COLUMN=58, RULES=59, + TABLE=60, COLUMNS=61, CIPHER=62, PLAIN=63, ASSISTED_QUERY_COLUMN=64, LIKE_QUERY_COLUMN=65, + QUERY_WITH_CIPHER_COLUMN=66, TRUE=67, FALSE=68, DATA_TYPE=69, PLAIN_DATA_TYPE=70, + CIPHER_DATA_TYPE=71, ASSISTED_QUERY_DATA_TYPE=72, LIKE_QUERY_DATA_TYPE=73, + IF=74, EXISTS=75, COUNT=76, MD5=77, AES=78, RC4=79, SM3=80, SM4=81, CHAR_DIGEST_LIKE=82, + NOT=83, FOR_GENERATOR=84, IDENTIFIER_=85, STRING_=86, INT_=87, HEX_=88, + NUMBER_=89, HEXDIGIT_=90, BITNUM_=91; + public static final int + RULE_createEncryptRule = 0, RULE_alterEncryptRule = 1, RULE_dropEncryptRule = 2, + RULE_encryptRuleDefinition = 3, RULE_resourceDefinition = 4, RULE_resourceName = 5, + RULE_encryptColumnDefinition = 6, RULE_columnDefinition = 7, RULE_columnName = 8, + RULE_dataType = 9, RULE_plainColumnDefinition = 10, RULE_plainColumnName = 11, + RULE_cipherColumnDefinition = 12, RULE_cipherColumnName = 13, RULE_assistedQueryColumnDefinition = 14, + RULE_assistedQueryColumnName = 15, RULE_likeQueryColumnDefinition = 16, + RULE_likeQueryColumnName = 17, RULE_encryptAlgorithm = 18, RULE_assistedQueryAlgorithm = 19, + RULE_likeQueryAlgorithm = 20, RULE_queryWithCipherColumn = 21, RULE_ifExists = 22, + RULE_ifNotExists = 23, RULE_literal = 24, RULE_algorithmDefinition = 25, + RULE_algorithmTypeName = 26, RULE_buildinAlgorithmTypeName = 27, RULE_propertiesDefinition = 28, + RULE_properties = 29, RULE_property = 30, RULE_tableName = 31; + private static String[] makeRuleNames() { + return new String[] { + "createEncryptRule", "alterEncryptRule", "dropEncryptRule", "encryptRuleDefinition", + "resourceDefinition", "resourceName", "encryptColumnDefinition", "columnDefinition", + "columnName", "dataType", "plainColumnDefinition", "plainColumnName", + "cipherColumnDefinition", "cipherColumnName", "assistedQueryColumnDefinition", + "assistedQueryColumnName", "likeQueryColumnDefinition", "likeQueryColumnName", + "encryptAlgorithm", "assistedQueryAlgorithm", "likeQueryAlgorithm", "queryWithCipherColumn", + "ifExists", "ifNotExists", "literal", "algorithmDefinition", "algorithmTypeName", + "buildinAlgorithmTypeName", "propertiesDefinition", "properties", "property", + "tableName" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", + "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", + "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", + "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", + "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", + "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", + "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", + "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", + "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", + "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "CREATE", + "ALTER", "DROP", "SHOW", "RESOURCE", "RULE", "FROM", "ENCRYPT", "TYPE", + "ENCRYPT_ALGORITHM", "ASSISTED_QUERY_ALGORITHM", "LIKE_QUERY_ALGORITHM", + "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", "COLUMNS", "CIPHER", + "PLAIN", "ASSISTED_QUERY_COLUMN", "LIKE_QUERY_COLUMN", "QUERY_WITH_CIPHER_COLUMN", + "TRUE", "FALSE", "DATA_TYPE", "PLAIN_DATA_TYPE", "CIPHER_DATA_TYPE", + "ASSISTED_QUERY_DATA_TYPE", "LIKE_QUERY_DATA_TYPE", "IF", "EXISTS", "COUNT", + "MD5", "AES", "RC4", "SM3", "SM4", "CHAR_DIGEST_LIKE", "NOT", "FOR_GENERATOR", + "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + @Override + public String getGrammarFileName() { return "RDLStatement.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public ATN getATN() { return _ATN; } + + public RDLStatementParser(TokenStream input) { + super(input); + _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + public static class CreateEncryptRuleContext extends ParserRuleContext { + public TerminalNode CREATE() { return getToken(RDLStatementParser.CREATE, 0); } + public TerminalNode ENCRYPT() { return getToken(RDLStatementParser.ENCRYPT, 0); } + public TerminalNode RULE() { return getToken(RDLStatementParser.RULE, 0); } + public List encryptRuleDefinition() { + return getRuleContexts(EncryptRuleDefinitionContext.class); + } + public EncryptRuleDefinitionContext encryptRuleDefinition(int i) { + return getRuleContext(EncryptRuleDefinitionContext.class,i); + } + public IfNotExistsContext ifNotExists() { + return getRuleContext(IfNotExistsContext.class,0); + } + public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } + public TerminalNode COMMA_(int i) { + return getToken(RDLStatementParser.COMMA_, i); + } + public CreateEncryptRuleContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_createEncryptRule; } + } + + public final CreateEncryptRuleContext createEncryptRule() throws RecognitionException { + CreateEncryptRuleContext _localctx = new CreateEncryptRuleContext(_ctx, getState()); + enterRule(_localctx, 0, RULE_createEncryptRule); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(64); + match(CREATE); + setState(65); + match(ENCRYPT); + setState(66); + match(RULE); + setState(68); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==IF) { + { + setState(67); + ifNotExists(); + } + } + + setState(70); + encryptRuleDefinition(); + setState(75); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA_) { + { + { + setState(71); + match(COMMA_); + setState(72); + encryptRuleDefinition(); + } + } + setState(77); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AlterEncryptRuleContext extends ParserRuleContext { + public TerminalNode ALTER() { return getToken(RDLStatementParser.ALTER, 0); } + public TerminalNode ENCRYPT() { return getToken(RDLStatementParser.ENCRYPT, 0); } + public TerminalNode RULE() { return getToken(RDLStatementParser.RULE, 0); } + public List encryptRuleDefinition() { + return getRuleContexts(EncryptRuleDefinitionContext.class); + } + public EncryptRuleDefinitionContext encryptRuleDefinition(int i) { + return getRuleContext(EncryptRuleDefinitionContext.class,i); + } + public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } + public TerminalNode COMMA_(int i) { + return getToken(RDLStatementParser.COMMA_, i); + } + public AlterEncryptRuleContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_alterEncryptRule; } + } + + public final AlterEncryptRuleContext alterEncryptRule() throws RecognitionException { + AlterEncryptRuleContext _localctx = new AlterEncryptRuleContext(_ctx, getState()); + enterRule(_localctx, 2, RULE_alterEncryptRule); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(78); + match(ALTER); + setState(79); + match(ENCRYPT); + setState(80); + match(RULE); + setState(81); + encryptRuleDefinition(); + setState(86); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA_) { + { + { + setState(82); + match(COMMA_); + setState(83); + encryptRuleDefinition(); + } + } + setState(88); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class DropEncryptRuleContext extends ParserRuleContext { + public TerminalNode DROP() { return getToken(RDLStatementParser.DROP, 0); } + public TerminalNode ENCRYPT() { return getToken(RDLStatementParser.ENCRYPT, 0); } + public TerminalNode RULE() { return getToken(RDLStatementParser.RULE, 0); } + public List tableName() { + return getRuleContexts(TableNameContext.class); + } + public TableNameContext tableName(int i) { + return getRuleContext(TableNameContext.class,i); + } + public IfExistsContext ifExists() { + return getRuleContext(IfExistsContext.class,0); + } + public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } + public TerminalNode COMMA_(int i) { + return getToken(RDLStatementParser.COMMA_, i); + } + public DropEncryptRuleContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_dropEncryptRule; } + } + + public final DropEncryptRuleContext dropEncryptRule() throws RecognitionException { + DropEncryptRuleContext _localctx = new DropEncryptRuleContext(_ctx, getState()); + enterRule(_localctx, 4, RULE_dropEncryptRule); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(89); + match(DROP); + setState(90); + match(ENCRYPT); + setState(91); + match(RULE); + setState(93); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==IF) { + { + setState(92); + ifExists(); + } + } + + setState(95); + tableName(); + setState(100); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA_) { + { + { + setState(96); + match(COMMA_); + setState(97); + tableName(); + } + } + setState(102); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class EncryptRuleDefinitionContext extends ParserRuleContext { + public TableNameContext tableName() { + return getRuleContext(TableNameContext.class,0); + } + public List LP_() { return getTokens(RDLStatementParser.LP_); } + public TerminalNode LP_(int i) { + return getToken(RDLStatementParser.LP_, i); + } + public TerminalNode COLUMNS() { return getToken(RDLStatementParser.COLUMNS, 0); } + public List encryptColumnDefinition() { + return getRuleContexts(EncryptColumnDefinitionContext.class); + } + public EncryptColumnDefinitionContext encryptColumnDefinition(int i) { + return getRuleContext(EncryptColumnDefinitionContext.class,i); + } + public List RP_() { return getTokens(RDLStatementParser.RP_); } + public TerminalNode RP_(int i) { + return getToken(RDLStatementParser.RP_, i); + } + public ResourceDefinitionContext resourceDefinition() { + return getRuleContext(ResourceDefinitionContext.class,0); + } + public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } + public TerminalNode COMMA_(int i) { + return getToken(RDLStatementParser.COMMA_, i); + } + public TerminalNode QUERY_WITH_CIPHER_COLUMN() { return getToken(RDLStatementParser.QUERY_WITH_CIPHER_COLUMN, 0); } + public TerminalNode EQ_() { return getToken(RDLStatementParser.EQ_, 0); } + public QueryWithCipherColumnContext queryWithCipherColumn() { + return getRuleContext(QueryWithCipherColumnContext.class,0); + } + public EncryptRuleDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_encryptRuleDefinition; } + } + + public final EncryptRuleDefinitionContext encryptRuleDefinition() throws RecognitionException { + EncryptRuleDefinitionContext _localctx = new EncryptRuleDefinitionContext(_ctx, getState()); + enterRule(_localctx, 6, RULE_encryptRuleDefinition); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(103); + tableName(); + setState(104); + match(LP_); + setState(108); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==RESOURCE) { + { + setState(105); + resourceDefinition(); + setState(106); + match(COMMA_); + } + } + + setState(110); + match(COLUMNS); + setState(111); + match(LP_); + setState(112); + encryptColumnDefinition(); + setState(117); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA_) { + { + { + setState(113); + match(COMMA_); + setState(114); + encryptColumnDefinition(); + } + } + setState(119); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(120); + match(RP_); + setState(125); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==COMMA_) { + { + setState(121); + match(COMMA_); + setState(122); + match(QUERY_WITH_CIPHER_COLUMN); + setState(123); + match(EQ_); + setState(124); + queryWithCipherColumn(); + } + } + + setState(127); + match(RP_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ResourceDefinitionContext extends ParserRuleContext { + public TerminalNode RESOURCE() { return getToken(RDLStatementParser.RESOURCE, 0); } + public TerminalNode EQ_() { return getToken(RDLStatementParser.EQ_, 0); } + public ResourceNameContext resourceName() { + return getRuleContext(ResourceNameContext.class,0); + } + public ResourceDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_resourceDefinition; } + } + + public final ResourceDefinitionContext resourceDefinition() throws RecognitionException { + ResourceDefinitionContext _localctx = new ResourceDefinitionContext(_ctx, getState()); + enterRule(_localctx, 8, RULE_resourceDefinition); + try { + enterOuterAlt(_localctx, 1); + { + setState(129); + match(RESOURCE); + setState(130); + match(EQ_); + setState(131); + resourceName(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ResourceNameContext extends ParserRuleContext { + public TerminalNode IDENTIFIER_() { return getToken(RDLStatementParser.IDENTIFIER_, 0); } + public ResourceNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_resourceName; } + } + + public final ResourceNameContext resourceName() throws RecognitionException { + ResourceNameContext _localctx = new ResourceNameContext(_ctx, getState()); + enterRule(_localctx, 10, RULE_resourceName); + try { + enterOuterAlt(_localctx, 1); + { + setState(133); + match(IDENTIFIER_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class EncryptColumnDefinitionContext extends ParserRuleContext { + public TerminalNode LP_() { return getToken(RDLStatementParser.LP_, 0); } + public ColumnDefinitionContext columnDefinition() { + return getRuleContext(ColumnDefinitionContext.class,0); + } + public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } + public TerminalNode COMMA_(int i) { + return getToken(RDLStatementParser.COMMA_, i); + } + public CipherColumnDefinitionContext cipherColumnDefinition() { + return getRuleContext(CipherColumnDefinitionContext.class,0); + } + public EncryptAlgorithmContext encryptAlgorithm() { + return getRuleContext(EncryptAlgorithmContext.class,0); + } + public TerminalNode RP_() { return getToken(RDLStatementParser.RP_, 0); } + public PlainColumnDefinitionContext plainColumnDefinition() { + return getRuleContext(PlainColumnDefinitionContext.class,0); + } + public AssistedQueryColumnDefinitionContext assistedQueryColumnDefinition() { + return getRuleContext(AssistedQueryColumnDefinitionContext.class,0); + } + public LikeQueryColumnDefinitionContext likeQueryColumnDefinition() { + return getRuleContext(LikeQueryColumnDefinitionContext.class,0); + } + public AssistedQueryAlgorithmContext assistedQueryAlgorithm() { + return getRuleContext(AssistedQueryAlgorithmContext.class,0); + } + public LikeQueryAlgorithmContext likeQueryAlgorithm() { + return getRuleContext(LikeQueryAlgorithmContext.class,0); + } + public TerminalNode QUERY_WITH_CIPHER_COLUMN() { return getToken(RDLStatementParser.QUERY_WITH_CIPHER_COLUMN, 0); } + public TerminalNode EQ_() { return getToken(RDLStatementParser.EQ_, 0); } + public QueryWithCipherColumnContext queryWithCipherColumn() { + return getRuleContext(QueryWithCipherColumnContext.class,0); + } + public EncryptColumnDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_encryptColumnDefinition; } + } + + public final EncryptColumnDefinitionContext encryptColumnDefinition() throws RecognitionException { + EncryptColumnDefinitionContext _localctx = new EncryptColumnDefinitionContext(_ctx, getState()); + enterRule(_localctx, 12, RULE_encryptColumnDefinition); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(135); + match(LP_); + setState(136); + columnDefinition(); + setState(139); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,8,_ctx) ) { + case 1: + { + setState(137); + match(COMMA_); + setState(138); + plainColumnDefinition(); + } + break; + } + setState(141); + match(COMMA_); + setState(142); + cipherColumnDefinition(); + setState(145); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,9,_ctx) ) { + case 1: + { + setState(143); + match(COMMA_); + setState(144); + assistedQueryColumnDefinition(); + } + break; + } + setState(149); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,10,_ctx) ) { + case 1: + { + setState(147); + match(COMMA_); + setState(148); + likeQueryColumnDefinition(); + } + break; + } + setState(151); + match(COMMA_); + setState(152); + encryptAlgorithm(); + setState(155); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,11,_ctx) ) { + case 1: + { + setState(153); + match(COMMA_); + setState(154); + assistedQueryAlgorithm(); + } + break; + } + setState(159); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,12,_ctx) ) { + case 1: + { + setState(157); + match(COMMA_); + setState(158); + likeQueryAlgorithm(); + } + break; + } + setState(165); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==COMMA_) { + { + setState(161); + match(COMMA_); + setState(162); + match(QUERY_WITH_CIPHER_COLUMN); + setState(163); + match(EQ_); + setState(164); + queryWithCipherColumn(); + } + } + + setState(167); + match(RP_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ColumnDefinitionContext extends ParserRuleContext { + public TerminalNode NAME() { return getToken(RDLStatementParser.NAME, 0); } + public List EQ_() { return getTokens(RDLStatementParser.EQ_); } + public TerminalNode EQ_(int i) { + return getToken(RDLStatementParser.EQ_, i); + } + public ColumnNameContext columnName() { + return getRuleContext(ColumnNameContext.class,0); + } + public TerminalNode COMMA_() { return getToken(RDLStatementParser.COMMA_, 0); } + public TerminalNode DATA_TYPE() { return getToken(RDLStatementParser.DATA_TYPE, 0); } + public DataTypeContext dataType() { + return getRuleContext(DataTypeContext.class,0); + } + public ColumnDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_columnDefinition; } + } + + public final ColumnDefinitionContext columnDefinition() throws RecognitionException { + ColumnDefinitionContext _localctx = new ColumnDefinitionContext(_ctx, getState()); + enterRule(_localctx, 14, RULE_columnDefinition); + try { + enterOuterAlt(_localctx, 1); + { + setState(169); + match(NAME); + setState(170); + match(EQ_); + setState(171); + columnName(); + setState(176); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,14,_ctx) ) { + case 1: + { + setState(172); + match(COMMA_); + setState(173); + match(DATA_TYPE); + setState(174); + match(EQ_); + setState(175); + dataType(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ColumnNameContext extends ParserRuleContext { + public TerminalNode IDENTIFIER_() { return getToken(RDLStatementParser.IDENTIFIER_, 0); } + public ColumnNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_columnName; } + } + + public final ColumnNameContext columnName() throws RecognitionException { + ColumnNameContext _localctx = new ColumnNameContext(_ctx, getState()); + enterRule(_localctx, 16, RULE_columnName); + try { + enterOuterAlt(_localctx, 1); + { + setState(178); + match(IDENTIFIER_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class DataTypeContext extends ParserRuleContext { + public TerminalNode STRING_() { return getToken(RDLStatementParser.STRING_, 0); } + public DataTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_dataType; } + } + + public final DataTypeContext dataType() throws RecognitionException { + DataTypeContext _localctx = new DataTypeContext(_ctx, getState()); + enterRule(_localctx, 18, RULE_dataType); + try { + enterOuterAlt(_localctx, 1); + { + setState(180); + match(STRING_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PlainColumnDefinitionContext extends ParserRuleContext { + public TerminalNode PLAIN() { return getToken(RDLStatementParser.PLAIN, 0); } + public List EQ_() { return getTokens(RDLStatementParser.EQ_); } + public TerminalNode EQ_(int i) { + return getToken(RDLStatementParser.EQ_, i); + } + public PlainColumnNameContext plainColumnName() { + return getRuleContext(PlainColumnNameContext.class,0); + } + public TerminalNode COMMA_() { return getToken(RDLStatementParser.COMMA_, 0); } + public TerminalNode PLAIN_DATA_TYPE() { return getToken(RDLStatementParser.PLAIN_DATA_TYPE, 0); } + public DataTypeContext dataType() { + return getRuleContext(DataTypeContext.class,0); + } + public PlainColumnDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_plainColumnDefinition; } + } + + public final PlainColumnDefinitionContext plainColumnDefinition() throws RecognitionException { + PlainColumnDefinitionContext _localctx = new PlainColumnDefinitionContext(_ctx, getState()); + enterRule(_localctx, 20, RULE_plainColumnDefinition); + try { + enterOuterAlt(_localctx, 1); + { + setState(182); + match(PLAIN); + setState(183); + match(EQ_); + setState(184); + plainColumnName(); + setState(189); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,15,_ctx) ) { + case 1: + { + setState(185); + match(COMMA_); + setState(186); + match(PLAIN_DATA_TYPE); + setState(187); + match(EQ_); + setState(188); + dataType(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PlainColumnNameContext extends ParserRuleContext { + public TerminalNode IDENTIFIER_() { return getToken(RDLStatementParser.IDENTIFIER_, 0); } + public PlainColumnNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_plainColumnName; } + } + + public final PlainColumnNameContext plainColumnName() throws RecognitionException { + PlainColumnNameContext _localctx = new PlainColumnNameContext(_ctx, getState()); + enterRule(_localctx, 22, RULE_plainColumnName); + try { + enterOuterAlt(_localctx, 1); + { + setState(191); + match(IDENTIFIER_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class CipherColumnDefinitionContext extends ParserRuleContext { + public TerminalNode CIPHER() { return getToken(RDLStatementParser.CIPHER, 0); } + public List EQ_() { return getTokens(RDLStatementParser.EQ_); } + public TerminalNode EQ_(int i) { + return getToken(RDLStatementParser.EQ_, i); + } + public CipherColumnNameContext cipherColumnName() { + return getRuleContext(CipherColumnNameContext.class,0); + } + public TerminalNode COMMA_() { return getToken(RDLStatementParser.COMMA_, 0); } + public TerminalNode CIPHER_DATA_TYPE() { return getToken(RDLStatementParser.CIPHER_DATA_TYPE, 0); } + public DataTypeContext dataType() { + return getRuleContext(DataTypeContext.class,0); + } + public CipherColumnDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_cipherColumnDefinition; } + } + + public final CipherColumnDefinitionContext cipherColumnDefinition() throws RecognitionException { + CipherColumnDefinitionContext _localctx = new CipherColumnDefinitionContext(_ctx, getState()); + enterRule(_localctx, 24, RULE_cipherColumnDefinition); + try { + enterOuterAlt(_localctx, 1); + { + setState(193); + match(CIPHER); + setState(194); + match(EQ_); + setState(195); + cipherColumnName(); + setState(200); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,16,_ctx) ) { + case 1: + { + setState(196); + match(COMMA_); + setState(197); + match(CIPHER_DATA_TYPE); + setState(198); + match(EQ_); + setState(199); + dataType(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class CipherColumnNameContext extends ParserRuleContext { + public TerminalNode IDENTIFIER_() { return getToken(RDLStatementParser.IDENTIFIER_, 0); } + public CipherColumnNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_cipherColumnName; } + } + + public final CipherColumnNameContext cipherColumnName() throws RecognitionException { + CipherColumnNameContext _localctx = new CipherColumnNameContext(_ctx, getState()); + enterRule(_localctx, 26, RULE_cipherColumnName); + try { + enterOuterAlt(_localctx, 1); + { + setState(202); + match(IDENTIFIER_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AssistedQueryColumnDefinitionContext extends ParserRuleContext { + public TerminalNode ASSISTED_QUERY_COLUMN() { return getToken(RDLStatementParser.ASSISTED_QUERY_COLUMN, 0); } + public List EQ_() { return getTokens(RDLStatementParser.EQ_); } + public TerminalNode EQ_(int i) { + return getToken(RDLStatementParser.EQ_, i); + } + public AssistedQueryColumnNameContext assistedQueryColumnName() { + return getRuleContext(AssistedQueryColumnNameContext.class,0); + } + public TerminalNode COMMA_() { return getToken(RDLStatementParser.COMMA_, 0); } + public TerminalNode ASSISTED_QUERY_DATA_TYPE() { return getToken(RDLStatementParser.ASSISTED_QUERY_DATA_TYPE, 0); } + public DataTypeContext dataType() { + return getRuleContext(DataTypeContext.class,0); + } + public AssistedQueryColumnDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_assistedQueryColumnDefinition; } + } + + public final AssistedQueryColumnDefinitionContext assistedQueryColumnDefinition() throws RecognitionException { + AssistedQueryColumnDefinitionContext _localctx = new AssistedQueryColumnDefinitionContext(_ctx, getState()); + enterRule(_localctx, 28, RULE_assistedQueryColumnDefinition); + try { + enterOuterAlt(_localctx, 1); + { + setState(204); + match(ASSISTED_QUERY_COLUMN); + setState(205); + match(EQ_); + setState(206); + assistedQueryColumnName(); + setState(211); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,17,_ctx) ) { + case 1: + { + setState(207); + match(COMMA_); + setState(208); + match(ASSISTED_QUERY_DATA_TYPE); + setState(209); + match(EQ_); + setState(210); + dataType(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AssistedQueryColumnNameContext extends ParserRuleContext { + public TerminalNode IDENTIFIER_() { return getToken(RDLStatementParser.IDENTIFIER_, 0); } + public AssistedQueryColumnNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_assistedQueryColumnName; } + } + + public final AssistedQueryColumnNameContext assistedQueryColumnName() throws RecognitionException { + AssistedQueryColumnNameContext _localctx = new AssistedQueryColumnNameContext(_ctx, getState()); + enterRule(_localctx, 30, RULE_assistedQueryColumnName); + try { + enterOuterAlt(_localctx, 1); + { + setState(213); + match(IDENTIFIER_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class LikeQueryColumnDefinitionContext extends ParserRuleContext { + public TerminalNode LIKE_QUERY_COLUMN() { return getToken(RDLStatementParser.LIKE_QUERY_COLUMN, 0); } + public List EQ_() { return getTokens(RDLStatementParser.EQ_); } + public TerminalNode EQ_(int i) { + return getToken(RDLStatementParser.EQ_, i); + } + public LikeQueryColumnNameContext likeQueryColumnName() { + return getRuleContext(LikeQueryColumnNameContext.class,0); + } + public TerminalNode COMMA_() { return getToken(RDLStatementParser.COMMA_, 0); } + public TerminalNode LIKE_QUERY_DATA_TYPE() { return getToken(RDLStatementParser.LIKE_QUERY_DATA_TYPE, 0); } + public DataTypeContext dataType() { + return getRuleContext(DataTypeContext.class,0); + } + public LikeQueryColumnDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_likeQueryColumnDefinition; } + } + + public final LikeQueryColumnDefinitionContext likeQueryColumnDefinition() throws RecognitionException { + LikeQueryColumnDefinitionContext _localctx = new LikeQueryColumnDefinitionContext(_ctx, getState()); + enterRule(_localctx, 32, RULE_likeQueryColumnDefinition); + try { + enterOuterAlt(_localctx, 1); + { + setState(215); + match(LIKE_QUERY_COLUMN); + setState(216); + match(EQ_); + setState(217); + likeQueryColumnName(); + setState(222); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,18,_ctx) ) { + case 1: + { + setState(218); + match(COMMA_); + setState(219); + match(LIKE_QUERY_DATA_TYPE); + setState(220); + match(EQ_); + setState(221); + dataType(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class LikeQueryColumnNameContext extends ParserRuleContext { + public TerminalNode IDENTIFIER_() { return getToken(RDLStatementParser.IDENTIFIER_, 0); } + public LikeQueryColumnNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_likeQueryColumnName; } + } + + public final LikeQueryColumnNameContext likeQueryColumnName() throws RecognitionException { + LikeQueryColumnNameContext _localctx = new LikeQueryColumnNameContext(_ctx, getState()); + enterRule(_localctx, 34, RULE_likeQueryColumnName); + try { + enterOuterAlt(_localctx, 1); + { + setState(224); + match(IDENTIFIER_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class EncryptAlgorithmContext extends ParserRuleContext { + public TerminalNode ENCRYPT_ALGORITHM() { return getToken(RDLStatementParser.ENCRYPT_ALGORITHM, 0); } + public TerminalNode LP_() { return getToken(RDLStatementParser.LP_, 0); } + public AlgorithmDefinitionContext algorithmDefinition() { + return getRuleContext(AlgorithmDefinitionContext.class,0); + } + public TerminalNode RP_() { return getToken(RDLStatementParser.RP_, 0); } + public EncryptAlgorithmContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_encryptAlgorithm; } + } + + public final EncryptAlgorithmContext encryptAlgorithm() throws RecognitionException { + EncryptAlgorithmContext _localctx = new EncryptAlgorithmContext(_ctx, getState()); + enterRule(_localctx, 36, RULE_encryptAlgorithm); + try { + enterOuterAlt(_localctx, 1); + { + setState(226); + match(ENCRYPT_ALGORITHM); + setState(227); + match(LP_); + setState(228); + algorithmDefinition(); + setState(229); + match(RP_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AssistedQueryAlgorithmContext extends ParserRuleContext { + public TerminalNode ASSISTED_QUERY_ALGORITHM() { return getToken(RDLStatementParser.ASSISTED_QUERY_ALGORITHM, 0); } + public TerminalNode LP_() { return getToken(RDLStatementParser.LP_, 0); } + public AlgorithmDefinitionContext algorithmDefinition() { + return getRuleContext(AlgorithmDefinitionContext.class,0); + } + public TerminalNode RP_() { return getToken(RDLStatementParser.RP_, 0); } + public AssistedQueryAlgorithmContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_assistedQueryAlgorithm; } + } + + public final AssistedQueryAlgorithmContext assistedQueryAlgorithm() throws RecognitionException { + AssistedQueryAlgorithmContext _localctx = new AssistedQueryAlgorithmContext(_ctx, getState()); + enterRule(_localctx, 38, RULE_assistedQueryAlgorithm); + try { + enterOuterAlt(_localctx, 1); + { + setState(231); + match(ASSISTED_QUERY_ALGORITHM); + setState(232); + match(LP_); + setState(233); + algorithmDefinition(); + setState(234); + match(RP_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class LikeQueryAlgorithmContext extends ParserRuleContext { + public TerminalNode LIKE_QUERY_ALGORITHM() { return getToken(RDLStatementParser.LIKE_QUERY_ALGORITHM, 0); } + public TerminalNode LP_() { return getToken(RDLStatementParser.LP_, 0); } + public AlgorithmDefinitionContext algorithmDefinition() { + return getRuleContext(AlgorithmDefinitionContext.class,0); + } + public TerminalNode RP_() { return getToken(RDLStatementParser.RP_, 0); } + public LikeQueryAlgorithmContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_likeQueryAlgorithm; } + } + + public final LikeQueryAlgorithmContext likeQueryAlgorithm() throws RecognitionException { + LikeQueryAlgorithmContext _localctx = new LikeQueryAlgorithmContext(_ctx, getState()); + enterRule(_localctx, 40, RULE_likeQueryAlgorithm); + try { + enterOuterAlt(_localctx, 1); + { + setState(236); + match(LIKE_QUERY_ALGORITHM); + setState(237); + match(LP_); + setState(238); + algorithmDefinition(); + setState(239); + match(RP_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class QueryWithCipherColumnContext extends ParserRuleContext { + public TerminalNode TRUE() { return getToken(RDLStatementParser.TRUE, 0); } + public TerminalNode FALSE() { return getToken(RDLStatementParser.FALSE, 0); } + public QueryWithCipherColumnContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_queryWithCipherColumn; } + } + + public final QueryWithCipherColumnContext queryWithCipherColumn() throws RecognitionException { + QueryWithCipherColumnContext _localctx = new QueryWithCipherColumnContext(_ctx, getState()); + enterRule(_localctx, 42, RULE_queryWithCipherColumn); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(241); + _la = _input.LA(1); + if ( !(_la==TRUE || _la==FALSE) ) { + _errHandler.recoverInline(this); + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class IfExistsContext extends ParserRuleContext { + public TerminalNode IF() { return getToken(RDLStatementParser.IF, 0); } + public TerminalNode EXISTS() { return getToken(RDLStatementParser.EXISTS, 0); } + public IfExistsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ifExists; } + } + + public final IfExistsContext ifExists() throws RecognitionException { + IfExistsContext _localctx = new IfExistsContext(_ctx, getState()); + enterRule(_localctx, 44, RULE_ifExists); + try { + enterOuterAlt(_localctx, 1); + { + setState(243); + match(IF); + setState(244); + match(EXISTS); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class IfNotExistsContext extends ParserRuleContext { + public TerminalNode IF() { return getToken(RDLStatementParser.IF, 0); } + public TerminalNode NOT() { return getToken(RDLStatementParser.NOT, 0); } + public TerminalNode EXISTS() { return getToken(RDLStatementParser.EXISTS, 0); } + public IfNotExistsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ifNotExists; } + } + + public final IfNotExistsContext ifNotExists() throws RecognitionException { + IfNotExistsContext _localctx = new IfNotExistsContext(_ctx, getState()); + enterRule(_localctx, 46, RULE_ifNotExists); + try { + enterOuterAlt(_localctx, 1); + { + setState(246); + match(IF); + setState(247); + match(NOT); + setState(248); + match(EXISTS); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class LiteralContext extends ParserRuleContext { + public TerminalNode STRING_() { return getToken(RDLStatementParser.STRING_, 0); } + public TerminalNode INT_() { return getToken(RDLStatementParser.INT_, 0); } + public TerminalNode MINUS_() { return getToken(RDLStatementParser.MINUS_, 0); } + public TerminalNode TRUE() { return getToken(RDLStatementParser.TRUE, 0); } + public TerminalNode FALSE() { return getToken(RDLStatementParser.FALSE, 0); } + public LiteralContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_literal; } + } + + public final LiteralContext literal() throws RecognitionException { + LiteralContext _localctx = new LiteralContext(_ctx, getState()); + enterRule(_localctx, 48, RULE_literal); + int _la; + try { + setState(257); + _errHandler.sync(this); + switch (_input.LA(1)) { + case STRING_: + enterOuterAlt(_localctx, 1); + { + setState(250); + match(STRING_); + } + break; + case MINUS_: + case INT_: + enterOuterAlt(_localctx, 2); + { + setState(252); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==MINUS_) { + { + setState(251); + match(MINUS_); + } + } + + setState(254); + match(INT_); + } + break; + case TRUE: + enterOuterAlt(_localctx, 3); + { + setState(255); + match(TRUE); + } + break; + case FALSE: + enterOuterAlt(_localctx, 4); + { + setState(256); + match(FALSE); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AlgorithmDefinitionContext extends ParserRuleContext { + public TerminalNode TYPE() { return getToken(RDLStatementParser.TYPE, 0); } + public TerminalNode LP_() { return getToken(RDLStatementParser.LP_, 0); } + public TerminalNode NAME() { return getToken(RDLStatementParser.NAME, 0); } + public TerminalNode EQ_() { return getToken(RDLStatementParser.EQ_, 0); } + public AlgorithmTypeNameContext algorithmTypeName() { + return getRuleContext(AlgorithmTypeNameContext.class,0); + } + public TerminalNode RP_() { return getToken(RDLStatementParser.RP_, 0); } + public TerminalNode COMMA_() { return getToken(RDLStatementParser.COMMA_, 0); } + public PropertiesDefinitionContext propertiesDefinition() { + return getRuleContext(PropertiesDefinitionContext.class,0); + } + public AlgorithmDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_algorithmDefinition; } + } + + public final AlgorithmDefinitionContext algorithmDefinition() throws RecognitionException { + AlgorithmDefinitionContext _localctx = new AlgorithmDefinitionContext(_ctx, getState()); + enterRule(_localctx, 50, RULE_algorithmDefinition); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(259); + match(TYPE); + setState(260); + match(LP_); + setState(261); + match(NAME); + setState(262); + match(EQ_); + setState(263); + algorithmTypeName(); + setState(266); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==COMMA_) { + { + setState(264); + match(COMMA_); + setState(265); + propertiesDefinition(); + } + } + + setState(268); + match(RP_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AlgorithmTypeNameContext extends ParserRuleContext { + public BuildinAlgorithmTypeNameContext buildinAlgorithmTypeName() { + return getRuleContext(BuildinAlgorithmTypeNameContext.class,0); + } + public TerminalNode STRING_() { return getToken(RDLStatementParser.STRING_, 0); } + public AlgorithmTypeNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_algorithmTypeName; } + } + + public final AlgorithmTypeNameContext algorithmTypeName() throws RecognitionException { + AlgorithmTypeNameContext _localctx = new AlgorithmTypeNameContext(_ctx, getState()); + enterRule(_localctx, 52, RULE_algorithmTypeName); + try { + setState(272); + _errHandler.sync(this); + switch (_input.LA(1)) { + case MD5: + case AES: + case RC4: + case SM3: + case SM4: + case CHAR_DIGEST_LIKE: + enterOuterAlt(_localctx, 1); + { + setState(270); + buildinAlgorithmTypeName(); + } + break; + case STRING_: + enterOuterAlt(_localctx, 2); + { + setState(271); + match(STRING_); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class BuildinAlgorithmTypeNameContext extends ParserRuleContext { + public TerminalNode MD5() { return getToken(RDLStatementParser.MD5, 0); } + public TerminalNode AES() { return getToken(RDLStatementParser.AES, 0); } + public TerminalNode RC4() { return getToken(RDLStatementParser.RC4, 0); } + public TerminalNode SM3() { return getToken(RDLStatementParser.SM3, 0); } + public TerminalNode SM4() { return getToken(RDLStatementParser.SM4, 0); } + public TerminalNode CHAR_DIGEST_LIKE() { return getToken(RDLStatementParser.CHAR_DIGEST_LIKE, 0); } + public BuildinAlgorithmTypeNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_buildinAlgorithmTypeName; } + } + + public final BuildinAlgorithmTypeNameContext buildinAlgorithmTypeName() throws RecognitionException { + BuildinAlgorithmTypeNameContext _localctx = new BuildinAlgorithmTypeNameContext(_ctx, getState()); + enterRule(_localctx, 54, RULE_buildinAlgorithmTypeName); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(274); + _la = _input.LA(1); + if ( !(((((_la - 77)) & ~0x3f) == 0 && ((1L << (_la - 77)) & ((1L << (MD5 - 77)) | (1L << (AES - 77)) | (1L << (RC4 - 77)) | (1L << (SM3 - 77)) | (1L << (SM4 - 77)) | (1L << (CHAR_DIGEST_LIKE - 77)))) != 0)) ) { + _errHandler.recoverInline(this); + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PropertiesDefinitionContext extends ParserRuleContext { + public TerminalNode PROPERTIES() { return getToken(RDLStatementParser.PROPERTIES, 0); } + public TerminalNode LP_() { return getToken(RDLStatementParser.LP_, 0); } + public TerminalNode RP_() { return getToken(RDLStatementParser.RP_, 0); } + public PropertiesContext properties() { + return getRuleContext(PropertiesContext.class,0); + } + public PropertiesDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_propertiesDefinition; } + } + + public final PropertiesDefinitionContext propertiesDefinition() throws RecognitionException { + PropertiesDefinitionContext _localctx = new PropertiesDefinitionContext(_ctx, getState()); + enterRule(_localctx, 56, RULE_propertiesDefinition); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(276); + match(PROPERTIES); + setState(277); + match(LP_); + setState(279); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==STRING_) { + { + setState(278); + properties(); + } + } + + setState(281); + match(RP_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PropertiesContext extends ParserRuleContext { + public List property() { + return getRuleContexts(PropertyContext.class); + } + public PropertyContext property(int i) { + return getRuleContext(PropertyContext.class,i); + } + public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } + public TerminalNode COMMA_(int i) { + return getToken(RDLStatementParser.COMMA_, i); + } + public PropertiesContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_properties; } + } + + public final PropertiesContext properties() throws RecognitionException { + PropertiesContext _localctx = new PropertiesContext(_ctx, getState()); + enterRule(_localctx, 58, RULE_properties); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(283); + property(); + setState(288); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA_) { + { + { + setState(284); + match(COMMA_); + setState(285); + property(); + } + } + setState(290); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PropertyContext extends ParserRuleContext { + public Token key; + public LiteralContext value; + public TerminalNode EQ_() { return getToken(RDLStatementParser.EQ_, 0); } + public TerminalNode STRING_() { return getToken(RDLStatementParser.STRING_, 0); } + public LiteralContext literal() { + return getRuleContext(LiteralContext.class,0); + } + public PropertyContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_property; } + } + + public final PropertyContext property() throws RecognitionException { + PropertyContext _localctx = new PropertyContext(_ctx, getState()); + enterRule(_localctx, 60, RULE_property); + try { + enterOuterAlt(_localctx, 1); + { + setState(291); + ((PropertyContext)_localctx).key = match(STRING_); + setState(292); + match(EQ_); + setState(293); + ((PropertyContext)_localctx).value = literal(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TableNameContext extends ParserRuleContext { + public TerminalNode IDENTIFIER_() { return getToken(RDLStatementParser.IDENTIFIER_, 0); } + public TableNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_tableName; } + } + + public final TableNameContext tableName() throws RecognitionException { + TableNameContext _localctx = new TableNameContext(_ctx, getState()); + enterRule(_localctx, 62, RULE_tableName); + try { + enterOuterAlt(_localctx, 1); + { + setState(295); + match(IDENTIFIER_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3]\u012c\4\2\t\2\4"+ + "\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t"+ + "\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ + "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ + "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ + "\t!\3\2\3\2\3\2\3\2\5\2G\n\2\3\2\3\2\3\2\7\2L\n\2\f\2\16\2O\13\2\3\3\3"+ + "\3\3\3\3\3\3\3\3\3\7\3W\n\3\f\3\16\3Z\13\3\3\4\3\4\3\4\3\4\5\4`\n\4\3"+ + "\4\3\4\3\4\7\4e\n\4\f\4\16\4h\13\4\3\5\3\5\3\5\3\5\3\5\5\5o\n\5\3\5\3"+ + "\5\3\5\3\5\3\5\7\5v\n\5\f\5\16\5y\13\5\3\5\3\5\3\5\3\5\3\5\5\5\u0080\n"+ + "\5\3\5\3\5\3\6\3\6\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\b\5\b\u008e\n\b\3\b\3"+ + "\b\3\b\3\b\5\b\u0094\n\b\3\b\3\b\5\b\u0098\n\b\3\b\3\b\3\b\3\b\5\b\u009e"+ + "\n\b\3\b\3\b\5\b\u00a2\n\b\3\b\3\b\3\b\3\b\5\b\u00a8\n\b\3\b\3\b\3\t\3"+ + "\t\3\t\3\t\3\t\3\t\3\t\5\t\u00b3\n\t\3\n\3\n\3\13\3\13\3\f\3\f\3\f\3\f"+ + "\3\f\3\f\3\f\5\f\u00c0\n\f\3\r\3\r\3\16\3\16\3\16\3\16\3\16\3\16\3\16"+ + "\5\16\u00cb\n\16\3\17\3\17\3\20\3\20\3\20\3\20\3\20\3\20\3\20\5\20\u00d6"+ + "\n\20\3\21\3\21\3\22\3\22\3\22\3\22\3\22\3\22\3\22\5\22\u00e1\n\22\3\23"+ + "\3\23\3\24\3\24\3\24\3\24\3\24\3\25\3\25\3\25\3\25\3\25\3\26\3\26\3\26"+ + "\3\26\3\26\3\27\3\27\3\30\3\30\3\30\3\31\3\31\3\31\3\31\3\32\3\32\5\32"+ + "\u00ff\n\32\3\32\3\32\3\32\5\32\u0104\n\32\3\33\3\33\3\33\3\33\3\33\3"+ + "\33\3\33\5\33\u010d\n\33\3\33\3\33\3\34\3\34\5\34\u0113\n\34\3\35\3\35"+ + "\3\36\3\36\3\36\5\36\u011a\n\36\3\36\3\36\3\37\3\37\3\37\7\37\u0121\n"+ + "\37\f\37\16\37\u0124\13\37\3 \3 \3 \3 \3!\3!\3!\2\2\"\2\4\6\b\n\f\16\20"+ + "\22\24\26\30\32\34\36 \"$&(*,.\60\62\64\668:<>@\2\4\3\2EF\3\2OT\2\u0126"+ + "\2B\3\2\2\2\4P\3\2\2\2\6[\3\2\2\2\bi\3\2\2\2\n\u0083\3\2\2\2\f\u0087\3"+ + "\2\2\2\16\u0089\3\2\2\2\20\u00ab\3\2\2\2\22\u00b4\3\2\2\2\24\u00b6\3\2"+ + "\2\2\26\u00b8\3\2\2\2\30\u00c1\3\2\2\2\32\u00c3\3\2\2\2\34\u00cc\3\2\2"+ + "\2\36\u00ce\3\2\2\2 \u00d7\3\2\2\2\"\u00d9\3\2\2\2$\u00e2\3\2\2\2&\u00e4"+ + "\3\2\2\2(\u00e9\3\2\2\2*\u00ee\3\2\2\2,\u00f3\3\2\2\2.\u00f5\3\2\2\2\60"+ + "\u00f8\3\2\2\2\62\u0103\3\2\2\2\64\u0105\3\2\2\2\66\u0112\3\2\2\28\u0114"+ + "\3\2\2\2:\u0116\3\2\2\2<\u011d\3\2\2\2>\u0125\3\2\2\2@\u0129\3\2\2\2B"+ + "C\7.\2\2CD\7\65\2\2DF\7\63\2\2EG\5\60\31\2FE\3\2\2\2FG\3\2\2\2GH\3\2\2"+ + "\2HM\5\b\5\2IJ\7$\2\2JL\5\b\5\2KI\3\2\2\2LO\3\2\2\2MK\3\2\2\2MN\3\2\2"+ + "\2N\3\3\2\2\2OM\3\2\2\2PQ\7/\2\2QR\7\65\2\2RS\7\63\2\2SX\5\b\5\2TU\7$"+ + "\2\2UW\5\b\5\2VT\3\2\2\2WZ\3\2\2\2XV\3\2\2\2XY\3\2\2\2Y\5\3\2\2\2ZX\3"+ + "\2\2\2[\\\7\60\2\2\\]\7\65\2\2]_\7\63\2\2^`\5.\30\2_^\3\2\2\2_`\3\2\2"+ + "\2`a\3\2\2\2af\5@!\2bc\7$\2\2ce\5@!\2db\3\2\2\2eh\3\2\2\2fd\3\2\2\2fg"+ + "\3\2\2\2g\7\3\2\2\2hf\3\2\2\2ij\5@!\2jn\7\36\2\2kl\5\n\6\2lm\7$\2\2mo"+ + "\3\2\2\2nk\3\2\2\2no\3\2\2\2op\3\2\2\2pq\7?\2\2qr\7\36\2\2rw\5\16\b\2"+ + "st\7$\2\2tv\5\16\b\2us\3\2\2\2vy\3\2\2\2wu\3\2\2\2wx\3\2\2\2xz\3\2\2\2"+ + "yw\3\2\2\2z\177\7\37\2\2{|\7$\2\2|}\7D\2\2}~\7\27\2\2~\u0080\5,\27\2\177"+ + "{\3\2\2\2\177\u0080\3\2\2\2\u0080\u0081\3\2\2\2\u0081\u0082\7\37\2\2\u0082"+ + "\t\3\2\2\2\u0083\u0084\7\62\2\2\u0084\u0085\7\27\2\2\u0085\u0086\5\f\7"+ + "\2\u0086\13\3\2\2\2\u0087\u0088\7W\2\2\u0088\r\3\2\2\2\u0089\u008a\7\36"+ + "\2\2\u008a\u008d\5\20\t\2\u008b\u008c\7$\2\2\u008c\u008e\5\26\f\2\u008d"+ + "\u008b\3\2\2\2\u008d\u008e\3\2\2\2\u008e\u008f\3\2\2\2\u008f\u0090\7$"+ + "\2\2\u0090\u0093\5\32\16\2\u0091\u0092\7$\2\2\u0092\u0094\5\36\20\2\u0093"+ + "\u0091\3\2\2\2\u0093\u0094\3\2\2\2\u0094\u0097\3\2\2\2\u0095\u0096\7$"+ + "\2\2\u0096\u0098\5\"\22\2\u0097\u0095\3\2\2\2\u0097\u0098\3\2\2\2\u0098"+ + "\u0099\3\2\2\2\u0099\u009a\7$\2\2\u009a\u009d\5&\24\2\u009b\u009c\7$\2"+ + "\2\u009c\u009e\5(\25\2\u009d\u009b\3\2\2\2\u009d\u009e\3\2\2\2\u009e\u00a1"+ + "\3\2\2\2\u009f\u00a0\7$\2\2\u00a0\u00a2\5*\26\2\u00a1\u009f\3\2\2\2\u00a1"+ + "\u00a2\3\2\2\2\u00a2\u00a7\3\2\2\2\u00a3\u00a4\7$\2\2\u00a4\u00a5\7D\2"+ + "\2\u00a5\u00a6\7\27\2\2\u00a6\u00a8\5,\27\2\u00a7\u00a3\3\2\2\2\u00a7"+ + "\u00a8\3\2\2\2\u00a8\u00a9\3\2\2\2\u00a9\u00aa\7\37\2\2\u00aa\17\3\2\2"+ + "\2\u00ab\u00ac\7:\2\2\u00ac\u00ad\7\27\2\2\u00ad\u00b2\5\22\n\2\u00ae"+ + "\u00af\7$\2\2\u00af\u00b0\7G\2\2\u00b0\u00b1\7\27\2\2\u00b1\u00b3\5\24"+ + "\13\2\u00b2\u00ae\3\2\2\2\u00b2\u00b3\3\2\2\2\u00b3\21\3\2\2\2\u00b4\u00b5"+ + "\7W\2\2\u00b5\23\3\2\2\2\u00b6\u00b7\7X\2\2\u00b7\25\3\2\2\2\u00b8\u00b9"+ + "\7A\2\2\u00b9\u00ba\7\27\2\2\u00ba\u00bf\5\30\r\2\u00bb\u00bc\7$\2\2\u00bc"+ + "\u00bd\7H\2\2\u00bd\u00be\7\27\2\2\u00be\u00c0\5\24\13\2\u00bf\u00bb\3"+ + "\2\2\2\u00bf\u00c0\3\2\2\2\u00c0\27\3\2\2\2\u00c1\u00c2\7W\2\2\u00c2\31"+ + "\3\2\2\2\u00c3\u00c4\7@\2\2\u00c4\u00c5\7\27\2\2\u00c5\u00ca\5\34\17\2"+ + "\u00c6\u00c7\7$\2\2\u00c7\u00c8\7I\2\2\u00c8\u00c9\7\27\2\2\u00c9\u00cb"+ + "\5\24\13\2\u00ca\u00c6\3\2\2\2\u00ca\u00cb\3\2\2\2\u00cb\33\3\2\2\2\u00cc"+ + "\u00cd\7W\2\2\u00cd\35\3\2\2\2\u00ce\u00cf\7B\2\2\u00cf\u00d0\7\27\2\2"+ + "\u00d0\u00d5\5 \21\2\u00d1\u00d2\7$\2\2\u00d2\u00d3\7J\2\2\u00d3\u00d4"+ + "\7\27\2\2\u00d4\u00d6\5\24\13\2\u00d5\u00d1\3\2\2\2\u00d5\u00d6\3\2\2"+ + "\2\u00d6\37\3\2\2\2\u00d7\u00d8\7W\2\2\u00d8!\3\2\2\2\u00d9\u00da\7C\2"+ + "\2\u00da\u00db\7\27\2\2\u00db\u00e0\5$\23\2\u00dc\u00dd\7$\2\2\u00dd\u00de"+ + "\7K\2\2\u00de\u00df\7\27\2\2\u00df\u00e1\5\24\13\2\u00e0\u00dc\3\2\2\2"+ + "\u00e0\u00e1\3\2\2\2\u00e1#\3\2\2\2\u00e2\u00e3\7W\2\2\u00e3%\3\2\2\2"+ + "\u00e4\u00e5\7\67\2\2\u00e5\u00e6\7\36\2\2\u00e6\u00e7\5\64\33\2\u00e7"+ + "\u00e8\7\37\2\2\u00e8\'\3\2\2\2\u00e9\u00ea\78\2\2\u00ea\u00eb\7\36\2"+ + "\2\u00eb\u00ec\5\64\33\2\u00ec\u00ed\7\37\2\2\u00ed)\3\2\2\2\u00ee\u00ef"+ + "\79\2\2\u00ef\u00f0\7\36\2\2\u00f0\u00f1\5\64\33\2\u00f1\u00f2\7\37\2"+ + "\2\u00f2+\3\2\2\2\u00f3\u00f4\t\2\2\2\u00f4-\3\2\2\2\u00f5\u00f6\7L\2"+ + "\2\u00f6\u00f7\7M\2\2\u00f7/\3\2\2\2\u00f8\u00f9\7L\2\2\u00f9\u00fa\7"+ + "U\2\2\u00fa\u00fb\7M\2\2\u00fb\61\3\2\2\2\u00fc\u0104\7X\2\2\u00fd\u00ff"+ + "\7\17\2\2\u00fe\u00fd\3\2\2\2\u00fe\u00ff\3\2\2\2\u00ff\u0100\3\2\2\2"+ + "\u0100\u0104\7Y\2\2\u0101\u0104\7E\2\2\u0102\u0104\7F\2\2\u0103\u00fc"+ + "\3\2\2\2\u0103\u00fe\3\2\2\2\u0103\u0101\3\2\2\2\u0103\u0102\3\2\2\2\u0104"+ + "\63\3\2\2\2\u0105\u0106\7\66\2\2\u0106\u0107\7\36\2\2\u0107\u0108\7:\2"+ + "\2\u0108\u0109\7\27\2\2\u0109\u010c\5\66\34\2\u010a\u010b\7$\2\2\u010b"+ + "\u010d\5:\36\2\u010c\u010a\3\2\2\2\u010c\u010d\3\2\2\2\u010d\u010e\3\2"+ + "\2\2\u010e\u010f\7\37\2\2\u010f\65\3\2\2\2\u0110\u0113\58\35\2\u0111\u0113"+ + "\7X\2\2\u0112\u0110\3\2\2\2\u0112\u0111\3\2\2\2\u0113\67\3\2\2\2\u0114"+ + "\u0115\t\3\2\2\u01159\3\2\2\2\u0116\u0117\7;\2\2\u0117\u0119\7\36\2\2"+ + "\u0118\u011a\5<\37\2\u0119\u0118\3\2\2\2\u0119\u011a\3\2\2\2\u011a\u011b"+ + "\3\2\2\2\u011b\u011c\7\37\2\2\u011c;\3\2\2\2\u011d\u0122\5> \2\u011e\u011f"+ + "\7$\2\2\u011f\u0121\5> \2\u0120\u011e\3\2\2\2\u0121\u0124\3\2\2\2\u0122"+ + "\u0120\3\2\2\2\u0122\u0123\3\2\2\2\u0123=\3\2\2\2\u0124\u0122\3\2\2\2"+ + "\u0125\u0126\7X\2\2\u0126\u0127\7\27\2\2\u0127\u0128\5\62\32\2\u0128?"+ + "\3\2\2\2\u0129\u012a\7W\2\2\u012aA\3\2\2\2\33FMX_fnw\177\u008d\u0093\u0097"+ + "\u009d\u00a1\u00a7\u00b2\u00bf\u00ca\u00d5\u00e0\u00fe\u0103\u010c\u0112"+ + "\u0119\u0122"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Symbol.interp b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Symbol.interp new file mode 100644 index 00000000..16be7873 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Symbol.interp @@ -0,0 +1,143 @@ +token literal names: +null +'&&' +'||' +'!' +'~' +'|' +'&' +'<<' +'>>' +'^' +'%' +':' +'+' +'-' +'*' +'/' +'\\' +'.' +'.*' +'<=>' +'==' +'=' +null +'>' +'>=' +'<' +'<=' +'#' +'(' +')' +'{' +'}' +'[' +']' +',' +'"' +'\'' +'`' +'?' +'@' +';' +'->>' +'_' + +token symbolic names: +null +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ + +rule names: +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 44, 187, 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, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 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, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 142, 10, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 2, 2, 44, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 3, 2, 2, 2, 187, 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, 3, 87, 3, 2, 2, 2, 5, 90, 3, 2, 2, 2, 7, 93, 3, 2, 2, 2, 9, 95, 3, 2, 2, 2, 11, 97, 3, 2, 2, 2, 13, 99, 3, 2, 2, 2, 15, 101, 3, 2, 2, 2, 17, 104, 3, 2, 2, 2, 19, 107, 3, 2, 2, 2, 21, 109, 3, 2, 2, 2, 23, 111, 3, 2, 2, 2, 25, 113, 3, 2, 2, 2, 27, 115, 3, 2, 2, 2, 29, 117, 3, 2, 2, 2, 31, 119, 3, 2, 2, 2, 33, 121, 3, 2, 2, 2, 35, 123, 3, 2, 2, 2, 37, 125, 3, 2, 2, 2, 39, 128, 3, 2, 2, 2, 41, 132, 3, 2, 2, 2, 43, 135, 3, 2, 2, 2, 45, 141, 3, 2, 2, 2, 47, 143, 3, 2, 2, 2, 49, 145, 3, 2, 2, 2, 51, 148, 3, 2, 2, 2, 53, 150, 3, 2, 2, 2, 55, 153, 3, 2, 2, 2, 57, 155, 3, 2, 2, 2, 59, 157, 3, 2, 2, 2, 61, 159, 3, 2, 2, 2, 63, 161, 3, 2, 2, 2, 65, 163, 3, 2, 2, 2, 67, 165, 3, 2, 2, 2, 69, 167, 3, 2, 2, 2, 71, 169, 3, 2, 2, 2, 73, 171, 3, 2, 2, 2, 75, 173, 3, 2, 2, 2, 77, 175, 3, 2, 2, 2, 79, 177, 3, 2, 2, 2, 81, 179, 3, 2, 2, 2, 83, 181, 3, 2, 2, 2, 85, 185, 3, 2, 2, 2, 87, 88, 7, 40, 2, 2, 88, 89, 7, 40, 2, 2, 89, 4, 3, 2, 2, 2, 90, 91, 7, 126, 2, 2, 91, 92, 7, 126, 2, 2, 92, 6, 3, 2, 2, 2, 93, 94, 7, 35, 2, 2, 94, 8, 3, 2, 2, 2, 95, 96, 7, 128, 2, 2, 96, 10, 3, 2, 2, 2, 97, 98, 7, 126, 2, 2, 98, 12, 3, 2, 2, 2, 99, 100, 7, 40, 2, 2, 100, 14, 3, 2, 2, 2, 101, 102, 7, 62, 2, 2, 102, 103, 7, 62, 2, 2, 103, 16, 3, 2, 2, 2, 104, 105, 7, 64, 2, 2, 105, 106, 7, 64, 2, 2, 106, 18, 3, 2, 2, 2, 107, 108, 7, 96, 2, 2, 108, 20, 3, 2, 2, 2, 109, 110, 7, 39, 2, 2, 110, 22, 3, 2, 2, 2, 111, 112, 7, 60, 2, 2, 112, 24, 3, 2, 2, 2, 113, 114, 7, 45, 2, 2, 114, 26, 3, 2, 2, 2, 115, 116, 7, 47, 2, 2, 116, 28, 3, 2, 2, 2, 117, 118, 7, 44, 2, 2, 118, 30, 3, 2, 2, 2, 119, 120, 7, 49, 2, 2, 120, 32, 3, 2, 2, 2, 121, 122, 7, 94, 2, 2, 122, 34, 3, 2, 2, 2, 123, 124, 7, 48, 2, 2, 124, 36, 3, 2, 2, 2, 125, 126, 7, 48, 2, 2, 126, 127, 7, 44, 2, 2, 127, 38, 3, 2, 2, 2, 128, 129, 7, 62, 2, 2, 129, 130, 7, 63, 2, 2, 130, 131, 7, 64, 2, 2, 131, 40, 3, 2, 2, 2, 132, 133, 7, 63, 2, 2, 133, 134, 7, 63, 2, 2, 134, 42, 3, 2, 2, 2, 135, 136, 7, 63, 2, 2, 136, 44, 3, 2, 2, 2, 137, 138, 7, 62, 2, 2, 138, 142, 7, 64, 2, 2, 139, 140, 7, 35, 2, 2, 140, 142, 7, 63, 2, 2, 141, 137, 3, 2, 2, 2, 141, 139, 3, 2, 2, 2, 142, 46, 3, 2, 2, 2, 143, 144, 7, 64, 2, 2, 144, 48, 3, 2, 2, 2, 145, 146, 7, 64, 2, 2, 146, 147, 7, 63, 2, 2, 147, 50, 3, 2, 2, 2, 148, 149, 7, 62, 2, 2, 149, 52, 3, 2, 2, 2, 150, 151, 7, 62, 2, 2, 151, 152, 7, 63, 2, 2, 152, 54, 3, 2, 2, 2, 153, 154, 7, 37, 2, 2, 154, 56, 3, 2, 2, 2, 155, 156, 7, 42, 2, 2, 156, 58, 3, 2, 2, 2, 157, 158, 7, 43, 2, 2, 158, 60, 3, 2, 2, 2, 159, 160, 7, 125, 2, 2, 160, 62, 3, 2, 2, 2, 161, 162, 7, 127, 2, 2, 162, 64, 3, 2, 2, 2, 163, 164, 7, 93, 2, 2, 164, 66, 3, 2, 2, 2, 165, 166, 7, 95, 2, 2, 166, 68, 3, 2, 2, 2, 167, 168, 7, 46, 2, 2, 168, 70, 3, 2, 2, 2, 169, 170, 7, 36, 2, 2, 170, 72, 3, 2, 2, 2, 171, 172, 7, 41, 2, 2, 172, 74, 3, 2, 2, 2, 173, 174, 7, 98, 2, 2, 174, 76, 3, 2, 2, 2, 175, 176, 7, 65, 2, 2, 176, 78, 3, 2, 2, 2, 177, 178, 7, 66, 2, 2, 178, 80, 3, 2, 2, 2, 179, 180, 7, 61, 2, 2, 180, 82, 3, 2, 2, 2, 181, 182, 7, 47, 2, 2, 182, 183, 7, 64, 2, 2, 183, 184, 7, 64, 2, 2, 184, 84, 3, 2, 2, 2, 185, 186, 7, 97, 2, 2, 186, 86, 3, 2, 2, 2, 4, 2, 141, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Symbol.java b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Symbol.java new file mode 100644 index 00000000..d170e826 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Symbol.java @@ -0,0 +1,184 @@ +// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/encrypt/Symbol.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.misc.*; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class Symbol extends Lexer { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, + SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, + ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, + DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, + LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, + SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42; + public static String[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + + public static String[] modeNames = { + "DEFAULT_MODE" + }; + + private static String[] makeRuleNames() { + return new String[] { + "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", + "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", + "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", + "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", + "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", + "SEMI_", "JSONSEPARATOR_", "UL_" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", + "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", + "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", + "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", + "';'", "'->>'", "'_'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", + "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", + "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", + "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", + "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", + "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + + public Symbol(CharStream input) { + super(input); + _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + @Override + public String getGrammarFileName() { return "Symbol.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public String[] getChannelNames() { return channelNames; } + + @Override + public String[] getModeNames() { return modeNames; } + + @Override + public ATN getATN() { return _ATN; } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2,\u00bb\b\1\4\2\t"+ + "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ + "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ + "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ + "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ + "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\3"+ + "\2\3\2\3\2\3\3\3\3\3\3\3\4\3\4\3\5\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\t"+ + "\3\t\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3\17\3\17\3\20\3"+ + "\20\3\21\3\21\3\22\3\22\3\23\3\23\3\23\3\24\3\24\3\24\3\24\3\25\3\25\3"+ + "\25\3\26\3\26\3\27\3\27\3\27\3\27\5\27\u008e\n\27\3\30\3\30\3\31\3\31"+ + "\3\31\3\32\3\32\3\33\3\33\3\33\3\34\3\34\3\35\3\35\3\36\3\36\3\37\3\37"+ + "\3 \3 \3!\3!\3\"\3\"\3#\3#\3$\3$\3%\3%\3&\3&\3\'\3\'\3(\3(\3)\3)\3*\3"+ + "*\3*\3*\3+\3+\2\2,\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r"+ + "\31\16\33\17\35\20\37\21!\22#\23%\24\'\25)\26+\27-\30/\31\61\32\63\33"+ + "\65\34\67\359\36;\37= ?!A\"C#E$G%I&K\'M(O)Q*S+U,\3\2\2\2\u00bb\2\3\3\2"+ + "\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17"+ + "\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\31\3\2"+ + "\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2\2\2%\3"+ + "\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\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\29\3\2\2\2\2;\3\2\2\2\2"+ + "=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2\2I\3"+ + "\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2\2"+ + "\2\3W\3\2\2\2\5Z\3\2\2\2\7]\3\2\2\2\t_\3\2\2\2\13a\3\2\2\2\rc\3\2\2\2"+ + "\17e\3\2\2\2\21h\3\2\2\2\23k\3\2\2\2\25m\3\2\2\2\27o\3\2\2\2\31q\3\2\2"+ + "\2\33s\3\2\2\2\35u\3\2\2\2\37w\3\2\2\2!y\3\2\2\2#{\3\2\2\2%}\3\2\2\2\'"+ + "\u0080\3\2\2\2)\u0084\3\2\2\2+\u0087\3\2\2\2-\u008d\3\2\2\2/\u008f\3\2"+ + "\2\2\61\u0091\3\2\2\2\63\u0094\3\2\2\2\65\u0096\3\2\2\2\67\u0099\3\2\2"+ + "\29\u009b\3\2\2\2;\u009d\3\2\2\2=\u009f\3\2\2\2?\u00a1\3\2\2\2A\u00a3"+ + "\3\2\2\2C\u00a5\3\2\2\2E\u00a7\3\2\2\2G\u00a9\3\2\2\2I\u00ab\3\2\2\2K"+ + "\u00ad\3\2\2\2M\u00af\3\2\2\2O\u00b1\3\2\2\2Q\u00b3\3\2\2\2S\u00b5\3\2"+ + "\2\2U\u00b9\3\2\2\2WX\7(\2\2XY\7(\2\2Y\4\3\2\2\2Z[\7~\2\2[\\\7~\2\2\\"+ + "\6\3\2\2\2]^\7#\2\2^\b\3\2\2\2_`\7\u0080\2\2`\n\3\2\2\2ab\7~\2\2b\f\3"+ + "\2\2\2cd\7(\2\2d\16\3\2\2\2ef\7>\2\2fg\7>\2\2g\20\3\2\2\2hi\7@\2\2ij\7"+ + "@\2\2j\22\3\2\2\2kl\7`\2\2l\24\3\2\2\2mn\7\'\2\2n\26\3\2\2\2op\7<\2\2"+ + "p\30\3\2\2\2qr\7-\2\2r\32\3\2\2\2st\7/\2\2t\34\3\2\2\2uv\7,\2\2v\36\3"+ + "\2\2\2wx\7\61\2\2x \3\2\2\2yz\7^\2\2z\"\3\2\2\2{|\7\60\2\2|$\3\2\2\2}"+ + "~\7\60\2\2~\177\7,\2\2\177&\3\2\2\2\u0080\u0081\7>\2\2\u0081\u0082\7?"+ + "\2\2\u0082\u0083\7@\2\2\u0083(\3\2\2\2\u0084\u0085\7?\2\2\u0085\u0086"+ + "\7?\2\2\u0086*\3\2\2\2\u0087\u0088\7?\2\2\u0088,\3\2\2\2\u0089\u008a\7"+ + ">\2\2\u008a\u008e\7@\2\2\u008b\u008c\7#\2\2\u008c\u008e\7?\2\2\u008d\u0089"+ + "\3\2\2\2\u008d\u008b\3\2\2\2\u008e.\3\2\2\2\u008f\u0090\7@\2\2\u0090\60"+ + "\3\2\2\2\u0091\u0092\7@\2\2\u0092\u0093\7?\2\2\u0093\62\3\2\2\2\u0094"+ + "\u0095\7>\2\2\u0095\64\3\2\2\2\u0096\u0097\7>\2\2\u0097\u0098\7?\2\2\u0098"+ + "\66\3\2\2\2\u0099\u009a\7%\2\2\u009a8\3\2\2\2\u009b\u009c\7*\2\2\u009c"+ + ":\3\2\2\2\u009d\u009e\7+\2\2\u009e<\3\2\2\2\u009f\u00a0\7}\2\2\u00a0>"+ + "\3\2\2\2\u00a1\u00a2\7\177\2\2\u00a2@\3\2\2\2\u00a3\u00a4\7]\2\2\u00a4"+ + "B\3\2\2\2\u00a5\u00a6\7_\2\2\u00a6D\3\2\2\2\u00a7\u00a8\7.\2\2\u00a8F"+ + "\3\2\2\2\u00a9\u00aa\7$\2\2\u00aaH\3\2\2\2\u00ab\u00ac\7)\2\2\u00acJ\3"+ + "\2\2\2\u00ad\u00ae\7b\2\2\u00aeL\3\2\2\2\u00af\u00b0\7A\2\2\u00b0N\3\2"+ + "\2\2\u00b1\u00b2\7B\2\2\u00b2P\3\2\2\2\u00b3\u00b4\7=\2\2\u00b4R\3\2\2"+ + "\2\u00b5\u00b6\7/\2\2\u00b6\u00b7\7@\2\2\u00b7\u00b8\7@\2\2\u00b8T\3\2"+ + "\2\2\u00b9\u00ba\7a\2\2\u00baV\3\2\2\2\4\2\u008d\2"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Symbol.tokens b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Symbol.tokens new file mode 100644 index 00000000..e2613cd6 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Symbol.tokens @@ -0,0 +1,83 @@ +AND_=1 +OR_=2 +NOT_=3 +TILDE_=4 +VERTICALBAR_=5 +AMPERSAND_=6 +SIGNEDLEFTSHIFT_=7 +SIGNEDRIGHTSHIFT_=8 +CARET_=9 +MOD_=10 +COLON_=11 +PLUS_=12 +MINUS_=13 +ASTERISK_=14 +SLASH_=15 +BACKSLASH_=16 +DOT_=17 +DOTASTERISK_=18 +SAFEEQ_=19 +DEQ_=20 +EQ_=21 +NEQ_=22 +GT_=23 +GTE_=24 +LT_=25 +LTE_=26 +POUND_=27 +LP_=28 +RP_=29 +LBE_=30 +RBE_=31 +LBT_=32 +RBT_=33 +COMMA_=34 +DQ_=35 +SQ_=36 +BQ_=37 +QUESTION_=38 +AT_=39 +SEMI_=40 +JSONSEPARATOR_=41 +UL_=42 +'&&'=1 +'||'=2 +'!'=3 +'~'=4 +'|'=5 +'&'=6 +'<<'=7 +'>>'=8 +'^'=9 +'%'=10 +':'=11 +'+'=12 +'-'=13 +'*'=14 +'/'=15 +'\\'=16 +'.'=17 +'.*'=18 +'<=>'=19 +'=='=20 +'='=21 +'>'=23 +'>='=24 +'<'=25 +'<='=26 +'#'=27 +'('=28 +')'=29 +'{'=30 +'}'=31 +'['=32 +']'=33 +','=34 +'"'=35 +'\''=36 +'`'=37 +'?'=38 +'@'=39 +';'=40 +'->>'=41 +'_'=42 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Alphabet.interp b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Alphabet.interp new file mode 100644 index 00000000..edd4b2d1 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Alphabet.interp @@ -0,0 +1,47 @@ +token literal names: +null +'DO NOT MATCH ANY THING, JUST FOR GENERATOR' + +token symbolic names: +null +FOR_GENERATOR + +rule names: +FOR_GENERATOR +A +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y +Z +UL_ + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 3, 156, 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, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 3, 18, 3, 18, 3, 19, 3, 19, 3, 20, 3, 20, 3, 21, 3, 21, 3, 22, 3, 22, 3, 23, 3, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 2, 2, 30, 3, 3, 5, 2, 7, 2, 9, 2, 11, 2, 13, 2, 15, 2, 17, 2, 19, 2, 21, 2, 23, 2, 25, 2, 27, 2, 29, 2, 31, 2, 33, 2, 35, 2, 37, 2, 39, 2, 41, 2, 43, 2, 45, 2, 47, 2, 49, 2, 51, 2, 53, 2, 55, 2, 57, 2, 3, 2, 28, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 2, 128, 2, 3, 3, 2, 2, 2, 3, 59, 3, 2, 2, 2, 5, 102, 3, 2, 2, 2, 7, 104, 3, 2, 2, 2, 9, 106, 3, 2, 2, 2, 11, 108, 3, 2, 2, 2, 13, 110, 3, 2, 2, 2, 15, 112, 3, 2, 2, 2, 17, 114, 3, 2, 2, 2, 19, 116, 3, 2, 2, 2, 21, 118, 3, 2, 2, 2, 23, 120, 3, 2, 2, 2, 25, 122, 3, 2, 2, 2, 27, 124, 3, 2, 2, 2, 29, 126, 3, 2, 2, 2, 31, 128, 3, 2, 2, 2, 33, 130, 3, 2, 2, 2, 35, 132, 3, 2, 2, 2, 37, 134, 3, 2, 2, 2, 39, 136, 3, 2, 2, 2, 41, 138, 3, 2, 2, 2, 43, 140, 3, 2, 2, 2, 45, 142, 3, 2, 2, 2, 47, 144, 3, 2, 2, 2, 49, 146, 3, 2, 2, 2, 51, 148, 3, 2, 2, 2, 53, 150, 3, 2, 2, 2, 55, 152, 3, 2, 2, 2, 57, 154, 3, 2, 2, 2, 59, 60, 7, 70, 2, 2, 60, 61, 7, 81, 2, 2, 61, 62, 7, 34, 2, 2, 62, 63, 7, 80, 2, 2, 63, 64, 7, 81, 2, 2, 64, 65, 7, 86, 2, 2, 65, 66, 7, 34, 2, 2, 66, 67, 7, 79, 2, 2, 67, 68, 7, 67, 2, 2, 68, 69, 7, 86, 2, 2, 69, 70, 7, 69, 2, 2, 70, 71, 7, 74, 2, 2, 71, 72, 7, 34, 2, 2, 72, 73, 7, 67, 2, 2, 73, 74, 7, 80, 2, 2, 74, 75, 7, 91, 2, 2, 75, 76, 7, 34, 2, 2, 76, 77, 7, 86, 2, 2, 77, 78, 7, 74, 2, 2, 78, 79, 7, 75, 2, 2, 79, 80, 7, 80, 2, 2, 80, 81, 7, 73, 2, 2, 81, 82, 7, 46, 2, 2, 82, 83, 7, 34, 2, 2, 83, 84, 7, 76, 2, 2, 84, 85, 7, 87, 2, 2, 85, 86, 7, 85, 2, 2, 86, 87, 7, 86, 2, 2, 87, 88, 7, 34, 2, 2, 88, 89, 7, 72, 2, 2, 89, 90, 7, 81, 2, 2, 90, 91, 7, 84, 2, 2, 91, 92, 7, 34, 2, 2, 92, 93, 7, 73, 2, 2, 93, 94, 7, 71, 2, 2, 94, 95, 7, 80, 2, 2, 95, 96, 7, 71, 2, 2, 96, 97, 7, 84, 2, 2, 97, 98, 7, 67, 2, 2, 98, 99, 7, 86, 2, 2, 99, 100, 7, 81, 2, 2, 100, 101, 7, 84, 2, 2, 101, 4, 3, 2, 2, 2, 102, 103, 9, 2, 2, 2, 103, 6, 3, 2, 2, 2, 104, 105, 9, 3, 2, 2, 105, 8, 3, 2, 2, 2, 106, 107, 9, 4, 2, 2, 107, 10, 3, 2, 2, 2, 108, 109, 9, 5, 2, 2, 109, 12, 3, 2, 2, 2, 110, 111, 9, 6, 2, 2, 111, 14, 3, 2, 2, 2, 112, 113, 9, 7, 2, 2, 113, 16, 3, 2, 2, 2, 114, 115, 9, 8, 2, 2, 115, 18, 3, 2, 2, 2, 116, 117, 9, 9, 2, 2, 117, 20, 3, 2, 2, 2, 118, 119, 9, 10, 2, 2, 119, 22, 3, 2, 2, 2, 120, 121, 9, 11, 2, 2, 121, 24, 3, 2, 2, 2, 122, 123, 9, 12, 2, 2, 123, 26, 3, 2, 2, 2, 124, 125, 9, 13, 2, 2, 125, 28, 3, 2, 2, 2, 126, 127, 9, 14, 2, 2, 127, 30, 3, 2, 2, 2, 128, 129, 9, 15, 2, 2, 129, 32, 3, 2, 2, 2, 130, 131, 9, 16, 2, 2, 131, 34, 3, 2, 2, 2, 132, 133, 9, 17, 2, 2, 133, 36, 3, 2, 2, 2, 134, 135, 9, 18, 2, 2, 135, 38, 3, 2, 2, 2, 136, 137, 9, 19, 2, 2, 137, 40, 3, 2, 2, 2, 138, 139, 9, 20, 2, 2, 139, 42, 3, 2, 2, 2, 140, 141, 9, 21, 2, 2, 141, 44, 3, 2, 2, 2, 142, 143, 9, 22, 2, 2, 143, 46, 3, 2, 2, 2, 144, 145, 9, 23, 2, 2, 145, 48, 3, 2, 2, 2, 146, 147, 9, 24, 2, 2, 147, 50, 3, 2, 2, 2, 148, 149, 9, 25, 2, 2, 149, 52, 3, 2, 2, 2, 150, 151, 9, 26, 2, 2, 151, 54, 3, 2, 2, 2, 152, 153, 9, 27, 2, 2, 153, 56, 3, 2, 2, 2, 154, 155, 7, 97, 2, 2, 155, 58, 3, 2, 2, 2, 3, 2, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Alphabet.java b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Alphabet.java new file mode 100644 index 00000000..fb305ef0 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Alphabet.java @@ -0,0 +1,154 @@ +// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/mask/Alphabet.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.misc.*; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class Alphabet extends Lexer { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + FOR_GENERATOR=1; + public static String[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + + public static String[] modeNames = { + "DEFAULT_MODE" + }; + + private static String[] makeRuleNames() { + return new String[] { + "FOR_GENERATOR", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", + "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", + "Z", "UL_" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "FOR_GENERATOR" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + + public Alphabet(CharStream input) { + super(input); + _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + @Override + public String getGrammarFileName() { return "Alphabet.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public String[] getChannelNames() { return channelNames; } + + @Override + public String[] getModeNames() { return modeNames; } + + @Override + public ATN getATN() { return _ATN; } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2\3\u009c\b\1\4\2\t"+ + "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ + "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ + "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ + "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3"+ + "\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2"+ + "\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3"+ + "\2\3\3\3\3\3\4\3\4\3\5\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\t\3\t\3\n\3\n\3\13"+ + "\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3\17\3\17\3\20\3\20\3\21\3\21\3\22\3\22"+ + "\3\23\3\23\3\24\3\24\3\25\3\25\3\26\3\26\3\27\3\27\3\30\3\30\3\31\3\31"+ + "\3\32\3\32\3\33\3\33\3\34\3\34\3\35\3\35\2\2\36\3\3\5\2\7\2\t\2\13\2\r"+ + "\2\17\2\21\2\23\2\25\2\27\2\31\2\33\2\35\2\37\2!\2#\2%\2\'\2)\2+\2-\2"+ + "/\2\61\2\63\2\65\2\67\29\2\3\2\34\4\2CCcc\4\2DDdd\4\2EEee\4\2FFff\4\2"+ + "GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4\2LLll\4\2MMmm\4\2NNnn\4\2OOoo\4"+ + "\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4\2TTtt\4\2UUuu\4\2VVvv\4\2WWww\4\2XXx"+ + "x\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\||\2\u0080\2\3\3\2\2\2\3;\3\2\2\2\5f"+ + "\3\2\2\2\7h\3\2\2\2\tj\3\2\2\2\13l\3\2\2\2\rn\3\2\2\2\17p\3\2\2\2\21r"+ + "\3\2\2\2\23t\3\2\2\2\25v\3\2\2\2\27x\3\2\2\2\31z\3\2\2\2\33|\3\2\2\2\35"+ + "~\3\2\2\2\37\u0080\3\2\2\2!\u0082\3\2\2\2#\u0084\3\2\2\2%\u0086\3\2\2"+ + "\2\'\u0088\3\2\2\2)\u008a\3\2\2\2+\u008c\3\2\2\2-\u008e\3\2\2\2/\u0090"+ + "\3\2\2\2\61\u0092\3\2\2\2\63\u0094\3\2\2\2\65\u0096\3\2\2\2\67\u0098\3"+ + "\2\2\29\u009a\3\2\2\2;<\7F\2\2<=\7Q\2\2=>\7\"\2\2>?\7P\2\2?@\7Q\2\2@A"+ + "\7V\2\2AB\7\"\2\2BC\7O\2\2CD\7C\2\2DE\7V\2\2EF\7E\2\2FG\7J\2\2GH\7\"\2"+ + "\2HI\7C\2\2IJ\7P\2\2JK\7[\2\2KL\7\"\2\2LM\7V\2\2MN\7J\2\2NO\7K\2\2OP\7"+ + "P\2\2PQ\7I\2\2QR\7.\2\2RS\7\"\2\2ST\7L\2\2TU\7W\2\2UV\7U\2\2VW\7V\2\2"+ + "WX\7\"\2\2XY\7H\2\2YZ\7Q\2\2Z[\7T\2\2[\\\7\"\2\2\\]\7I\2\2]^\7G\2\2^_"+ + "\7P\2\2_`\7G\2\2`a\7T\2\2ab\7C\2\2bc\7V\2\2cd\7Q\2\2de\7T\2\2e\4\3\2\2"+ + "\2fg\t\2\2\2g\6\3\2\2\2hi\t\3\2\2i\b\3\2\2\2jk\t\4\2\2k\n\3\2\2\2lm\t"+ + "\5\2\2m\f\3\2\2\2no\t\6\2\2o\16\3\2\2\2pq\t\7\2\2q\20\3\2\2\2rs\t\b\2"+ + "\2s\22\3\2\2\2tu\t\t\2\2u\24\3\2\2\2vw\t\n\2\2w\26\3\2\2\2xy\t\13\2\2"+ + "y\30\3\2\2\2z{\t\f\2\2{\32\3\2\2\2|}\t\r\2\2}\34\3\2\2\2~\177\t\16\2\2"+ + "\177\36\3\2\2\2\u0080\u0081\t\17\2\2\u0081 \3\2\2\2\u0082\u0083\t\20\2"+ + "\2\u0083\"\3\2\2\2\u0084\u0085\t\21\2\2\u0085$\3\2\2\2\u0086\u0087\t\22"+ + "\2\2\u0087&\3\2\2\2\u0088\u0089\t\23\2\2\u0089(\3\2\2\2\u008a\u008b\t"+ + "\24\2\2\u008b*\3\2\2\2\u008c\u008d\t\25\2\2\u008d,\3\2\2\2\u008e\u008f"+ + "\t\26\2\2\u008f.\3\2\2\2\u0090\u0091\t\27\2\2\u0091\60\3\2\2\2\u0092\u0093"+ + "\t\30\2\2\u0093\62\3\2\2\2\u0094\u0095\t\31\2\2\u0095\64\3\2\2\2\u0096"+ + "\u0097\t\32\2\2\u0097\66\3\2\2\2\u0098\u0099\t\33\2\2\u00998\3\2\2\2\u009a"+ + "\u009b\7a\2\2\u009b:\3\2\2\2\3\2\2"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Alphabet.tokens b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Alphabet.tokens new file mode 100644 index 00000000..a5be65d8 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Alphabet.tokens @@ -0,0 +1,2 @@ +FOR_GENERATOR=1 +'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=1 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRule.interp b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRule.interp new file mode 100644 index 00000000..3279e60d --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRule.interp @@ -0,0 +1,189 @@ +token literal names: +null +'&&' +'||' +'!' +'~' +'|' +'&' +'<<' +'>>' +'^' +'%' +':' +'+' +'-' +'*' +'/' +'\\' +'.' +'.*' +'<=>' +'==' +'=' +null +'>' +'>=' +'<' +'<=' +'#' +'(' +')' +'{' +'}' +'[' +']' +',' +'"' +'\'' +'`' +'?' +'@' +';' +'->>' +'_' +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +'DO NOT MATCH ANY THING, JUST FOR GENERATOR' +null +null +null +null +null +null +null + +token symbolic names: +null +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ +WS +TRUE +FALSE +CREATE +ALTER +DROP +SHOW +RULE +FROM +MASK +TYPE +NAME +PROPERTIES +COLUMN +RULES +TABLE +COLUMNS +IF +EXISTS +COUNT +NOT +MD5 +KEEP_FIRST_N_LAST_M +KEEP_FROM_X_TO_Y +MASK_FIRST_N_LAST_M +MASK_FROM_X_TO_Y +MASK_BEFORE_SPECIAL_CHARS +MASK_AFTER_SPECIAL_CHARS +PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE +MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE +LANDLINE_NUMBER_RANDOM_REPLACE +TELEPHONE_RANDOM_REPLACE +UNIFIED_CREDIT_CODE_RANDOM_REPLACE +GENERIC_TABLE_RANDOM_REPLACE +ADDRESS_RANDOM_REPLACE +FOR_GENERATOR +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ + +rule names: +literal +algorithmDefinition +algorithmTypeName +buildInMaskAlgorithmType +propertiesDefinition +properties +property +ruleName + + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 87, 66, 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, 3, 2, 3, 2, 5, 2, 21, 10, 2, 3, 2, 3, 2, 3, 2, 5, 2, 26, 10, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 35, 10, 3, 3, 3, 3, 3, 3, 4, 3, 4, 5, 4, 41, 10, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 5, 6, 48, 10, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 7, 7, 55, 10, 7, 12, 7, 14, 7, 58, 11, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 2, 2, 10, 2, 4, 6, 8, 10, 12, 14, 16, 2, 3, 3, 2, 66, 78, 2, 65, 2, 25, 3, 2, 2, 2, 4, 27, 3, 2, 2, 2, 6, 40, 3, 2, 2, 2, 8, 42, 3, 2, 2, 2, 10, 44, 3, 2, 2, 2, 12, 51, 3, 2, 2, 2, 14, 59, 3, 2, 2, 2, 16, 63, 3, 2, 2, 2, 18, 26, 7, 82, 2, 2, 19, 21, 7, 15, 2, 2, 20, 19, 3, 2, 2, 2, 20, 21, 3, 2, 2, 2, 21, 22, 3, 2, 2, 2, 22, 26, 7, 83, 2, 2, 23, 26, 7, 46, 2, 2, 24, 26, 7, 47, 2, 2, 25, 18, 3, 2, 2, 2, 25, 20, 3, 2, 2, 2, 25, 23, 3, 2, 2, 2, 25, 24, 3, 2, 2, 2, 26, 3, 3, 2, 2, 2, 27, 28, 7, 55, 2, 2, 28, 29, 7, 30, 2, 2, 29, 30, 7, 56, 2, 2, 30, 31, 7, 23, 2, 2, 31, 34, 5, 6, 4, 2, 32, 33, 7, 36, 2, 2, 33, 35, 5, 10, 6, 2, 34, 32, 3, 2, 2, 2, 34, 35, 3, 2, 2, 2, 35, 36, 3, 2, 2, 2, 36, 37, 7, 31, 2, 2, 37, 5, 3, 2, 2, 2, 38, 41, 7, 82, 2, 2, 39, 41, 5, 8, 5, 2, 40, 38, 3, 2, 2, 2, 40, 39, 3, 2, 2, 2, 41, 7, 3, 2, 2, 2, 42, 43, 9, 2, 2, 2, 43, 9, 3, 2, 2, 2, 44, 45, 7, 57, 2, 2, 45, 47, 7, 30, 2, 2, 46, 48, 5, 12, 7, 2, 47, 46, 3, 2, 2, 2, 47, 48, 3, 2, 2, 2, 48, 49, 3, 2, 2, 2, 49, 50, 7, 31, 2, 2, 50, 11, 3, 2, 2, 2, 51, 56, 5, 14, 8, 2, 52, 53, 7, 36, 2, 2, 53, 55, 5, 14, 8, 2, 54, 52, 3, 2, 2, 2, 55, 58, 3, 2, 2, 2, 56, 54, 3, 2, 2, 2, 56, 57, 3, 2, 2, 2, 57, 13, 3, 2, 2, 2, 58, 56, 3, 2, 2, 2, 59, 60, 7, 82, 2, 2, 60, 61, 7, 23, 2, 2, 61, 62, 5, 2, 2, 2, 62, 15, 3, 2, 2, 2, 63, 64, 7, 81, 2, 2, 64, 17, 3, 2, 2, 2, 8, 20, 25, 34, 40, 47, 56] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRule.tokens b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRule.tokens new file mode 100644 index 00000000..8f82b7ee --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRule.tokens @@ -0,0 +1,127 @@ +AND_=1 +OR_=2 +NOT_=3 +TILDE_=4 +VERTICALBAR_=5 +AMPERSAND_=6 +SIGNEDLEFTSHIFT_=7 +SIGNEDRIGHTSHIFT_=8 +CARET_=9 +MOD_=10 +COLON_=11 +PLUS_=12 +MINUS_=13 +ASTERISK_=14 +SLASH_=15 +BACKSLASH_=16 +DOT_=17 +DOTASTERISK_=18 +SAFEEQ_=19 +DEQ_=20 +EQ_=21 +NEQ_=22 +GT_=23 +GTE_=24 +LT_=25 +LTE_=26 +POUND_=27 +LP_=28 +RP_=29 +LBE_=30 +RBE_=31 +LBT_=32 +RBT_=33 +COMMA_=34 +DQ_=35 +SQ_=36 +BQ_=37 +QUESTION_=38 +AT_=39 +SEMI_=40 +JSONSEPARATOR_=41 +UL_=42 +WS=43 +TRUE=44 +FALSE=45 +CREATE=46 +ALTER=47 +DROP=48 +SHOW=49 +RULE=50 +FROM=51 +MASK=52 +TYPE=53 +NAME=54 +PROPERTIES=55 +COLUMN=56 +RULES=57 +TABLE=58 +COLUMNS=59 +IF=60 +EXISTS=61 +COUNT=62 +NOT=63 +MD5=64 +KEEP_FIRST_N_LAST_M=65 +KEEP_FROM_X_TO_Y=66 +MASK_FIRST_N_LAST_M=67 +MASK_FROM_X_TO_Y=68 +MASK_BEFORE_SPECIAL_CHARS=69 +MASK_AFTER_SPECIAL_CHARS=70 +PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE=71 +MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE=72 +LANDLINE_NUMBER_RANDOM_REPLACE=73 +TELEPHONE_RANDOM_REPLACE=74 +UNIFIED_CREDIT_CODE_RANDOM_REPLACE=75 +GENERIC_TABLE_RANDOM_REPLACE=76 +ADDRESS_RANDOM_REPLACE=77 +FOR_GENERATOR=78 +IDENTIFIER_=79 +STRING_=80 +INT_=81 +HEX_=82 +NUMBER_=83 +HEXDIGIT_=84 +BITNUM_=85 +'&&'=1 +'||'=2 +'!'=3 +'~'=4 +'|'=5 +'&'=6 +'<<'=7 +'>>'=8 +'^'=9 +'%'=10 +':'=11 +'+'=12 +'-'=13 +'*'=14 +'/'=15 +'\\'=16 +'.'=17 +'.*'=18 +'<=>'=19 +'=='=20 +'='=21 +'>'=23 +'>='=24 +'<'=25 +'<='=26 +'#'=27 +'('=28 +')'=29 +'{'=30 +'}'=31 +'['=32 +']'=33 +','=34 +'"'=35 +'\''=36 +'`'=37 +'?'=38 +'@'=39 +';'=40 +'->>'=41 +'_'=42 +'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=78 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleLexer.interp b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleLexer.interp new file mode 100644 index 00000000..925a75d6 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleLexer.interp @@ -0,0 +1,298 @@ +token literal names: +null +'&&' +'||' +'!' +'~' +'|' +'&' +'<<' +'>>' +'^' +'%' +':' +'+' +'-' +'*' +'/' +'\\' +'.' +'.*' +'<=>' +'==' +'=' +null +'>' +'>=' +'<' +'<=' +'#' +'(' +')' +'{' +'}' +'[' +']' +',' +'"' +'\'' +'`' +'?' +'@' +';' +'->>' +'_' +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +'DO NOT MATCH ANY THING, JUST FOR GENERATOR' +null +null +null +null +null +null +null + +token symbolic names: +null +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ +WS +TRUE +FALSE +CREATE +ALTER +DROP +SHOW +RULE +FROM +MASK +TYPE +NAME +PROPERTIES +COLUMN +RULES +TABLE +COLUMNS +IF +EXISTS +COUNT +NOT +MD5 +KEEP_FIRST_N_LAST_M +KEEP_FROM_X_TO_Y +MASK_FIRST_N_LAST_M +MASK_FROM_X_TO_Y +MASK_BEFORE_SPECIAL_CHARS +MASK_AFTER_SPECIAL_CHARS +PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE +MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE +LANDLINE_NUMBER_RANDOM_REPLACE +TELEPHONE_RANDOM_REPLACE +UNIFIED_CREDIT_CODE_RANDOM_REPLACE +GENERIC_TABLE_RANDOM_REPLACE +ADDRESS_RANDOM_REPLACE +FOR_GENERATOR +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ + +rule names: +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ +WS +TRUE +FALSE +CREATE +ALTER +DROP +SHOW +RULE +FROM +MASK +TYPE +NAME +PROPERTIES +COLUMN +RULES +TABLE +COLUMNS +IF +EXISTS +COUNT +NOT +MD5 +KEEP_FIRST_N_LAST_M +KEEP_FROM_X_TO_Y +MASK_FIRST_N_LAST_M +MASK_FROM_X_TO_Y +MASK_BEFORE_SPECIAL_CHARS +MASK_AFTER_SPECIAL_CHARS +PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE +MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE +LANDLINE_NUMBER_RANDOM_REPLACE +TELEPHONE_RANDOM_REPLACE +UNIFIED_CREDIT_CODE_RANDOM_REPLACE +GENERIC_TABLE_RANDOM_REPLACE +ADDRESS_RANDOM_REPLACE +FOR_GENERATOR +A +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y +Z +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 87, 1012, 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, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 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, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 280, 10, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 44, 6, 44, 327, 10, 44, 13, 44, 14, 44, 328, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 64, 3, 65, 3, 65, 3, 65, 3, 65, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 80, 3, 80, 3, 81, 3, 81, 3, 82, 3, 82, 3, 83, 3, 83, 3, 84, 3, 84, 3, 85, 3, 85, 3, 86, 3, 86, 3, 87, 3, 87, 3, 88, 3, 88, 3, 89, 3, 89, 3, 90, 3, 90, 3, 91, 3, 91, 3, 92, 3, 92, 3, 93, 3, 93, 3, 94, 3, 94, 3, 95, 3, 95, 3, 96, 3, 96, 3, 97, 3, 97, 3, 98, 3, 98, 3, 99, 3, 99, 3, 100, 3, 100, 3, 101, 3, 101, 3, 102, 3, 102, 3, 103, 3, 103, 3, 104, 3, 104, 3, 105, 3, 105, 3, 106, 7, 106, 898, 10, 106, 12, 106, 14, 106, 901, 11, 106, 3, 106, 6, 106, 904, 10, 106, 13, 106, 14, 106, 905, 3, 106, 7, 106, 909, 10, 106, 12, 106, 14, 106, 912, 11, 106, 3, 106, 3, 106, 6, 106, 916, 10, 106, 13, 106, 14, 106, 917, 3, 106, 3, 106, 5, 106, 922, 10, 106, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 7, 107, 930, 10, 107, 12, 107, 14, 107, 933, 11, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 7, 107, 943, 10, 107, 12, 107, 14, 107, 946, 11, 107, 3, 107, 3, 107, 5, 107, 950, 10, 107, 3, 108, 6, 108, 953, 10, 108, 13, 108, 14, 108, 954, 3, 109, 3, 109, 3, 110, 5, 110, 960, 10, 110, 3, 110, 5, 110, 963, 10, 110, 3, 110, 3, 110, 3, 110, 3, 110, 5, 110, 969, 10, 110, 3, 110, 3, 110, 5, 110, 973, 10, 110, 3, 111, 3, 111, 3, 111, 3, 111, 6, 111, 979, 10, 111, 13, 111, 14, 111, 980, 3, 111, 3, 111, 3, 111, 6, 111, 986, 10, 111, 13, 111, 14, 111, 987, 3, 111, 3, 111, 5, 111, 992, 10, 111, 3, 112, 3, 112, 3, 112, 3, 112, 6, 112, 998, 10, 112, 13, 112, 14, 112, 999, 3, 112, 3, 112, 3, 112, 6, 112, 1005, 10, 112, 13, 112, 14, 112, 1006, 3, 112, 3, 112, 5, 112, 1011, 10, 112, 4, 899, 905, 2, 113, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, 91, 47, 93, 48, 95, 49, 97, 50, 99, 51, 101, 52, 103, 53, 105, 54, 107, 55, 109, 56, 111, 57, 113, 58, 115, 59, 117, 60, 119, 61, 121, 62, 123, 63, 125, 64, 127, 65, 129, 66, 131, 67, 133, 68, 135, 69, 137, 70, 139, 71, 141, 72, 143, 73, 145, 74, 147, 75, 149, 76, 151, 77, 153, 78, 155, 79, 157, 80, 159, 2, 161, 2, 163, 2, 165, 2, 167, 2, 169, 2, 171, 2, 173, 2, 175, 2, 177, 2, 179, 2, 181, 2, 183, 2, 185, 2, 187, 2, 189, 2, 191, 2, 193, 2, 195, 2, 197, 2, 199, 2, 201, 2, 203, 2, 205, 2, 207, 2, 209, 2, 211, 81, 213, 82, 215, 83, 217, 84, 219, 85, 221, 86, 223, 87, 3, 2, 37, 5, 2, 11, 12, 15, 15, 34, 34, 3, 2, 55, 55, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 7, 2, 38, 38, 50, 59, 67, 92, 97, 97, 99, 124, 6, 2, 38, 38, 67, 92, 97, 97, 99, 124, 3, 2, 98, 98, 4, 2, 36, 36, 94, 94, 4, 2, 41, 41, 94, 94, 3, 2, 50, 59, 5, 2, 50, 59, 67, 72, 99, 104, 2, 1011, 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, 211, 3, 2, 2, 2, 2, 213, 3, 2, 2, 2, 2, 215, 3, 2, 2, 2, 2, 217, 3, 2, 2, 2, 2, 219, 3, 2, 2, 2, 2, 221, 3, 2, 2, 2, 2, 223, 3, 2, 2, 2, 3, 225, 3, 2, 2, 2, 5, 228, 3, 2, 2, 2, 7, 231, 3, 2, 2, 2, 9, 233, 3, 2, 2, 2, 11, 235, 3, 2, 2, 2, 13, 237, 3, 2, 2, 2, 15, 239, 3, 2, 2, 2, 17, 242, 3, 2, 2, 2, 19, 245, 3, 2, 2, 2, 21, 247, 3, 2, 2, 2, 23, 249, 3, 2, 2, 2, 25, 251, 3, 2, 2, 2, 27, 253, 3, 2, 2, 2, 29, 255, 3, 2, 2, 2, 31, 257, 3, 2, 2, 2, 33, 259, 3, 2, 2, 2, 35, 261, 3, 2, 2, 2, 37, 263, 3, 2, 2, 2, 39, 266, 3, 2, 2, 2, 41, 270, 3, 2, 2, 2, 43, 273, 3, 2, 2, 2, 45, 279, 3, 2, 2, 2, 47, 281, 3, 2, 2, 2, 49, 283, 3, 2, 2, 2, 51, 286, 3, 2, 2, 2, 53, 288, 3, 2, 2, 2, 55, 291, 3, 2, 2, 2, 57, 293, 3, 2, 2, 2, 59, 295, 3, 2, 2, 2, 61, 297, 3, 2, 2, 2, 63, 299, 3, 2, 2, 2, 65, 301, 3, 2, 2, 2, 67, 303, 3, 2, 2, 2, 69, 305, 3, 2, 2, 2, 71, 307, 3, 2, 2, 2, 73, 309, 3, 2, 2, 2, 75, 311, 3, 2, 2, 2, 77, 313, 3, 2, 2, 2, 79, 315, 3, 2, 2, 2, 81, 317, 3, 2, 2, 2, 83, 319, 3, 2, 2, 2, 85, 323, 3, 2, 2, 2, 87, 326, 3, 2, 2, 2, 89, 332, 3, 2, 2, 2, 91, 337, 3, 2, 2, 2, 93, 343, 3, 2, 2, 2, 95, 350, 3, 2, 2, 2, 97, 356, 3, 2, 2, 2, 99, 361, 3, 2, 2, 2, 101, 366, 3, 2, 2, 2, 103, 371, 3, 2, 2, 2, 105, 376, 3, 2, 2, 2, 107, 381, 3, 2, 2, 2, 109, 386, 3, 2, 2, 2, 111, 391, 3, 2, 2, 2, 113, 402, 3, 2, 2, 2, 115, 409, 3, 2, 2, 2, 117, 415, 3, 2, 2, 2, 119, 421, 3, 2, 2, 2, 121, 429, 3, 2, 2, 2, 123, 432, 3, 2, 2, 2, 125, 439, 3, 2, 2, 2, 127, 445, 3, 2, 2, 2, 129, 449, 3, 2, 2, 2, 131, 453, 3, 2, 2, 2, 133, 473, 3, 2, 2, 2, 135, 490, 3, 2, 2, 2, 137, 510, 3, 2, 2, 2, 139, 527, 3, 2, 2, 2, 141, 553, 3, 2, 2, 2, 143, 578, 3, 2, 2, 2, 145, 618, 3, 2, 2, 2, 147, 658, 3, 2, 2, 2, 149, 689, 3, 2, 2, 2, 151, 714, 3, 2, 2, 2, 153, 749, 3, 2, 2, 2, 155, 778, 3, 2, 2, 2, 157, 801, 3, 2, 2, 2, 159, 844, 3, 2, 2, 2, 161, 846, 3, 2, 2, 2, 163, 848, 3, 2, 2, 2, 165, 850, 3, 2, 2, 2, 167, 852, 3, 2, 2, 2, 169, 854, 3, 2, 2, 2, 171, 856, 3, 2, 2, 2, 173, 858, 3, 2, 2, 2, 175, 860, 3, 2, 2, 2, 177, 862, 3, 2, 2, 2, 179, 864, 3, 2, 2, 2, 181, 866, 3, 2, 2, 2, 183, 868, 3, 2, 2, 2, 185, 870, 3, 2, 2, 2, 187, 872, 3, 2, 2, 2, 189, 874, 3, 2, 2, 2, 191, 876, 3, 2, 2, 2, 193, 878, 3, 2, 2, 2, 195, 880, 3, 2, 2, 2, 197, 882, 3, 2, 2, 2, 199, 884, 3, 2, 2, 2, 201, 886, 3, 2, 2, 2, 203, 888, 3, 2, 2, 2, 205, 890, 3, 2, 2, 2, 207, 892, 3, 2, 2, 2, 209, 894, 3, 2, 2, 2, 211, 921, 3, 2, 2, 2, 213, 949, 3, 2, 2, 2, 215, 952, 3, 2, 2, 2, 217, 956, 3, 2, 2, 2, 219, 959, 3, 2, 2, 2, 221, 991, 3, 2, 2, 2, 223, 1010, 3, 2, 2, 2, 225, 226, 7, 40, 2, 2, 226, 227, 7, 40, 2, 2, 227, 4, 3, 2, 2, 2, 228, 229, 7, 126, 2, 2, 229, 230, 7, 126, 2, 2, 230, 6, 3, 2, 2, 2, 231, 232, 7, 35, 2, 2, 232, 8, 3, 2, 2, 2, 233, 234, 7, 128, 2, 2, 234, 10, 3, 2, 2, 2, 235, 236, 7, 126, 2, 2, 236, 12, 3, 2, 2, 2, 237, 238, 7, 40, 2, 2, 238, 14, 3, 2, 2, 2, 239, 240, 7, 62, 2, 2, 240, 241, 7, 62, 2, 2, 241, 16, 3, 2, 2, 2, 242, 243, 7, 64, 2, 2, 243, 244, 7, 64, 2, 2, 244, 18, 3, 2, 2, 2, 245, 246, 7, 96, 2, 2, 246, 20, 3, 2, 2, 2, 247, 248, 7, 39, 2, 2, 248, 22, 3, 2, 2, 2, 249, 250, 7, 60, 2, 2, 250, 24, 3, 2, 2, 2, 251, 252, 7, 45, 2, 2, 252, 26, 3, 2, 2, 2, 253, 254, 7, 47, 2, 2, 254, 28, 3, 2, 2, 2, 255, 256, 7, 44, 2, 2, 256, 30, 3, 2, 2, 2, 257, 258, 7, 49, 2, 2, 258, 32, 3, 2, 2, 2, 259, 260, 7, 94, 2, 2, 260, 34, 3, 2, 2, 2, 261, 262, 7, 48, 2, 2, 262, 36, 3, 2, 2, 2, 263, 264, 7, 48, 2, 2, 264, 265, 7, 44, 2, 2, 265, 38, 3, 2, 2, 2, 266, 267, 7, 62, 2, 2, 267, 268, 7, 63, 2, 2, 268, 269, 7, 64, 2, 2, 269, 40, 3, 2, 2, 2, 270, 271, 7, 63, 2, 2, 271, 272, 7, 63, 2, 2, 272, 42, 3, 2, 2, 2, 273, 274, 7, 63, 2, 2, 274, 44, 3, 2, 2, 2, 275, 276, 7, 62, 2, 2, 276, 280, 7, 64, 2, 2, 277, 278, 7, 35, 2, 2, 278, 280, 7, 63, 2, 2, 279, 275, 3, 2, 2, 2, 279, 277, 3, 2, 2, 2, 280, 46, 3, 2, 2, 2, 281, 282, 7, 64, 2, 2, 282, 48, 3, 2, 2, 2, 283, 284, 7, 64, 2, 2, 284, 285, 7, 63, 2, 2, 285, 50, 3, 2, 2, 2, 286, 287, 7, 62, 2, 2, 287, 52, 3, 2, 2, 2, 288, 289, 7, 62, 2, 2, 289, 290, 7, 63, 2, 2, 290, 54, 3, 2, 2, 2, 291, 292, 7, 37, 2, 2, 292, 56, 3, 2, 2, 2, 293, 294, 7, 42, 2, 2, 294, 58, 3, 2, 2, 2, 295, 296, 7, 43, 2, 2, 296, 60, 3, 2, 2, 2, 297, 298, 7, 125, 2, 2, 298, 62, 3, 2, 2, 2, 299, 300, 7, 127, 2, 2, 300, 64, 3, 2, 2, 2, 301, 302, 7, 93, 2, 2, 302, 66, 3, 2, 2, 2, 303, 304, 7, 95, 2, 2, 304, 68, 3, 2, 2, 2, 305, 306, 7, 46, 2, 2, 306, 70, 3, 2, 2, 2, 307, 308, 7, 36, 2, 2, 308, 72, 3, 2, 2, 2, 309, 310, 7, 41, 2, 2, 310, 74, 3, 2, 2, 2, 311, 312, 7, 98, 2, 2, 312, 76, 3, 2, 2, 2, 313, 314, 7, 65, 2, 2, 314, 78, 3, 2, 2, 2, 315, 316, 7, 66, 2, 2, 316, 80, 3, 2, 2, 2, 317, 318, 7, 61, 2, 2, 318, 82, 3, 2, 2, 2, 319, 320, 7, 47, 2, 2, 320, 321, 7, 64, 2, 2, 321, 322, 7, 64, 2, 2, 322, 84, 3, 2, 2, 2, 323, 324, 7, 97, 2, 2, 324, 86, 3, 2, 2, 2, 325, 327, 9, 2, 2, 2, 326, 325, 3, 2, 2, 2, 327, 328, 3, 2, 2, 2, 328, 326, 3, 2, 2, 2, 328, 329, 3, 2, 2, 2, 329, 330, 3, 2, 2, 2, 330, 331, 8, 44, 2, 2, 331, 88, 3, 2, 2, 2, 332, 333, 5, 197, 99, 2, 333, 334, 5, 193, 97, 2, 334, 335, 5, 199, 100, 2, 335, 336, 5, 167, 84, 2, 336, 90, 3, 2, 2, 2, 337, 338, 5, 169, 85, 2, 338, 339, 5, 159, 80, 2, 339, 340, 5, 181, 91, 2, 340, 341, 5, 195, 98, 2, 341, 342, 5, 167, 84, 2, 342, 92, 3, 2, 2, 2, 343, 344, 5, 163, 82, 2, 344, 345, 5, 193, 97, 2, 345, 346, 5, 167, 84, 2, 346, 347, 5, 159, 80, 2, 347, 348, 5, 197, 99, 2, 348, 349, 5, 167, 84, 2, 349, 94, 3, 2, 2, 2, 350, 351, 5, 159, 80, 2, 351, 352, 5, 181, 91, 2, 352, 353, 5, 197, 99, 2, 353, 354, 5, 167, 84, 2, 354, 355, 5, 193, 97, 2, 355, 96, 3, 2, 2, 2, 356, 357, 5, 165, 83, 2, 357, 358, 5, 193, 97, 2, 358, 359, 5, 187, 94, 2, 359, 360, 5, 189, 95, 2, 360, 98, 3, 2, 2, 2, 361, 362, 5, 195, 98, 2, 362, 363, 5, 173, 87, 2, 363, 364, 5, 187, 94, 2, 364, 365, 5, 203, 102, 2, 365, 100, 3, 2, 2, 2, 366, 367, 5, 193, 97, 2, 367, 368, 5, 199, 100, 2, 368, 369, 5, 181, 91, 2, 369, 370, 5, 167, 84, 2, 370, 102, 3, 2, 2, 2, 371, 372, 5, 169, 85, 2, 372, 373, 5, 193, 97, 2, 373, 374, 5, 187, 94, 2, 374, 375, 5, 183, 92, 2, 375, 104, 3, 2, 2, 2, 376, 377, 5, 183, 92, 2, 377, 378, 5, 159, 80, 2, 378, 379, 5, 195, 98, 2, 379, 380, 5, 179, 90, 2, 380, 106, 3, 2, 2, 2, 381, 382, 5, 197, 99, 2, 382, 383, 5, 207, 104, 2, 383, 384, 5, 189, 95, 2, 384, 385, 5, 167, 84, 2, 385, 108, 3, 2, 2, 2, 386, 387, 5, 185, 93, 2, 387, 388, 5, 159, 80, 2, 388, 389, 5, 183, 92, 2, 389, 390, 5, 167, 84, 2, 390, 110, 3, 2, 2, 2, 391, 392, 5, 189, 95, 2, 392, 393, 5, 193, 97, 2, 393, 394, 5, 187, 94, 2, 394, 395, 5, 189, 95, 2, 395, 396, 5, 167, 84, 2, 396, 397, 5, 193, 97, 2, 397, 398, 5, 197, 99, 2, 398, 399, 5, 175, 88, 2, 399, 400, 5, 167, 84, 2, 400, 401, 5, 195, 98, 2, 401, 112, 3, 2, 2, 2, 402, 403, 5, 163, 82, 2, 403, 404, 5, 187, 94, 2, 404, 405, 5, 181, 91, 2, 405, 406, 5, 199, 100, 2, 406, 407, 5, 183, 92, 2, 407, 408, 5, 185, 93, 2, 408, 114, 3, 2, 2, 2, 409, 410, 5, 193, 97, 2, 410, 411, 5, 199, 100, 2, 411, 412, 5, 181, 91, 2, 412, 413, 5, 167, 84, 2, 413, 414, 5, 195, 98, 2, 414, 116, 3, 2, 2, 2, 415, 416, 5, 197, 99, 2, 416, 417, 5, 159, 80, 2, 417, 418, 5, 161, 81, 2, 418, 419, 5, 181, 91, 2, 419, 420, 5, 167, 84, 2, 420, 118, 3, 2, 2, 2, 421, 422, 5, 163, 82, 2, 422, 423, 5, 187, 94, 2, 423, 424, 5, 181, 91, 2, 424, 425, 5, 199, 100, 2, 425, 426, 5, 183, 92, 2, 426, 427, 5, 185, 93, 2, 427, 428, 5, 195, 98, 2, 428, 120, 3, 2, 2, 2, 429, 430, 5, 175, 88, 2, 430, 431, 5, 169, 85, 2, 431, 122, 3, 2, 2, 2, 432, 433, 5, 167, 84, 2, 433, 434, 5, 205, 103, 2, 434, 435, 5, 175, 88, 2, 435, 436, 5, 195, 98, 2, 436, 437, 5, 197, 99, 2, 437, 438, 5, 195, 98, 2, 438, 124, 3, 2, 2, 2, 439, 440, 5, 163, 82, 2, 440, 441, 5, 187, 94, 2, 441, 442, 5, 199, 100, 2, 442, 443, 5, 185, 93, 2, 443, 444, 5, 197, 99, 2, 444, 126, 3, 2, 2, 2, 445, 446, 5, 185, 93, 2, 446, 447, 5, 187, 94, 2, 447, 448, 5, 197, 99, 2, 448, 128, 3, 2, 2, 2, 449, 450, 5, 183, 92, 2, 450, 451, 5, 165, 83, 2, 451, 452, 9, 3, 2, 2, 452, 130, 3, 2, 2, 2, 453, 454, 5, 179, 90, 2, 454, 455, 5, 167, 84, 2, 455, 456, 5, 167, 84, 2, 456, 457, 5, 189, 95, 2, 457, 458, 5, 85, 43, 2, 458, 459, 5, 169, 85, 2, 459, 460, 5, 175, 88, 2, 460, 461, 5, 193, 97, 2, 461, 462, 5, 195, 98, 2, 462, 463, 5, 197, 99, 2, 463, 464, 5, 85, 43, 2, 464, 465, 5, 185, 93, 2, 465, 466, 5, 85, 43, 2, 466, 467, 5, 181, 91, 2, 467, 468, 5, 159, 80, 2, 468, 469, 5, 195, 98, 2, 469, 470, 5, 197, 99, 2, 470, 471, 5, 85, 43, 2, 471, 472, 5, 183, 92, 2, 472, 132, 3, 2, 2, 2, 473, 474, 5, 179, 90, 2, 474, 475, 5, 167, 84, 2, 475, 476, 5, 167, 84, 2, 476, 477, 5, 189, 95, 2, 477, 478, 5, 85, 43, 2, 478, 479, 5, 169, 85, 2, 479, 480, 5, 193, 97, 2, 480, 481, 5, 187, 94, 2, 481, 482, 5, 183, 92, 2, 482, 483, 5, 85, 43, 2, 483, 484, 5, 205, 103, 2, 484, 485, 5, 85, 43, 2, 485, 486, 5, 197, 99, 2, 486, 487, 5, 187, 94, 2, 487, 488, 5, 85, 43, 2, 488, 489, 5, 207, 104, 2, 489, 134, 3, 2, 2, 2, 490, 491, 5, 183, 92, 2, 491, 492, 5, 159, 80, 2, 492, 493, 5, 195, 98, 2, 493, 494, 5, 179, 90, 2, 494, 495, 5, 85, 43, 2, 495, 496, 5, 169, 85, 2, 496, 497, 5, 175, 88, 2, 497, 498, 5, 193, 97, 2, 498, 499, 5, 195, 98, 2, 499, 500, 5, 197, 99, 2, 500, 501, 5, 85, 43, 2, 501, 502, 5, 185, 93, 2, 502, 503, 5, 85, 43, 2, 503, 504, 5, 181, 91, 2, 504, 505, 5, 159, 80, 2, 505, 506, 5, 195, 98, 2, 506, 507, 5, 197, 99, 2, 507, 508, 5, 85, 43, 2, 508, 509, 5, 183, 92, 2, 509, 136, 3, 2, 2, 2, 510, 511, 5, 183, 92, 2, 511, 512, 5, 159, 80, 2, 512, 513, 5, 195, 98, 2, 513, 514, 5, 179, 90, 2, 514, 515, 5, 85, 43, 2, 515, 516, 5, 169, 85, 2, 516, 517, 5, 193, 97, 2, 517, 518, 5, 187, 94, 2, 518, 519, 5, 183, 92, 2, 519, 520, 5, 85, 43, 2, 520, 521, 5, 205, 103, 2, 521, 522, 5, 85, 43, 2, 522, 523, 5, 197, 99, 2, 523, 524, 5, 187, 94, 2, 524, 525, 5, 85, 43, 2, 525, 526, 5, 207, 104, 2, 526, 138, 3, 2, 2, 2, 527, 528, 5, 183, 92, 2, 528, 529, 5, 159, 80, 2, 529, 530, 5, 195, 98, 2, 530, 531, 5, 179, 90, 2, 531, 532, 5, 85, 43, 2, 532, 533, 5, 161, 81, 2, 533, 534, 5, 167, 84, 2, 534, 535, 5, 169, 85, 2, 535, 536, 5, 187, 94, 2, 536, 537, 5, 193, 97, 2, 537, 538, 5, 167, 84, 2, 538, 539, 5, 85, 43, 2, 539, 540, 5, 195, 98, 2, 540, 541, 5, 189, 95, 2, 541, 542, 5, 167, 84, 2, 542, 543, 5, 163, 82, 2, 543, 544, 5, 175, 88, 2, 544, 545, 5, 159, 80, 2, 545, 546, 5, 181, 91, 2, 546, 547, 5, 85, 43, 2, 547, 548, 5, 163, 82, 2, 548, 549, 5, 173, 87, 2, 549, 550, 5, 159, 80, 2, 550, 551, 5, 193, 97, 2, 551, 552, 5, 195, 98, 2, 552, 140, 3, 2, 2, 2, 553, 554, 5, 183, 92, 2, 554, 555, 5, 159, 80, 2, 555, 556, 5, 195, 98, 2, 556, 557, 5, 179, 90, 2, 557, 558, 5, 85, 43, 2, 558, 559, 5, 159, 80, 2, 559, 560, 5, 169, 85, 2, 560, 561, 5, 197, 99, 2, 561, 562, 5, 167, 84, 2, 562, 563, 5, 193, 97, 2, 563, 564, 5, 85, 43, 2, 564, 565, 5, 195, 98, 2, 565, 566, 5, 189, 95, 2, 566, 567, 5, 167, 84, 2, 567, 568, 5, 163, 82, 2, 568, 569, 5, 175, 88, 2, 569, 570, 5, 159, 80, 2, 570, 571, 5, 181, 91, 2, 571, 572, 5, 85, 43, 2, 572, 573, 5, 163, 82, 2, 573, 574, 5, 173, 87, 2, 574, 575, 5, 159, 80, 2, 575, 576, 5, 193, 97, 2, 576, 577, 5, 195, 98, 2, 577, 142, 3, 2, 2, 2, 578, 579, 5, 189, 95, 2, 579, 580, 5, 167, 84, 2, 580, 581, 5, 193, 97, 2, 581, 582, 5, 195, 98, 2, 582, 583, 5, 187, 94, 2, 583, 584, 5, 185, 93, 2, 584, 585, 5, 159, 80, 2, 585, 586, 5, 181, 91, 2, 586, 587, 5, 85, 43, 2, 587, 588, 5, 175, 88, 2, 588, 589, 5, 165, 83, 2, 589, 590, 5, 167, 84, 2, 590, 591, 5, 185, 93, 2, 591, 592, 5, 197, 99, 2, 592, 593, 5, 175, 88, 2, 593, 594, 5, 197, 99, 2, 594, 595, 5, 207, 104, 2, 595, 596, 5, 85, 43, 2, 596, 597, 5, 185, 93, 2, 597, 598, 5, 199, 100, 2, 598, 599, 5, 183, 92, 2, 599, 600, 5, 161, 81, 2, 600, 601, 5, 167, 84, 2, 601, 602, 5, 193, 97, 2, 602, 603, 5, 85, 43, 2, 603, 604, 5, 193, 97, 2, 604, 605, 5, 159, 80, 2, 605, 606, 5, 185, 93, 2, 606, 607, 5, 165, 83, 2, 607, 608, 5, 187, 94, 2, 608, 609, 5, 183, 92, 2, 609, 610, 5, 85, 43, 2, 610, 611, 5, 193, 97, 2, 611, 612, 5, 167, 84, 2, 612, 613, 5, 189, 95, 2, 613, 614, 5, 181, 91, 2, 614, 615, 5, 159, 80, 2, 615, 616, 5, 163, 82, 2, 616, 617, 5, 167, 84, 2, 617, 144, 3, 2, 2, 2, 618, 619, 5, 183, 92, 2, 619, 620, 5, 175, 88, 2, 620, 621, 5, 181, 91, 2, 621, 622, 5, 175, 88, 2, 622, 623, 5, 197, 99, 2, 623, 624, 5, 159, 80, 2, 624, 625, 5, 193, 97, 2, 625, 626, 5, 207, 104, 2, 626, 627, 5, 85, 43, 2, 627, 628, 5, 175, 88, 2, 628, 629, 5, 165, 83, 2, 629, 630, 5, 167, 84, 2, 630, 631, 5, 185, 93, 2, 631, 632, 5, 197, 99, 2, 632, 633, 5, 175, 88, 2, 633, 634, 5, 197, 99, 2, 634, 635, 5, 207, 104, 2, 635, 636, 5, 85, 43, 2, 636, 637, 5, 185, 93, 2, 637, 638, 5, 199, 100, 2, 638, 639, 5, 183, 92, 2, 639, 640, 5, 161, 81, 2, 640, 641, 5, 167, 84, 2, 641, 642, 5, 193, 97, 2, 642, 643, 5, 85, 43, 2, 643, 644, 5, 193, 97, 2, 644, 645, 5, 159, 80, 2, 645, 646, 5, 185, 93, 2, 646, 647, 5, 165, 83, 2, 647, 648, 5, 187, 94, 2, 648, 649, 5, 183, 92, 2, 649, 650, 5, 85, 43, 2, 650, 651, 5, 193, 97, 2, 651, 652, 5, 167, 84, 2, 652, 653, 5, 189, 95, 2, 653, 654, 5, 181, 91, 2, 654, 655, 5, 159, 80, 2, 655, 656, 5, 163, 82, 2, 656, 657, 5, 167, 84, 2, 657, 146, 3, 2, 2, 2, 658, 659, 5, 181, 91, 2, 659, 660, 5, 159, 80, 2, 660, 661, 5, 185, 93, 2, 661, 662, 5, 165, 83, 2, 662, 663, 5, 181, 91, 2, 663, 664, 5, 175, 88, 2, 664, 665, 5, 185, 93, 2, 665, 666, 5, 167, 84, 2, 666, 667, 5, 85, 43, 2, 667, 668, 5, 185, 93, 2, 668, 669, 5, 199, 100, 2, 669, 670, 5, 183, 92, 2, 670, 671, 5, 161, 81, 2, 671, 672, 5, 167, 84, 2, 672, 673, 5, 193, 97, 2, 673, 674, 5, 85, 43, 2, 674, 675, 5, 193, 97, 2, 675, 676, 5, 159, 80, 2, 676, 677, 5, 185, 93, 2, 677, 678, 5, 165, 83, 2, 678, 679, 5, 187, 94, 2, 679, 680, 5, 183, 92, 2, 680, 681, 5, 85, 43, 2, 681, 682, 5, 193, 97, 2, 682, 683, 5, 167, 84, 2, 683, 684, 5, 189, 95, 2, 684, 685, 5, 181, 91, 2, 685, 686, 5, 159, 80, 2, 686, 687, 5, 163, 82, 2, 687, 688, 5, 167, 84, 2, 688, 148, 3, 2, 2, 2, 689, 690, 5, 197, 99, 2, 690, 691, 5, 167, 84, 2, 691, 692, 5, 181, 91, 2, 692, 693, 5, 167, 84, 2, 693, 694, 5, 189, 95, 2, 694, 695, 5, 173, 87, 2, 695, 696, 5, 187, 94, 2, 696, 697, 5, 185, 93, 2, 697, 698, 5, 167, 84, 2, 698, 699, 5, 85, 43, 2, 699, 700, 5, 193, 97, 2, 700, 701, 5, 159, 80, 2, 701, 702, 5, 185, 93, 2, 702, 703, 5, 165, 83, 2, 703, 704, 5, 187, 94, 2, 704, 705, 5, 183, 92, 2, 705, 706, 5, 85, 43, 2, 706, 707, 5, 193, 97, 2, 707, 708, 5, 167, 84, 2, 708, 709, 5, 189, 95, 2, 709, 710, 5, 181, 91, 2, 710, 711, 5, 159, 80, 2, 711, 712, 5, 163, 82, 2, 712, 713, 5, 167, 84, 2, 713, 150, 3, 2, 2, 2, 714, 715, 5, 199, 100, 2, 715, 716, 5, 185, 93, 2, 716, 717, 5, 175, 88, 2, 717, 718, 5, 169, 85, 2, 718, 719, 5, 175, 88, 2, 719, 720, 5, 167, 84, 2, 720, 721, 5, 165, 83, 2, 721, 722, 5, 85, 43, 2, 722, 723, 5, 163, 82, 2, 723, 724, 5, 193, 97, 2, 724, 725, 5, 167, 84, 2, 725, 726, 5, 165, 83, 2, 726, 727, 5, 175, 88, 2, 727, 728, 5, 197, 99, 2, 728, 729, 5, 85, 43, 2, 729, 730, 5, 163, 82, 2, 730, 731, 5, 187, 94, 2, 731, 732, 5, 165, 83, 2, 732, 733, 5, 167, 84, 2, 733, 734, 5, 85, 43, 2, 734, 735, 5, 193, 97, 2, 735, 736, 5, 159, 80, 2, 736, 737, 5, 185, 93, 2, 737, 738, 5, 165, 83, 2, 738, 739, 5, 187, 94, 2, 739, 740, 5, 183, 92, 2, 740, 741, 5, 85, 43, 2, 741, 742, 5, 193, 97, 2, 742, 743, 5, 167, 84, 2, 743, 744, 5, 189, 95, 2, 744, 745, 5, 181, 91, 2, 745, 746, 5, 159, 80, 2, 746, 747, 5, 163, 82, 2, 747, 748, 5, 167, 84, 2, 748, 152, 3, 2, 2, 2, 749, 750, 5, 171, 86, 2, 750, 751, 5, 167, 84, 2, 751, 752, 5, 185, 93, 2, 752, 753, 5, 167, 84, 2, 753, 754, 5, 193, 97, 2, 754, 755, 5, 175, 88, 2, 755, 756, 5, 163, 82, 2, 756, 757, 5, 85, 43, 2, 757, 758, 5, 197, 99, 2, 758, 759, 5, 159, 80, 2, 759, 760, 5, 161, 81, 2, 760, 761, 5, 181, 91, 2, 761, 762, 5, 167, 84, 2, 762, 763, 5, 85, 43, 2, 763, 764, 5, 193, 97, 2, 764, 765, 5, 159, 80, 2, 765, 766, 5, 185, 93, 2, 766, 767, 5, 165, 83, 2, 767, 768, 5, 187, 94, 2, 768, 769, 5, 183, 92, 2, 769, 770, 5, 85, 43, 2, 770, 771, 5, 193, 97, 2, 771, 772, 5, 167, 84, 2, 772, 773, 5, 189, 95, 2, 773, 774, 5, 181, 91, 2, 774, 775, 5, 159, 80, 2, 775, 776, 5, 163, 82, 2, 776, 777, 5, 167, 84, 2, 777, 154, 3, 2, 2, 2, 778, 779, 5, 159, 80, 2, 779, 780, 5, 165, 83, 2, 780, 781, 5, 165, 83, 2, 781, 782, 5, 193, 97, 2, 782, 783, 5, 167, 84, 2, 783, 784, 5, 195, 98, 2, 784, 785, 5, 195, 98, 2, 785, 786, 5, 85, 43, 2, 786, 787, 5, 193, 97, 2, 787, 788, 5, 159, 80, 2, 788, 789, 5, 185, 93, 2, 789, 790, 5, 165, 83, 2, 790, 791, 5, 187, 94, 2, 791, 792, 5, 183, 92, 2, 792, 793, 5, 85, 43, 2, 793, 794, 5, 193, 97, 2, 794, 795, 5, 167, 84, 2, 795, 796, 5, 189, 95, 2, 796, 797, 5, 181, 91, 2, 797, 798, 5, 159, 80, 2, 798, 799, 5, 163, 82, 2, 799, 800, 5, 167, 84, 2, 800, 156, 3, 2, 2, 2, 801, 802, 7, 70, 2, 2, 802, 803, 7, 81, 2, 2, 803, 804, 7, 34, 2, 2, 804, 805, 7, 80, 2, 2, 805, 806, 7, 81, 2, 2, 806, 807, 7, 86, 2, 2, 807, 808, 7, 34, 2, 2, 808, 809, 7, 79, 2, 2, 809, 810, 7, 67, 2, 2, 810, 811, 7, 86, 2, 2, 811, 812, 7, 69, 2, 2, 812, 813, 7, 74, 2, 2, 813, 814, 7, 34, 2, 2, 814, 815, 7, 67, 2, 2, 815, 816, 7, 80, 2, 2, 816, 817, 7, 91, 2, 2, 817, 818, 7, 34, 2, 2, 818, 819, 7, 86, 2, 2, 819, 820, 7, 74, 2, 2, 820, 821, 7, 75, 2, 2, 821, 822, 7, 80, 2, 2, 822, 823, 7, 73, 2, 2, 823, 824, 7, 46, 2, 2, 824, 825, 7, 34, 2, 2, 825, 826, 7, 76, 2, 2, 826, 827, 7, 87, 2, 2, 827, 828, 7, 85, 2, 2, 828, 829, 7, 86, 2, 2, 829, 830, 7, 34, 2, 2, 830, 831, 7, 72, 2, 2, 831, 832, 7, 81, 2, 2, 832, 833, 7, 84, 2, 2, 833, 834, 7, 34, 2, 2, 834, 835, 7, 73, 2, 2, 835, 836, 7, 71, 2, 2, 836, 837, 7, 80, 2, 2, 837, 838, 7, 71, 2, 2, 838, 839, 7, 84, 2, 2, 839, 840, 7, 67, 2, 2, 840, 841, 7, 86, 2, 2, 841, 842, 7, 81, 2, 2, 842, 843, 7, 84, 2, 2, 843, 158, 3, 2, 2, 2, 844, 845, 9, 4, 2, 2, 845, 160, 3, 2, 2, 2, 846, 847, 9, 5, 2, 2, 847, 162, 3, 2, 2, 2, 848, 849, 9, 6, 2, 2, 849, 164, 3, 2, 2, 2, 850, 851, 9, 7, 2, 2, 851, 166, 3, 2, 2, 2, 852, 853, 9, 8, 2, 2, 853, 168, 3, 2, 2, 2, 854, 855, 9, 9, 2, 2, 855, 170, 3, 2, 2, 2, 856, 857, 9, 10, 2, 2, 857, 172, 3, 2, 2, 2, 858, 859, 9, 11, 2, 2, 859, 174, 3, 2, 2, 2, 860, 861, 9, 12, 2, 2, 861, 176, 3, 2, 2, 2, 862, 863, 9, 13, 2, 2, 863, 178, 3, 2, 2, 2, 864, 865, 9, 14, 2, 2, 865, 180, 3, 2, 2, 2, 866, 867, 9, 15, 2, 2, 867, 182, 3, 2, 2, 2, 868, 869, 9, 16, 2, 2, 869, 184, 3, 2, 2, 2, 870, 871, 9, 17, 2, 2, 871, 186, 3, 2, 2, 2, 872, 873, 9, 18, 2, 2, 873, 188, 3, 2, 2, 2, 874, 875, 9, 19, 2, 2, 875, 190, 3, 2, 2, 2, 876, 877, 9, 20, 2, 2, 877, 192, 3, 2, 2, 2, 878, 879, 9, 21, 2, 2, 879, 194, 3, 2, 2, 2, 880, 881, 9, 22, 2, 2, 881, 196, 3, 2, 2, 2, 882, 883, 9, 23, 2, 2, 883, 198, 3, 2, 2, 2, 884, 885, 9, 24, 2, 2, 885, 200, 3, 2, 2, 2, 886, 887, 9, 25, 2, 2, 887, 202, 3, 2, 2, 2, 888, 889, 9, 26, 2, 2, 889, 204, 3, 2, 2, 2, 890, 891, 9, 27, 2, 2, 891, 206, 3, 2, 2, 2, 892, 893, 9, 28, 2, 2, 893, 208, 3, 2, 2, 2, 894, 895, 9, 29, 2, 2, 895, 210, 3, 2, 2, 2, 896, 898, 9, 30, 2, 2, 897, 896, 3, 2, 2, 2, 898, 901, 3, 2, 2, 2, 899, 900, 3, 2, 2, 2, 899, 897, 3, 2, 2, 2, 900, 903, 3, 2, 2, 2, 901, 899, 3, 2, 2, 2, 902, 904, 9, 31, 2, 2, 903, 902, 3, 2, 2, 2, 904, 905, 3, 2, 2, 2, 905, 906, 3, 2, 2, 2, 905, 903, 3, 2, 2, 2, 906, 910, 3, 2, 2, 2, 907, 909, 9, 30, 2, 2, 908, 907, 3, 2, 2, 2, 909, 912, 3, 2, 2, 2, 910, 908, 3, 2, 2, 2, 910, 911, 3, 2, 2, 2, 911, 922, 3, 2, 2, 2, 912, 910, 3, 2, 2, 2, 913, 915, 5, 75, 38, 2, 914, 916, 10, 32, 2, 2, 915, 914, 3, 2, 2, 2, 916, 917, 3, 2, 2, 2, 917, 915, 3, 2, 2, 2, 917, 918, 3, 2, 2, 2, 918, 919, 3, 2, 2, 2, 919, 920, 5, 75, 38, 2, 920, 922, 3, 2, 2, 2, 921, 899, 3, 2, 2, 2, 921, 913, 3, 2, 2, 2, 922, 212, 3, 2, 2, 2, 923, 931, 5, 71, 36, 2, 924, 925, 7, 94, 2, 2, 925, 930, 11, 2, 2, 2, 926, 927, 7, 36, 2, 2, 927, 930, 7, 36, 2, 2, 928, 930, 10, 33, 2, 2, 929, 924, 3, 2, 2, 2, 929, 926, 3, 2, 2, 2, 929, 928, 3, 2, 2, 2, 930, 933, 3, 2, 2, 2, 931, 929, 3, 2, 2, 2, 931, 932, 3, 2, 2, 2, 932, 934, 3, 2, 2, 2, 933, 931, 3, 2, 2, 2, 934, 935, 5, 71, 36, 2, 935, 950, 3, 2, 2, 2, 936, 944, 5, 73, 37, 2, 937, 938, 7, 94, 2, 2, 938, 943, 11, 2, 2, 2, 939, 940, 7, 41, 2, 2, 940, 943, 7, 41, 2, 2, 941, 943, 10, 34, 2, 2, 942, 937, 3, 2, 2, 2, 942, 939, 3, 2, 2, 2, 942, 941, 3, 2, 2, 2, 943, 946, 3, 2, 2, 2, 944, 942, 3, 2, 2, 2, 944, 945, 3, 2, 2, 2, 945, 947, 3, 2, 2, 2, 946, 944, 3, 2, 2, 2, 947, 948, 5, 73, 37, 2, 948, 950, 3, 2, 2, 2, 949, 923, 3, 2, 2, 2, 949, 936, 3, 2, 2, 2, 950, 214, 3, 2, 2, 2, 951, 953, 9, 35, 2, 2, 952, 951, 3, 2, 2, 2, 953, 954, 3, 2, 2, 2, 954, 952, 3, 2, 2, 2, 954, 955, 3, 2, 2, 2, 955, 216, 3, 2, 2, 2, 956, 957, 9, 36, 2, 2, 957, 218, 3, 2, 2, 2, 958, 960, 5, 215, 108, 2, 959, 958, 3, 2, 2, 2, 959, 960, 3, 2, 2, 2, 960, 962, 3, 2, 2, 2, 961, 963, 5, 35, 18, 2, 962, 961, 3, 2, 2, 2, 962, 963, 3, 2, 2, 2, 963, 964, 3, 2, 2, 2, 964, 972, 5, 215, 108, 2, 965, 968, 5, 167, 84, 2, 966, 969, 5, 25, 13, 2, 967, 969, 5, 27, 14, 2, 968, 966, 3, 2, 2, 2, 968, 967, 3, 2, 2, 2, 968, 969, 3, 2, 2, 2, 969, 970, 3, 2, 2, 2, 970, 971, 5, 215, 108, 2, 971, 973, 3, 2, 2, 2, 972, 965, 3, 2, 2, 2, 972, 973, 3, 2, 2, 2, 973, 220, 3, 2, 2, 2, 974, 975, 7, 50, 2, 2, 975, 976, 7, 122, 2, 2, 976, 978, 3, 2, 2, 2, 977, 979, 5, 217, 109, 2, 978, 977, 3, 2, 2, 2, 979, 980, 3, 2, 2, 2, 980, 978, 3, 2, 2, 2, 980, 981, 3, 2, 2, 2, 981, 992, 3, 2, 2, 2, 982, 983, 7, 90, 2, 2, 983, 985, 5, 73, 37, 2, 984, 986, 5, 217, 109, 2, 985, 984, 3, 2, 2, 2, 986, 987, 3, 2, 2, 2, 987, 985, 3, 2, 2, 2, 987, 988, 3, 2, 2, 2, 988, 989, 3, 2, 2, 2, 989, 990, 5, 73, 37, 2, 990, 992, 3, 2, 2, 2, 991, 974, 3, 2, 2, 2, 991, 982, 3, 2, 2, 2, 992, 222, 3, 2, 2, 2, 993, 994, 7, 50, 2, 2, 994, 995, 7, 100, 2, 2, 995, 997, 3, 2, 2, 2, 996, 998, 4, 50, 51, 2, 997, 996, 3, 2, 2, 2, 998, 999, 3, 2, 2, 2, 999, 997, 3, 2, 2, 2, 999, 1000, 3, 2, 2, 2, 1000, 1011, 3, 2, 2, 2, 1001, 1002, 5, 161, 81, 2, 1002, 1004, 5, 73, 37, 2, 1003, 1005, 4, 50, 51, 2, 1004, 1003, 3, 2, 2, 2, 1005, 1006, 3, 2, 2, 2, 1006, 1004, 3, 2, 2, 2, 1006, 1007, 3, 2, 2, 2, 1007, 1008, 3, 2, 2, 2, 1008, 1009, 5, 73, 37, 2, 1009, 1011, 3, 2, 2, 2, 1010, 993, 3, 2, 2, 2, 1010, 1001, 3, 2, 2, 2, 1011, 224, 3, 2, 2, 2, 26, 2, 279, 328, 899, 905, 910, 917, 921, 929, 931, 942, 944, 949, 954, 959, 962, 968, 972, 980, 987, 991, 999, 1006, 1010, 3, 8, 2, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleLexer.java b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleLexer.java new file mode 100644 index 00000000..86f98282 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleLexer.java @@ -0,0 +1,515 @@ +// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/mask/BaseRule.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.misc.*; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class BaseRuleLexer extends Lexer { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, + SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, + ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, + DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, + LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, + SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, + WS=43, TRUE=44, FALSE=45, CREATE=46, ALTER=47, DROP=48, SHOW=49, RULE=50, + FROM=51, MASK=52, TYPE=53, NAME=54, PROPERTIES=55, COLUMN=56, RULES=57, + TABLE=58, COLUMNS=59, IF=60, EXISTS=61, COUNT=62, NOT=63, MD5=64, KEEP_FIRST_N_LAST_M=65, + KEEP_FROM_X_TO_Y=66, MASK_FIRST_N_LAST_M=67, MASK_FROM_X_TO_Y=68, MASK_BEFORE_SPECIAL_CHARS=69, + MASK_AFTER_SPECIAL_CHARS=70, PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE=71, + MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE=72, LANDLINE_NUMBER_RANDOM_REPLACE=73, + TELEPHONE_RANDOM_REPLACE=74, UNIFIED_CREDIT_CODE_RANDOM_REPLACE=75, GENERIC_TABLE_RANDOM_REPLACE=76, + ADDRESS_RANDOM_REPLACE=77, FOR_GENERATOR=78, IDENTIFIER_=79, STRING_=80, + INT_=81, HEX_=82, NUMBER_=83, HEXDIGIT_=84, BITNUM_=85; + public static String[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + + public static String[] modeNames = { + "DEFAULT_MODE" + }; + + private static String[] makeRuleNames() { + return new String[] { + "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", + "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", + "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", + "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", + "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", + "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", "FALSE", "CREATE", "ALTER", + "DROP", "SHOW", "RULE", "FROM", "MASK", "TYPE", "NAME", "PROPERTIES", + "COLUMN", "RULES", "TABLE", "COLUMNS", "IF", "EXISTS", "COUNT", "NOT", + "MD5", "KEEP_FIRST_N_LAST_M", "KEEP_FROM_X_TO_Y", "MASK_FIRST_N_LAST_M", + "MASK_FROM_X_TO_Y", "MASK_BEFORE_SPECIAL_CHARS", "MASK_AFTER_SPECIAL_CHARS", + "PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE", "MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE", + "LANDLINE_NUMBER_RANDOM_REPLACE", "TELEPHONE_RANDOM_REPLACE", "UNIFIED_CREDIT_CODE_RANDOM_REPLACE", + "GENERIC_TABLE_RANDOM_REPLACE", "ADDRESS_RANDOM_REPLACE", "FOR_GENERATOR", + "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", + "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "IDENTIFIER_", + "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", + "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", + "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", + "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", + "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", + "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", + "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", + "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", + "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", + "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", + "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", "FROM", "MASK", "TYPE", + "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", "COLUMNS", "IF", "EXISTS", + "COUNT", "NOT", "MD5", "KEEP_FIRST_N_LAST_M", "KEEP_FROM_X_TO_Y", "MASK_FIRST_N_LAST_M", + "MASK_FROM_X_TO_Y", "MASK_BEFORE_SPECIAL_CHARS", "MASK_AFTER_SPECIAL_CHARS", + "PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE", "MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE", + "LANDLINE_NUMBER_RANDOM_REPLACE", "TELEPHONE_RANDOM_REPLACE", "UNIFIED_CREDIT_CODE_RANDOM_REPLACE", + "GENERIC_TABLE_RANDOM_REPLACE", "ADDRESS_RANDOM_REPLACE", "FOR_GENERATOR", + "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + + public BaseRuleLexer(CharStream input) { + super(input); + _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + @Override + public String getGrammarFileName() { return "BaseRule.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public String[] getChannelNames() { return channelNames; } + + @Override + public String[] getModeNames() { return modeNames; } + + @Override + public ATN getATN() { return _ATN; } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2W\u03f4\b\1\4\2\t"+ + "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ + "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ + "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ + "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ + "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ + ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ + "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ + "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+ + "\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+ + "\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+ + "`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\4k\t"+ + "k\4l\tl\4m\tm\4n\tn\4o\to\4p\tp\3\2\3\2\3\2\3\3\3\3\3\3\3\4\3\4\3\5\3"+ + "\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\t\3\t\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3"+ + "\r\3\r\3\16\3\16\3\17\3\17\3\20\3\20\3\21\3\21\3\22\3\22\3\23\3\23\3\23"+ + "\3\24\3\24\3\24\3\24\3\25\3\25\3\25\3\26\3\26\3\27\3\27\3\27\3\27\5\27"+ + "\u0118\n\27\3\30\3\30\3\31\3\31\3\31\3\32\3\32\3\33\3\33\3\33\3\34\3\34"+ + "\3\35\3\35\3\36\3\36\3\37\3\37\3 \3 \3!\3!\3\"\3\"\3#\3#\3$\3$\3%\3%\3"+ + "&\3&\3\'\3\'\3(\3(\3)\3)\3*\3*\3*\3*\3+\3+\3,\6,\u0147\n,\r,\16,\u0148"+ + "\3,\3,\3-\3-\3-\3-\3-\3.\3.\3.\3.\3.\3.\3/\3/\3/\3/\3/\3/\3/\3\60\3\60"+ + "\3\60\3\60\3\60\3\60\3\61\3\61\3\61\3\61\3\61\3\62\3\62\3\62\3\62\3\62"+ + "\3\63\3\63\3\63\3\63\3\63\3\64\3\64\3\64\3\64\3\64\3\65\3\65\3\65\3\65"+ + "\3\65\3\66\3\66\3\66\3\66\3\66\3\67\3\67\3\67\3\67\3\67\38\38\38\38\3"+ + "8\38\38\38\38\38\38\39\39\39\39\39\39\39\3:\3:\3:\3:\3:\3:\3;\3;\3;\3"+ + ";\3;\3;\3<\3<\3<\3<\3<\3<\3<\3<\3=\3=\3=\3>\3>\3>\3>\3>\3>\3>\3?\3?\3"+ + "?\3?\3?\3?\3@\3@\3@\3@\3A\3A\3A\3A\3B\3B\3B\3B\3B\3B\3B\3B\3B\3B\3B\3"+ + "B\3B\3B\3B\3B\3B\3B\3B\3B\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3"+ + "C\3C\3C\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3"+ + "E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3F\3F\3F\3F\3F\3F\3"+ + "F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3G\3G\3G\3"+ + "G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3H\3"+ + "H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3"+ + "H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3I\3I\3I\3I\3I\3I\3I\3"+ + "I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3"+ + "I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3"+ + "J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3K\3K\3K\3K\3K\3"+ + "K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3L\3L\3L\3"+ + "L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3"+ + "L\3L\3L\3L\3L\3L\3L\3L\3L\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3"+ + "M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3N\3N\3N\3N\3N\3N\3N\3N\3"+ + "N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3O\3O\3O\3O\3O\3O\3O\3O\3"+ + "O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3"+ + "O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3P\3P\3Q\3Q\3R\3R\3S\3S\3T\3T\3U\3"+ + "U\3V\3V\3W\3W\3X\3X\3Y\3Y\3Z\3Z\3[\3[\3\\\3\\\3]\3]\3^\3^\3_\3_\3`\3`"+ + "\3a\3a\3b\3b\3c\3c\3d\3d\3e\3e\3f\3f\3g\3g\3h\3h\3i\3i\3j\7j\u0382\nj"+ + "\fj\16j\u0385\13j\3j\6j\u0388\nj\rj\16j\u0389\3j\7j\u038d\nj\fj\16j\u0390"+ + "\13j\3j\3j\6j\u0394\nj\rj\16j\u0395\3j\3j\5j\u039a\nj\3k\3k\3k\3k\3k\3"+ + "k\7k\u03a2\nk\fk\16k\u03a5\13k\3k\3k\3k\3k\3k\3k\3k\3k\7k\u03af\nk\fk"+ + "\16k\u03b2\13k\3k\3k\5k\u03b6\nk\3l\6l\u03b9\nl\rl\16l\u03ba\3m\3m\3n"+ + "\5n\u03c0\nn\3n\5n\u03c3\nn\3n\3n\3n\3n\5n\u03c9\nn\3n\3n\5n\u03cd\nn"+ + "\3o\3o\3o\3o\6o\u03d3\no\ro\16o\u03d4\3o\3o\3o\6o\u03da\no\ro\16o\u03db"+ + "\3o\3o\5o\u03e0\no\3p\3p\3p\3p\6p\u03e6\np\rp\16p\u03e7\3p\3p\3p\6p\u03ed"+ + "\np\rp\16p\u03ee\3p\3p\5p\u03f3\np\4\u0383\u0389\2q\3\3\5\4\7\5\t\6\13"+ + "\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\35\20\37\21!\22#\23%\24\'"+ + "\25)\26+\27-\30/\31\61\32\63\33\65\34\67\359\36;\37= ?!A\"C#E$G%I&K\'"+ + "M(O)Q*S+U,W-Y.[/]\60_\61a\62c\63e\64g\65i\66k\67m8o9q:s;u{?}@\177"+ + "A\u0081B\u0083C\u0085D\u0087E\u0089F\u008bG\u008dH\u008fI\u0091J\u0093"+ + "K\u0095L\u0097M\u0099N\u009bO\u009dP\u009f\2\u00a1\2\u00a3\2\u00a5\2\u00a7"+ + "\2\u00a9\2\u00ab\2\u00ad\2\u00af\2\u00b1\2\u00b3\2\u00b5\2\u00b7\2\u00b9"+ + "\2\u00bb\2\u00bd\2\u00bf\2\u00c1\2\u00c3\2\u00c5\2\u00c7\2\u00c9\2\u00cb"+ + "\2\u00cd\2\u00cf\2\u00d1\2\u00d3Q\u00d5R\u00d7S\u00d9T\u00dbU\u00ddV\u00df"+ + "W\3\2%\5\2\13\f\17\17\"\"\3\2\67\67\4\2CCcc\4\2DDdd\4\2EEee\4\2FFff\4"+ + "\2GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4\2LLll\4\2MMmm\4\2NNnn\4\2OOo"+ + "o\4\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4\2TTtt\4\2UUuu\4\2VVvv\4\2WWww\4\2"+ + "XXxx\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\||\7\2&&\62;C\\aac|\6\2&&C\\aac|\3"+ + "\2bb\4\2$$^^\4\2))^^\3\2\62;\5\2\62;CHch\2\u03f3\2\3\3\2\2\2\2\5\3\2\2"+ + "\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17\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\31\3\2\2\2\2\33\3\2"+ + "\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2\2\2%\3\2\2\2\2\'\3"+ + "\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\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\29\3\2\2\2\2;\3\2\2\2\2=\3\2\2\2\2?\3"+ + "\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2\2I\3\2\2\2\2K\3\2\2"+ + "\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2\2\2\2W\3\2\2\2\2"+ + "Y\3\2\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3\2\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3"+ + "\2\2\2\2g\3\2\2\2\2i\3\2\2\2\2k\3\2\2\2\2m\3\2\2\2\2o\3\2\2\2\2q\3\2\2"+ + "\2\2s\3\2\2\2\2u\3\2\2\2\2w\3\2\2\2\2y\3\2\2\2\2{\3\2\2\2\2}\3\2\2\2\2"+ + "\177\3\2\2\2\2\u0081\3\2\2\2\2\u0083\3\2\2\2\2\u0085\3\2\2\2\2\u0087\3"+ + "\2\2\2\2\u0089\3\2\2\2\2\u008b\3\2\2\2\2\u008d\3\2\2\2\2\u008f\3\2\2\2"+ + "\2\u0091\3\2\2\2\2\u0093\3\2\2\2\2\u0095\3\2\2\2\2\u0097\3\2\2\2\2\u0099"+ + "\3\2\2\2\2\u009b\3\2\2\2\2\u009d\3\2\2\2\2\u00d3\3\2\2\2\2\u00d5\3\2\2"+ + "\2\2\u00d7\3\2\2\2\2\u00d9\3\2\2\2\2\u00db\3\2\2\2\2\u00dd\3\2\2\2\2\u00df"+ + "\3\2\2\2\3\u00e1\3\2\2\2\5\u00e4\3\2\2\2\7\u00e7\3\2\2\2\t\u00e9\3\2\2"+ + "\2\13\u00eb\3\2\2\2\r\u00ed\3\2\2\2\17\u00ef\3\2\2\2\21\u00f2\3\2\2\2"+ + "\23\u00f5\3\2\2\2\25\u00f7\3\2\2\2\27\u00f9\3\2\2\2\31\u00fb\3\2\2\2\33"+ + "\u00fd\3\2\2\2\35\u00ff\3\2\2\2\37\u0101\3\2\2\2!\u0103\3\2\2\2#\u0105"+ + "\3\2\2\2%\u0107\3\2\2\2\'\u010a\3\2\2\2)\u010e\3\2\2\2+\u0111\3\2\2\2"+ + "-\u0117\3\2\2\2/\u0119\3\2\2\2\61\u011b\3\2\2\2\63\u011e\3\2\2\2\65\u0120"+ + "\3\2\2\2\67\u0123\3\2\2\29\u0125\3\2\2\2;\u0127\3\2\2\2=\u0129\3\2\2\2"+ + "?\u012b\3\2\2\2A\u012d\3\2\2\2C\u012f\3\2\2\2E\u0131\3\2\2\2G\u0133\3"+ + "\2\2\2I\u0135\3\2\2\2K\u0137\3\2\2\2M\u0139\3\2\2\2O\u013b\3\2\2\2Q\u013d"+ + "\3\2\2\2S\u013f\3\2\2\2U\u0143\3\2\2\2W\u0146\3\2\2\2Y\u014c\3\2\2\2["+ + "\u0151\3\2\2\2]\u0157\3\2\2\2_\u015e\3\2\2\2a\u0164\3\2\2\2c\u0169\3\2"+ + "\2\2e\u016e\3\2\2\2g\u0173\3\2\2\2i\u0178\3\2\2\2k\u017d\3\2\2\2m\u0182"+ + "\3\2\2\2o\u0187\3\2\2\2q\u0192\3\2\2\2s\u0199\3\2\2\2u\u019f\3\2\2\2w"+ + "\u01a5\3\2\2\2y\u01ad\3\2\2\2{\u01b0\3\2\2\2}\u01b7\3\2\2\2\177\u01bd"+ + "\3\2\2\2\u0081\u01c1\3\2\2\2\u0083\u01c5\3\2\2\2\u0085\u01d9\3\2\2\2\u0087"+ + "\u01ea\3\2\2\2\u0089\u01fe\3\2\2\2\u008b\u020f\3\2\2\2\u008d\u0229\3\2"+ + "\2\2\u008f\u0242\3\2\2\2\u0091\u026a\3\2\2\2\u0093\u0292\3\2\2\2\u0095"+ + "\u02b1\3\2\2\2\u0097\u02ca\3\2\2\2\u0099\u02ed\3\2\2\2\u009b\u030a\3\2"+ + "\2\2\u009d\u0321\3\2\2\2\u009f\u034c\3\2\2\2\u00a1\u034e\3\2\2\2\u00a3"+ + "\u0350\3\2\2\2\u00a5\u0352\3\2\2\2\u00a7\u0354\3\2\2\2\u00a9\u0356\3\2"+ + "\2\2\u00ab\u0358\3\2\2\2\u00ad\u035a\3\2\2\2\u00af\u035c\3\2\2\2\u00b1"+ + "\u035e\3\2\2\2\u00b3\u0360\3\2\2\2\u00b5\u0362\3\2\2\2\u00b7\u0364\3\2"+ + "\2\2\u00b9\u0366\3\2\2\2\u00bb\u0368\3\2\2\2\u00bd\u036a\3\2\2\2\u00bf"+ + "\u036c\3\2\2\2\u00c1\u036e\3\2\2\2\u00c3\u0370\3\2\2\2\u00c5\u0372\3\2"+ + "\2\2\u00c7\u0374\3\2\2\2\u00c9\u0376\3\2\2\2\u00cb\u0378\3\2\2\2\u00cd"+ + "\u037a\3\2\2\2\u00cf\u037c\3\2\2\2\u00d1\u037e\3\2\2\2\u00d3\u0399\3\2"+ + "\2\2\u00d5\u03b5\3\2\2\2\u00d7\u03b8\3\2\2\2\u00d9\u03bc\3\2\2\2\u00db"+ + "\u03bf\3\2\2\2\u00dd\u03df\3\2\2\2\u00df\u03f2\3\2\2\2\u00e1\u00e2\7("+ + "\2\2\u00e2\u00e3\7(\2\2\u00e3\4\3\2\2\2\u00e4\u00e5\7~\2\2\u00e5\u00e6"+ + "\7~\2\2\u00e6\6\3\2\2\2\u00e7\u00e8\7#\2\2\u00e8\b\3\2\2\2\u00e9\u00ea"+ + "\7\u0080\2\2\u00ea\n\3\2\2\2\u00eb\u00ec\7~\2\2\u00ec\f\3\2\2\2\u00ed"+ + "\u00ee\7(\2\2\u00ee\16\3\2\2\2\u00ef\u00f0\7>\2\2\u00f0\u00f1\7>\2\2\u00f1"+ + "\20\3\2\2\2\u00f2\u00f3\7@\2\2\u00f3\u00f4\7@\2\2\u00f4\22\3\2\2\2\u00f5"+ + "\u00f6\7`\2\2\u00f6\24\3\2\2\2\u00f7\u00f8\7\'\2\2\u00f8\26\3\2\2\2\u00f9"+ + "\u00fa\7<\2\2\u00fa\30\3\2\2\2\u00fb\u00fc\7-\2\2\u00fc\32\3\2\2\2\u00fd"+ + "\u00fe\7/\2\2\u00fe\34\3\2\2\2\u00ff\u0100\7,\2\2\u0100\36\3\2\2\2\u0101"+ + "\u0102\7\61\2\2\u0102 \3\2\2\2\u0103\u0104\7^\2\2\u0104\"\3\2\2\2\u0105"+ + "\u0106\7\60\2\2\u0106$\3\2\2\2\u0107\u0108\7\60\2\2\u0108\u0109\7,\2\2"+ + "\u0109&\3\2\2\2\u010a\u010b\7>\2\2\u010b\u010c\7?\2\2\u010c\u010d\7@\2"+ + "\2\u010d(\3\2\2\2\u010e\u010f\7?\2\2\u010f\u0110\7?\2\2\u0110*\3\2\2\2"+ + "\u0111\u0112\7?\2\2\u0112,\3\2\2\2\u0113\u0114\7>\2\2\u0114\u0118\7@\2"+ + "\2\u0115\u0116\7#\2\2\u0116\u0118\7?\2\2\u0117\u0113\3\2\2\2\u0117\u0115"+ + "\3\2\2\2\u0118.\3\2\2\2\u0119\u011a\7@\2\2\u011a\60\3\2\2\2\u011b\u011c"+ + "\7@\2\2\u011c\u011d\7?\2\2\u011d\62\3\2\2\2\u011e\u011f\7>\2\2\u011f\64"+ + "\3\2\2\2\u0120\u0121\7>\2\2\u0121\u0122\7?\2\2\u0122\66\3\2\2\2\u0123"+ + "\u0124\7%\2\2\u01248\3\2\2\2\u0125\u0126\7*\2\2\u0126:\3\2\2\2\u0127\u0128"+ + "\7+\2\2\u0128<\3\2\2\2\u0129\u012a\7}\2\2\u012a>\3\2\2\2\u012b\u012c\7"+ + "\177\2\2\u012c@\3\2\2\2\u012d\u012e\7]\2\2\u012eB\3\2\2\2\u012f\u0130"+ + "\7_\2\2\u0130D\3\2\2\2\u0131\u0132\7.\2\2\u0132F\3\2\2\2\u0133\u0134\7"+ + "$\2\2\u0134H\3\2\2\2\u0135\u0136\7)\2\2\u0136J\3\2\2\2\u0137\u0138\7b"+ + "\2\2\u0138L\3\2\2\2\u0139\u013a\7A\2\2\u013aN\3\2\2\2\u013b\u013c\7B\2"+ + "\2\u013cP\3\2\2\2\u013d\u013e\7=\2\2\u013eR\3\2\2\2\u013f\u0140\7/\2\2"+ + "\u0140\u0141\7@\2\2\u0141\u0142\7@\2\2\u0142T\3\2\2\2\u0143\u0144\7a\2"+ + "\2\u0144V\3\2\2\2\u0145\u0147\t\2\2\2\u0146\u0145\3\2\2\2\u0147\u0148"+ + "\3\2\2\2\u0148\u0146\3\2\2\2\u0148\u0149\3\2\2\2\u0149\u014a\3\2\2\2\u014a"+ + "\u014b\b,\2\2\u014bX\3\2\2\2\u014c\u014d\5\u00c5c\2\u014d\u014e\5\u00c1"+ + "a\2\u014e\u014f\5\u00c7d\2\u014f\u0150\5\u00a7T\2\u0150Z\3\2\2\2\u0151"+ + "\u0152\5\u00a9U\2\u0152\u0153\5\u009fP\2\u0153\u0154\5\u00b5[\2\u0154"+ + "\u0155\5\u00c3b\2\u0155\u0156\5\u00a7T\2\u0156\\\3\2\2\2\u0157\u0158\5"+ + "\u00a3R\2\u0158\u0159\5\u00c1a\2\u0159\u015a\5\u00a7T\2\u015a\u015b\5"+ + "\u009fP\2\u015b\u015c\5\u00c5c\2\u015c\u015d\5\u00a7T\2\u015d^\3\2\2\2"+ + "\u015e\u015f\5\u009fP\2\u015f\u0160\5\u00b5[\2\u0160\u0161\5\u00c5c\2"+ + "\u0161\u0162\5\u00a7T\2\u0162\u0163\5\u00c1a\2\u0163`\3\2\2\2\u0164\u0165"+ + "\5\u00a5S\2\u0165\u0166\5\u00c1a\2\u0166\u0167\5\u00bb^\2\u0167\u0168"+ + "\5\u00bd_\2\u0168b\3\2\2\2\u0169\u016a\5\u00c3b\2\u016a\u016b\5\u00ad"+ + "W\2\u016b\u016c\5\u00bb^\2\u016c\u016d\5\u00cbf\2\u016dd\3\2\2\2\u016e"+ + "\u016f\5\u00c1a\2\u016f\u0170\5\u00c7d\2\u0170\u0171\5\u00b5[\2\u0171"+ + "\u0172\5\u00a7T\2\u0172f\3\2\2\2\u0173\u0174\5\u00a9U\2\u0174\u0175\5"+ + "\u00c1a\2\u0175\u0176\5\u00bb^\2\u0176\u0177\5\u00b7\\\2\u0177h\3\2\2"+ + "\2\u0178\u0179\5\u00b7\\\2\u0179\u017a\5\u009fP\2\u017a\u017b\5\u00c3"+ + "b\2\u017b\u017c\5\u00b3Z\2\u017cj\3\2\2\2\u017d\u017e\5\u00c5c\2\u017e"+ + "\u017f\5\u00cfh\2\u017f\u0180\5\u00bd_\2\u0180\u0181\5\u00a7T\2\u0181"+ + "l\3\2\2\2\u0182\u0183\5\u00b9]\2\u0183\u0184\5\u009fP\2\u0184\u0185\5"+ + "\u00b7\\\2\u0185\u0186\5\u00a7T\2\u0186n\3\2\2\2\u0187\u0188\5\u00bd_"+ + "\2\u0188\u0189\5\u00c1a\2\u0189\u018a\5\u00bb^\2\u018a\u018b\5\u00bd_"+ + "\2\u018b\u018c\5\u00a7T\2\u018c\u018d\5\u00c1a\2\u018d\u018e\5\u00c5c"+ + "\2\u018e\u018f\5\u00afX\2\u018f\u0190\5\u00a7T\2\u0190\u0191\5\u00c3b"+ + "\2\u0191p\3\2\2\2\u0192\u0193\5\u00a3R\2\u0193\u0194\5\u00bb^\2\u0194"+ + "\u0195\5\u00b5[\2\u0195\u0196\5\u00c7d\2\u0196\u0197\5\u00b7\\\2\u0197"+ + "\u0198\5\u00b9]\2\u0198r\3\2\2\2\u0199\u019a\5\u00c1a\2\u019a\u019b\5"+ + "\u00c7d\2\u019b\u019c\5\u00b5[\2\u019c\u019d\5\u00a7T\2\u019d\u019e\5"+ + "\u00c3b\2\u019et\3\2\2\2\u019f\u01a0\5\u00c5c\2\u01a0\u01a1\5\u009fP\2"+ + "\u01a1\u01a2\5\u00a1Q\2\u01a2\u01a3\5\u00b5[\2\u01a3\u01a4\5\u00a7T\2"+ + "\u01a4v\3\2\2\2\u01a5\u01a6\5\u00a3R\2\u01a6\u01a7\5\u00bb^\2\u01a7\u01a8"+ + "\5\u00b5[\2\u01a8\u01a9\5\u00c7d\2\u01a9\u01aa\5\u00b7\\\2\u01aa\u01ab"+ + "\5\u00b9]\2\u01ab\u01ac\5\u00c3b\2\u01acx\3\2\2\2\u01ad\u01ae\5\u00af"+ + "X\2\u01ae\u01af\5\u00a9U\2\u01afz\3\2\2\2\u01b0\u01b1\5\u00a7T\2\u01b1"+ + "\u01b2\5\u00cdg\2\u01b2\u01b3\5\u00afX\2\u01b3\u01b4\5\u00c3b\2\u01b4"+ + "\u01b5\5\u00c5c\2\u01b5\u01b6\5\u00c3b\2\u01b6|\3\2\2\2\u01b7\u01b8\5"+ + "\u00a3R\2\u01b8\u01b9\5\u00bb^\2\u01b9\u01ba\5\u00c7d\2\u01ba\u01bb\5"+ + "\u00b9]\2\u01bb\u01bc\5\u00c5c\2\u01bc~\3\2\2\2\u01bd\u01be\5\u00b9]\2"+ + "\u01be\u01bf\5\u00bb^\2\u01bf\u01c0\5\u00c5c\2\u01c0\u0080\3\2\2\2\u01c1"+ + "\u01c2\5\u00b7\\\2\u01c2\u01c3\5\u00a5S\2\u01c3\u01c4\t\3\2\2\u01c4\u0082"+ + "\3\2\2\2\u01c5\u01c6\5\u00b3Z\2\u01c6\u01c7\5\u00a7T\2\u01c7\u01c8\5\u00a7"+ + "T\2\u01c8\u01c9\5\u00bd_\2\u01c9\u01ca\5U+\2\u01ca\u01cb\5\u00a9U\2\u01cb"+ + "\u01cc\5\u00afX\2\u01cc\u01cd\5\u00c1a\2\u01cd\u01ce\5\u00c3b\2\u01ce"+ + "\u01cf\5\u00c5c\2\u01cf\u01d0\5U+\2\u01d0\u01d1\5\u00b9]\2\u01d1\u01d2"+ + "\5U+\2\u01d2\u01d3\5\u00b5[\2\u01d3\u01d4\5\u009fP\2\u01d4\u01d5\5\u00c3"+ + "b\2\u01d5\u01d6\5\u00c5c\2\u01d6\u01d7\5U+\2\u01d7\u01d8\5\u00b7\\\2\u01d8"+ + "\u0084\3\2\2\2\u01d9\u01da\5\u00b3Z\2\u01da\u01db\5\u00a7T\2\u01db\u01dc"+ + "\5\u00a7T\2\u01dc\u01dd\5\u00bd_\2\u01dd\u01de\5U+\2\u01de\u01df\5\u00a9"+ + "U\2\u01df\u01e0\5\u00c1a\2\u01e0\u01e1\5\u00bb^\2\u01e1\u01e2\5\u00b7"+ + "\\\2\u01e2\u01e3\5U+\2\u01e3\u01e4\5\u00cdg\2\u01e4\u01e5\5U+\2\u01e5"+ + "\u01e6\5\u00c5c\2\u01e6\u01e7\5\u00bb^\2\u01e7\u01e8\5U+\2\u01e8\u01e9"+ + "\5\u00cfh\2\u01e9\u0086\3\2\2\2\u01ea\u01eb\5\u00b7\\\2\u01eb\u01ec\5"+ + "\u009fP\2\u01ec\u01ed\5\u00c3b\2\u01ed\u01ee\5\u00b3Z\2\u01ee\u01ef\5"+ + "U+\2\u01ef\u01f0\5\u00a9U\2\u01f0\u01f1\5\u00afX\2\u01f1\u01f2\5\u00c1"+ + "a\2\u01f2\u01f3\5\u00c3b\2\u01f3\u01f4\5\u00c5c\2\u01f4\u01f5\5U+\2\u01f5"+ + "\u01f6\5\u00b9]\2\u01f6\u01f7\5U+\2\u01f7\u01f8\5\u00b5[\2\u01f8\u01f9"+ + "\5\u009fP\2\u01f9\u01fa\5\u00c3b\2\u01fa\u01fb\5\u00c5c\2\u01fb\u01fc"+ + "\5U+\2\u01fc\u01fd\5\u00b7\\\2\u01fd\u0088\3\2\2\2\u01fe\u01ff\5\u00b7"+ + "\\\2\u01ff\u0200\5\u009fP\2\u0200\u0201\5\u00c3b\2\u0201\u0202\5\u00b3"+ + "Z\2\u0202\u0203\5U+\2\u0203\u0204\5\u00a9U\2\u0204\u0205\5\u00c1a\2\u0205"+ + "\u0206\5\u00bb^\2\u0206\u0207\5\u00b7\\\2\u0207\u0208\5U+\2\u0208\u0209"+ + "\5\u00cdg\2\u0209\u020a\5U+\2\u020a\u020b\5\u00c5c\2\u020b\u020c\5\u00bb"+ + "^\2\u020c\u020d\5U+\2\u020d\u020e\5\u00cfh\2\u020e\u008a\3\2\2\2\u020f"+ + "\u0210\5\u00b7\\\2\u0210\u0211\5\u009fP\2\u0211\u0212\5\u00c3b\2\u0212"+ + "\u0213\5\u00b3Z\2\u0213\u0214\5U+\2\u0214\u0215\5\u00a1Q\2\u0215\u0216"+ + "\5\u00a7T\2\u0216\u0217\5\u00a9U\2\u0217\u0218\5\u00bb^\2\u0218\u0219"+ + "\5\u00c1a\2\u0219\u021a\5\u00a7T\2\u021a\u021b\5U+\2\u021b\u021c\5\u00c3"+ + "b\2\u021c\u021d\5\u00bd_\2\u021d\u021e\5\u00a7T\2\u021e\u021f\5\u00a3"+ + "R\2\u021f\u0220\5\u00afX\2\u0220\u0221\5\u009fP\2\u0221\u0222\5\u00b5"+ + "[\2\u0222\u0223\5U+\2\u0223\u0224\5\u00a3R\2\u0224\u0225\5\u00adW\2\u0225"+ + "\u0226\5\u009fP\2\u0226\u0227\5\u00c1a\2\u0227\u0228\5\u00c3b\2\u0228"+ + "\u008c\3\2\2\2\u0229\u022a\5\u00b7\\\2\u022a\u022b\5\u009fP\2\u022b\u022c"+ + "\5\u00c3b\2\u022c\u022d\5\u00b3Z\2\u022d\u022e\5U+\2\u022e\u022f\5\u009f"+ + "P\2\u022f\u0230\5\u00a9U\2\u0230\u0231\5\u00c5c\2\u0231\u0232\5\u00a7"+ + "T\2\u0232\u0233\5\u00c1a\2\u0233\u0234\5U+\2\u0234\u0235\5\u00c3b\2\u0235"+ + "\u0236\5\u00bd_\2\u0236\u0237\5\u00a7T\2\u0237\u0238\5\u00a3R\2\u0238"+ + "\u0239\5\u00afX\2\u0239\u023a\5\u009fP\2\u023a\u023b\5\u00b5[\2\u023b"+ + "\u023c\5U+\2\u023c\u023d\5\u00a3R\2\u023d\u023e\5\u00adW\2\u023e\u023f"+ + "\5\u009fP\2\u023f\u0240\5\u00c1a\2\u0240\u0241\5\u00c3b\2\u0241\u008e"+ + "\3\2\2\2\u0242\u0243\5\u00bd_\2\u0243\u0244\5\u00a7T\2\u0244\u0245\5\u00c1"+ + "a\2\u0245\u0246\5\u00c3b\2\u0246\u0247\5\u00bb^\2\u0247\u0248\5\u00b9"+ + "]\2\u0248\u0249\5\u009fP\2\u0249\u024a\5\u00b5[\2\u024a\u024b\5U+\2\u024b"+ + "\u024c\5\u00afX\2\u024c\u024d\5\u00a5S\2\u024d\u024e\5\u00a7T\2\u024e"+ + "\u024f\5\u00b9]\2\u024f\u0250\5\u00c5c\2\u0250\u0251\5\u00afX\2\u0251"+ + "\u0252\5\u00c5c\2\u0252\u0253\5\u00cfh\2\u0253\u0254\5U+\2\u0254\u0255"+ + "\5\u00b9]\2\u0255\u0256\5\u00c7d\2\u0256\u0257\5\u00b7\\\2\u0257\u0258"+ + "\5\u00a1Q\2\u0258\u0259\5\u00a7T\2\u0259\u025a\5\u00c1a\2\u025a\u025b"+ + "\5U+\2\u025b\u025c\5\u00c1a\2\u025c\u025d\5\u009fP\2\u025d\u025e\5\u00b9"+ + "]\2\u025e\u025f\5\u00a5S\2\u025f\u0260\5\u00bb^\2\u0260\u0261\5\u00b7"+ + "\\\2\u0261\u0262\5U+\2\u0262\u0263\5\u00c1a\2\u0263\u0264\5\u00a7T\2\u0264"+ + "\u0265\5\u00bd_\2\u0265\u0266\5\u00b5[\2\u0266\u0267\5\u009fP\2\u0267"+ + "\u0268\5\u00a3R\2\u0268\u0269\5\u00a7T\2\u0269\u0090\3\2\2\2\u026a\u026b"+ + "\5\u00b7\\\2\u026b\u026c\5\u00afX\2\u026c\u026d\5\u00b5[\2\u026d\u026e"+ + "\5\u00afX\2\u026e\u026f\5\u00c5c\2\u026f\u0270\5\u009fP\2\u0270\u0271"+ + "\5\u00c1a\2\u0271\u0272\5\u00cfh\2\u0272\u0273\5U+\2\u0273\u0274\5\u00af"+ + "X\2\u0274\u0275\5\u00a5S\2\u0275\u0276\5\u00a7T\2\u0276\u0277\5\u00b9"+ + "]\2\u0277\u0278\5\u00c5c\2\u0278\u0279\5\u00afX\2\u0279\u027a\5\u00c5"+ + "c\2\u027a\u027b\5\u00cfh\2\u027b\u027c\5U+\2\u027c\u027d\5\u00b9]\2\u027d"+ + "\u027e\5\u00c7d\2\u027e\u027f\5\u00b7\\\2\u027f\u0280\5\u00a1Q\2\u0280"+ + "\u0281\5\u00a7T\2\u0281\u0282\5\u00c1a\2\u0282\u0283\5U+\2\u0283\u0284"+ + "\5\u00c1a\2\u0284\u0285\5\u009fP\2\u0285\u0286\5\u00b9]\2\u0286\u0287"+ + "\5\u00a5S\2\u0287\u0288\5\u00bb^\2\u0288\u0289\5\u00b7\\\2\u0289\u028a"+ + "\5U+\2\u028a\u028b\5\u00c1a\2\u028b\u028c\5\u00a7T\2\u028c\u028d\5\u00bd"+ + "_\2\u028d\u028e\5\u00b5[\2\u028e\u028f\5\u009fP\2\u028f\u0290\5\u00a3"+ + "R\2\u0290\u0291\5\u00a7T\2\u0291\u0092\3\2\2\2\u0292\u0293\5\u00b5[\2"+ + "\u0293\u0294\5\u009fP\2\u0294\u0295\5\u00b9]\2\u0295\u0296\5\u00a5S\2"+ + "\u0296\u0297\5\u00b5[\2\u0297\u0298\5\u00afX\2\u0298\u0299\5\u00b9]\2"+ + "\u0299\u029a\5\u00a7T\2\u029a\u029b\5U+\2\u029b\u029c\5\u00b9]\2\u029c"+ + "\u029d\5\u00c7d\2\u029d\u029e\5\u00b7\\\2\u029e\u029f\5\u00a1Q\2\u029f"+ + "\u02a0\5\u00a7T\2\u02a0\u02a1\5\u00c1a\2\u02a1\u02a2\5U+\2\u02a2\u02a3"+ + "\5\u00c1a\2\u02a3\u02a4\5\u009fP\2\u02a4\u02a5\5\u00b9]\2\u02a5\u02a6"+ + "\5\u00a5S\2\u02a6\u02a7\5\u00bb^\2\u02a7\u02a8\5\u00b7\\\2\u02a8\u02a9"+ + "\5U+\2\u02a9\u02aa\5\u00c1a\2\u02aa\u02ab\5\u00a7T\2\u02ab\u02ac\5\u00bd"+ + "_\2\u02ac\u02ad\5\u00b5[\2\u02ad\u02ae\5\u009fP\2\u02ae\u02af\5\u00a3"+ + "R\2\u02af\u02b0\5\u00a7T\2\u02b0\u0094\3\2\2\2\u02b1\u02b2\5\u00c5c\2"+ + "\u02b2\u02b3\5\u00a7T\2\u02b3\u02b4\5\u00b5[\2\u02b4\u02b5\5\u00a7T\2"+ + "\u02b5\u02b6\5\u00bd_\2\u02b6\u02b7\5\u00adW\2\u02b7\u02b8\5\u00bb^\2"+ + "\u02b8\u02b9\5\u00b9]\2\u02b9\u02ba\5\u00a7T\2\u02ba\u02bb\5U+\2\u02bb"+ + "\u02bc\5\u00c1a\2\u02bc\u02bd\5\u009fP\2\u02bd\u02be\5\u00b9]\2\u02be"+ + "\u02bf\5\u00a5S\2\u02bf\u02c0\5\u00bb^\2\u02c0\u02c1\5\u00b7\\\2\u02c1"+ + "\u02c2\5U+\2\u02c2\u02c3\5\u00c1a\2\u02c3\u02c4\5\u00a7T\2\u02c4\u02c5"+ + "\5\u00bd_\2\u02c5\u02c6\5\u00b5[\2\u02c6\u02c7\5\u009fP\2\u02c7\u02c8"+ + "\5\u00a3R\2\u02c8\u02c9\5\u00a7T\2\u02c9\u0096\3\2\2\2\u02ca\u02cb\5\u00c7"+ + "d\2\u02cb\u02cc\5\u00b9]\2\u02cc\u02cd\5\u00afX\2\u02cd\u02ce\5\u00a9"+ + "U\2\u02ce\u02cf\5\u00afX\2\u02cf\u02d0\5\u00a7T\2\u02d0\u02d1\5\u00a5"+ + "S\2\u02d1\u02d2\5U+\2\u02d2\u02d3\5\u00a3R\2\u02d3\u02d4\5\u00c1a\2\u02d4"+ + "\u02d5\5\u00a7T\2\u02d5\u02d6\5\u00a5S\2\u02d6\u02d7\5\u00afX\2\u02d7"+ + "\u02d8\5\u00c5c\2\u02d8\u02d9\5U+\2\u02d9\u02da\5\u00a3R\2\u02da\u02db"+ + "\5\u00bb^\2\u02db\u02dc\5\u00a5S\2\u02dc\u02dd\5\u00a7T\2\u02dd\u02de"+ + "\5U+\2\u02de\u02df\5\u00c1a\2\u02df\u02e0\5\u009fP\2\u02e0\u02e1\5\u00b9"+ + "]\2\u02e1\u02e2\5\u00a5S\2\u02e2\u02e3\5\u00bb^\2\u02e3\u02e4\5\u00b7"+ + "\\\2\u02e4\u02e5\5U+\2\u02e5\u02e6\5\u00c1a\2\u02e6\u02e7\5\u00a7T\2\u02e7"+ + "\u02e8\5\u00bd_\2\u02e8\u02e9\5\u00b5[\2\u02e9\u02ea\5\u009fP\2\u02ea"+ + "\u02eb\5\u00a3R\2\u02eb\u02ec\5\u00a7T\2\u02ec\u0098\3\2\2\2\u02ed\u02ee"+ + "\5\u00abV\2\u02ee\u02ef\5\u00a7T\2\u02ef\u02f0\5\u00b9]\2\u02f0\u02f1"+ + "\5\u00a7T\2\u02f1\u02f2\5\u00c1a\2\u02f2\u02f3\5\u00afX\2\u02f3\u02f4"+ + "\5\u00a3R\2\u02f4\u02f5\5U+\2\u02f5\u02f6\5\u00c5c\2\u02f6\u02f7\5\u009f"+ + "P\2\u02f7\u02f8\5\u00a1Q\2\u02f8\u02f9\5\u00b5[\2\u02f9\u02fa\5\u00a7"+ + "T\2\u02fa\u02fb\5U+\2\u02fb\u02fc\5\u00c1a\2\u02fc\u02fd\5\u009fP\2\u02fd"+ + "\u02fe\5\u00b9]\2\u02fe\u02ff\5\u00a5S\2\u02ff\u0300\5\u00bb^\2\u0300"+ + "\u0301\5\u00b7\\\2\u0301\u0302\5U+\2\u0302\u0303\5\u00c1a\2\u0303\u0304"+ + "\5\u00a7T\2\u0304\u0305\5\u00bd_\2\u0305\u0306\5\u00b5[\2\u0306\u0307"+ + "\5\u009fP\2\u0307\u0308\5\u00a3R\2\u0308\u0309\5\u00a7T\2\u0309\u009a"+ + "\3\2\2\2\u030a\u030b\5\u009fP\2\u030b\u030c\5\u00a5S\2\u030c\u030d\5\u00a5"+ + "S\2\u030d\u030e\5\u00c1a\2\u030e\u030f\5\u00a7T\2\u030f\u0310\5\u00c3"+ + "b\2\u0310\u0311\5\u00c3b\2\u0311\u0312\5U+\2\u0312\u0313\5\u00c1a\2\u0313"+ + "\u0314\5\u009fP\2\u0314\u0315\5\u00b9]\2\u0315\u0316\5\u00a5S\2\u0316"+ + "\u0317\5\u00bb^\2\u0317\u0318\5\u00b7\\\2\u0318\u0319\5U+\2\u0319\u031a"+ + "\5\u00c1a\2\u031a\u031b\5\u00a7T\2\u031b\u031c\5\u00bd_\2\u031c\u031d"+ + "\5\u00b5[\2\u031d\u031e\5\u009fP\2\u031e\u031f\5\u00a3R\2\u031f\u0320"+ + "\5\u00a7T\2\u0320\u009c\3\2\2\2\u0321\u0322\7F\2\2\u0322\u0323\7Q\2\2"+ + "\u0323\u0324\7\"\2\2\u0324\u0325\7P\2\2\u0325\u0326\7Q\2\2\u0326\u0327"+ + "\7V\2\2\u0327\u0328\7\"\2\2\u0328\u0329\7O\2\2\u0329\u032a\7C\2\2\u032a"+ + "\u032b\7V\2\2\u032b\u032c\7E\2\2\u032c\u032d\7J\2\2\u032d\u032e\7\"\2"+ + "\2\u032e\u032f\7C\2\2\u032f\u0330\7P\2\2\u0330\u0331\7[\2\2\u0331\u0332"+ + "\7\"\2\2\u0332\u0333\7V\2\2\u0333\u0334\7J\2\2\u0334\u0335\7K\2\2\u0335"+ + "\u0336\7P\2\2\u0336\u0337\7I\2\2\u0337\u0338\7.\2\2\u0338\u0339\7\"\2"+ + "\2\u0339\u033a\7L\2\2\u033a\u033b\7W\2\2\u033b\u033c\7U\2\2\u033c\u033d"+ + "\7V\2\2\u033d\u033e\7\"\2\2\u033e\u033f\7H\2\2\u033f\u0340\7Q\2\2\u0340"+ + "\u0341\7T\2\2\u0341\u0342\7\"\2\2\u0342\u0343\7I\2\2\u0343\u0344\7G\2"+ + "\2\u0344\u0345\7P\2\2\u0345\u0346\7G\2\2\u0346\u0347\7T\2\2\u0347\u0348"+ + "\7C\2\2\u0348\u0349\7V\2\2\u0349\u034a\7Q\2\2\u034a\u034b\7T\2\2\u034b"+ + "\u009e\3\2\2\2\u034c\u034d\t\4\2\2\u034d\u00a0\3\2\2\2\u034e\u034f\t\5"+ + "\2\2\u034f\u00a2\3\2\2\2\u0350\u0351\t\6\2\2\u0351\u00a4\3\2\2\2\u0352"+ + "\u0353\t\7\2\2\u0353\u00a6\3\2\2\2\u0354\u0355\t\b\2\2\u0355\u00a8\3\2"+ + "\2\2\u0356\u0357\t\t\2\2\u0357\u00aa\3\2\2\2\u0358\u0359\t\n\2\2\u0359"+ + "\u00ac\3\2\2\2\u035a\u035b\t\13\2\2\u035b\u00ae\3\2\2\2\u035c\u035d\t"+ + "\f\2\2\u035d\u00b0\3\2\2\2\u035e\u035f\t\r\2\2\u035f\u00b2\3\2\2\2\u0360"+ + "\u0361\t\16\2\2\u0361\u00b4\3\2\2\2\u0362\u0363\t\17\2\2\u0363\u00b6\3"+ + "\2\2\2\u0364\u0365\t\20\2\2\u0365\u00b8\3\2\2\2\u0366\u0367\t\21\2\2\u0367"+ + "\u00ba\3\2\2\2\u0368\u0369\t\22\2\2\u0369\u00bc\3\2\2\2\u036a\u036b\t"+ + "\23\2\2\u036b\u00be\3\2\2\2\u036c\u036d\t\24\2\2\u036d\u00c0\3\2\2\2\u036e"+ + "\u036f\t\25\2\2\u036f\u00c2\3\2\2\2\u0370\u0371\t\26\2\2\u0371\u00c4\3"+ + "\2\2\2\u0372\u0373\t\27\2\2\u0373\u00c6\3\2\2\2\u0374\u0375\t\30\2\2\u0375"+ + "\u00c8\3\2\2\2\u0376\u0377\t\31\2\2\u0377\u00ca\3\2\2\2\u0378\u0379\t"+ + "\32\2\2\u0379\u00cc\3\2\2\2\u037a\u037b\t\33\2\2\u037b\u00ce\3\2\2\2\u037c"+ + "\u037d\t\34\2\2\u037d\u00d0\3\2\2\2\u037e\u037f\t\35\2\2\u037f\u00d2\3"+ + "\2\2\2\u0380\u0382\t\36\2\2\u0381\u0380\3\2\2\2\u0382\u0385\3\2\2\2\u0383"+ + "\u0384\3\2\2\2\u0383\u0381\3\2\2\2\u0384\u0387\3\2\2\2\u0385\u0383\3\2"+ + "\2\2\u0386\u0388\t\37\2\2\u0387\u0386\3\2\2\2\u0388\u0389\3\2\2\2\u0389"+ + "\u038a\3\2\2\2\u0389\u0387\3\2\2\2\u038a\u038e\3\2\2\2\u038b\u038d\t\36"+ + "\2\2\u038c\u038b\3\2\2\2\u038d\u0390\3\2\2\2\u038e\u038c\3\2\2\2\u038e"+ + "\u038f\3\2\2\2\u038f\u039a\3\2\2\2\u0390\u038e\3\2\2\2\u0391\u0393\5K"+ + "&\2\u0392\u0394\n \2\2\u0393\u0392\3\2\2\2\u0394\u0395\3\2\2\2\u0395\u0393"+ + "\3\2\2\2\u0395\u0396\3\2\2\2\u0396\u0397\3\2\2\2\u0397\u0398\5K&\2\u0398"+ + "\u039a\3\2\2\2\u0399\u0383\3\2\2\2\u0399\u0391\3\2\2\2\u039a\u00d4\3\2"+ + "\2\2\u039b\u03a3\5G$\2\u039c\u039d\7^\2\2\u039d\u03a2\13\2\2\2\u039e\u039f"+ + "\7$\2\2\u039f\u03a2\7$\2\2\u03a0\u03a2\n!\2\2\u03a1\u039c\3\2\2\2\u03a1"+ + "\u039e\3\2\2\2\u03a1\u03a0\3\2\2\2\u03a2\u03a5\3\2\2\2\u03a3\u03a1\3\2"+ + "\2\2\u03a3\u03a4\3\2\2\2\u03a4\u03a6\3\2\2\2\u03a5\u03a3\3\2\2\2\u03a6"+ + "\u03a7\5G$\2\u03a7\u03b6\3\2\2\2\u03a8\u03b0\5I%\2\u03a9\u03aa\7^\2\2"+ + "\u03aa\u03af\13\2\2\2\u03ab\u03ac\7)\2\2\u03ac\u03af\7)\2\2\u03ad\u03af"+ + "\n\"\2\2\u03ae\u03a9\3\2\2\2\u03ae\u03ab\3\2\2\2\u03ae\u03ad\3\2\2\2\u03af"+ + "\u03b2\3\2\2\2\u03b0\u03ae\3\2\2\2\u03b0\u03b1\3\2\2\2\u03b1\u03b3\3\2"+ + "\2\2\u03b2\u03b0\3\2\2\2\u03b3\u03b4\5I%\2\u03b4\u03b6\3\2\2\2\u03b5\u039b"+ + "\3\2\2\2\u03b5\u03a8\3\2\2\2\u03b6\u00d6\3\2\2\2\u03b7\u03b9\t#\2\2\u03b8"+ + "\u03b7\3\2\2\2\u03b9\u03ba\3\2\2\2\u03ba\u03b8\3\2\2\2\u03ba\u03bb\3\2"+ + "\2\2\u03bb\u00d8\3\2\2\2\u03bc\u03bd\t$\2\2\u03bd\u00da\3\2\2\2\u03be"+ + "\u03c0\5\u00d7l\2\u03bf\u03be\3\2\2\2\u03bf\u03c0\3\2\2\2\u03c0\u03c2"+ + "\3\2\2\2\u03c1\u03c3\5#\22\2\u03c2\u03c1\3\2\2\2\u03c2\u03c3\3\2\2\2\u03c3"+ + "\u03c4\3\2\2\2\u03c4\u03cc\5\u00d7l\2\u03c5\u03c8\5\u00a7T\2\u03c6\u03c9"+ + "\5\31\r\2\u03c7\u03c9\5\33\16\2\u03c8\u03c6\3\2\2\2\u03c8\u03c7\3\2\2"+ + "\2\u03c8\u03c9\3\2\2\2\u03c9\u03ca\3\2\2\2\u03ca\u03cb\5\u00d7l\2\u03cb"+ + "\u03cd\3\2\2\2\u03cc\u03c5\3\2\2\2\u03cc\u03cd\3\2\2\2\u03cd\u00dc\3\2"+ + "\2\2\u03ce\u03cf\7\62\2\2\u03cf\u03d0\7z\2\2\u03d0\u03d2\3\2\2\2\u03d1"+ + "\u03d3\5\u00d9m\2\u03d2\u03d1\3\2\2\2\u03d3\u03d4\3\2\2\2\u03d4\u03d2"+ + "\3\2\2\2\u03d4\u03d5\3\2\2\2\u03d5\u03e0\3\2\2\2\u03d6\u03d7\7Z\2\2\u03d7"+ + "\u03d9\5I%\2\u03d8\u03da\5\u00d9m\2\u03d9\u03d8\3\2\2\2\u03da\u03db\3"+ + "\2\2\2\u03db\u03d9\3\2\2\2\u03db\u03dc\3\2\2\2\u03dc\u03dd\3\2\2\2\u03dd"+ + "\u03de\5I%\2\u03de\u03e0\3\2\2\2\u03df\u03ce\3\2\2\2\u03df\u03d6\3\2\2"+ + "\2\u03e0\u00de\3\2\2\2\u03e1\u03e2\7\62\2\2\u03e2\u03e3\7d\2\2\u03e3\u03e5"+ + "\3\2\2\2\u03e4\u03e6\4\62\63\2\u03e5\u03e4\3\2\2\2\u03e6\u03e7\3\2\2\2"+ + "\u03e7\u03e5\3\2\2\2\u03e7\u03e8\3\2\2\2\u03e8\u03f3\3\2\2\2\u03e9\u03ea"+ + "\5\u00a1Q\2\u03ea\u03ec\5I%\2\u03eb\u03ed\4\62\63\2\u03ec\u03eb\3\2\2"+ + "\2\u03ed\u03ee\3\2\2\2\u03ee\u03ec\3\2\2\2\u03ee\u03ef\3\2\2\2\u03ef\u03f0"+ + "\3\2\2\2\u03f0\u03f1\5I%\2\u03f1\u03f3\3\2\2\2\u03f2\u03e1\3\2\2\2\u03f2"+ + "\u03e9\3\2\2\2\u03f3\u00e0\3\2\2\2\32\2\u0117\u0148\u0383\u0389\u038e"+ + "\u0395\u0399\u03a1\u03a3\u03ae\u03b0\u03b5\u03ba\u03bf\u03c2\u03c8\u03cc"+ + "\u03d4\u03db\u03df\u03e7\u03ee\u03f2\3\b\2\2"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleLexer.tokens b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleLexer.tokens new file mode 100644 index 00000000..8f82b7ee --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleLexer.tokens @@ -0,0 +1,127 @@ +AND_=1 +OR_=2 +NOT_=3 +TILDE_=4 +VERTICALBAR_=5 +AMPERSAND_=6 +SIGNEDLEFTSHIFT_=7 +SIGNEDRIGHTSHIFT_=8 +CARET_=9 +MOD_=10 +COLON_=11 +PLUS_=12 +MINUS_=13 +ASTERISK_=14 +SLASH_=15 +BACKSLASH_=16 +DOT_=17 +DOTASTERISK_=18 +SAFEEQ_=19 +DEQ_=20 +EQ_=21 +NEQ_=22 +GT_=23 +GTE_=24 +LT_=25 +LTE_=26 +POUND_=27 +LP_=28 +RP_=29 +LBE_=30 +RBE_=31 +LBT_=32 +RBT_=33 +COMMA_=34 +DQ_=35 +SQ_=36 +BQ_=37 +QUESTION_=38 +AT_=39 +SEMI_=40 +JSONSEPARATOR_=41 +UL_=42 +WS=43 +TRUE=44 +FALSE=45 +CREATE=46 +ALTER=47 +DROP=48 +SHOW=49 +RULE=50 +FROM=51 +MASK=52 +TYPE=53 +NAME=54 +PROPERTIES=55 +COLUMN=56 +RULES=57 +TABLE=58 +COLUMNS=59 +IF=60 +EXISTS=61 +COUNT=62 +NOT=63 +MD5=64 +KEEP_FIRST_N_LAST_M=65 +KEEP_FROM_X_TO_Y=66 +MASK_FIRST_N_LAST_M=67 +MASK_FROM_X_TO_Y=68 +MASK_BEFORE_SPECIAL_CHARS=69 +MASK_AFTER_SPECIAL_CHARS=70 +PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE=71 +MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE=72 +LANDLINE_NUMBER_RANDOM_REPLACE=73 +TELEPHONE_RANDOM_REPLACE=74 +UNIFIED_CREDIT_CODE_RANDOM_REPLACE=75 +GENERIC_TABLE_RANDOM_REPLACE=76 +ADDRESS_RANDOM_REPLACE=77 +FOR_GENERATOR=78 +IDENTIFIER_=79 +STRING_=80 +INT_=81 +HEX_=82 +NUMBER_=83 +HEXDIGIT_=84 +BITNUM_=85 +'&&'=1 +'||'=2 +'!'=3 +'~'=4 +'|'=5 +'&'=6 +'<<'=7 +'>>'=8 +'^'=9 +'%'=10 +':'=11 +'+'=12 +'-'=13 +'*'=14 +'/'=15 +'\\'=16 +'.'=17 +'.*'=18 +'<=>'=19 +'=='=20 +'='=21 +'>'=23 +'>='=24 +'<'=25 +'<='=26 +'#'=27 +'('=28 +')'=29 +'{'=30 +'}'=31 +'['=32 +']'=33 +','=34 +'"'=35 +'\''=36 +'`'=37 +'?'=38 +'@'=39 +';'=40 +'->>'=41 +'_'=42 +'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=78 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleParser.java b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleParser.java new file mode 100644 index 00000000..00b014fd --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleParser.java @@ -0,0 +1,572 @@ +// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/mask/BaseRule.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.misc.*; +import org.antlr.v4.runtime.tree.*; +import java.util.List; +import java.util.Iterator; +import java.util.ArrayList; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class BaseRuleParser extends Parser { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, + SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, + ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, + DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, + LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, + SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, + WS=43, TRUE=44, FALSE=45, CREATE=46, ALTER=47, DROP=48, SHOW=49, RULE=50, + FROM=51, MASK=52, TYPE=53, NAME=54, PROPERTIES=55, COLUMN=56, RULES=57, + TABLE=58, COLUMNS=59, IF=60, EXISTS=61, COUNT=62, NOT=63, MD5=64, KEEP_FIRST_N_LAST_M=65, + KEEP_FROM_X_TO_Y=66, MASK_FIRST_N_LAST_M=67, MASK_FROM_X_TO_Y=68, MASK_BEFORE_SPECIAL_CHARS=69, + MASK_AFTER_SPECIAL_CHARS=70, PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE=71, + MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE=72, LANDLINE_NUMBER_RANDOM_REPLACE=73, + TELEPHONE_RANDOM_REPLACE=74, UNIFIED_CREDIT_CODE_RANDOM_REPLACE=75, GENERIC_TABLE_RANDOM_REPLACE=76, + ADDRESS_RANDOM_REPLACE=77, FOR_GENERATOR=78, IDENTIFIER_=79, STRING_=80, + INT_=81, HEX_=82, NUMBER_=83, HEXDIGIT_=84, BITNUM_=85; + public static final int + RULE_literal = 0, RULE_algorithmDefinition = 1, RULE_algorithmTypeName = 2, + RULE_buildInMaskAlgorithmType = 3, RULE_propertiesDefinition = 4, RULE_properties = 5, + RULE_property = 6, RULE_ruleName = 7; + private static String[] makeRuleNames() { + return new String[] { + "literal", "algorithmDefinition", "algorithmTypeName", "buildInMaskAlgorithmType", + "propertiesDefinition", "properties", "property", "ruleName" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", + "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", + "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", + "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", + "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", + "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", + "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", + "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", + "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", + "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", + "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", "FROM", "MASK", "TYPE", + "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", "COLUMNS", "IF", "EXISTS", + "COUNT", "NOT", "MD5", "KEEP_FIRST_N_LAST_M", "KEEP_FROM_X_TO_Y", "MASK_FIRST_N_LAST_M", + "MASK_FROM_X_TO_Y", "MASK_BEFORE_SPECIAL_CHARS", "MASK_AFTER_SPECIAL_CHARS", + "PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE", "MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE", + "LANDLINE_NUMBER_RANDOM_REPLACE", "TELEPHONE_RANDOM_REPLACE", "UNIFIED_CREDIT_CODE_RANDOM_REPLACE", + "GENERIC_TABLE_RANDOM_REPLACE", "ADDRESS_RANDOM_REPLACE", "FOR_GENERATOR", + "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + @Override + public String getGrammarFileName() { return "BaseRule.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public ATN getATN() { return _ATN; } + + public BaseRuleParser(TokenStream input) { + super(input); + _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + public static class LiteralContext extends ParserRuleContext { + public TerminalNode STRING_() { return getToken(BaseRuleParser.STRING_, 0); } + public TerminalNode INT_() { return getToken(BaseRuleParser.INT_, 0); } + public TerminalNode MINUS_() { return getToken(BaseRuleParser.MINUS_, 0); } + public TerminalNode TRUE() { return getToken(BaseRuleParser.TRUE, 0); } + public TerminalNode FALSE() { return getToken(BaseRuleParser.FALSE, 0); } + public LiteralContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_literal; } + } + + public final LiteralContext literal() throws RecognitionException { + LiteralContext _localctx = new LiteralContext(_ctx, getState()); + enterRule(_localctx, 0, RULE_literal); + int _la; + try { + setState(23); + _errHandler.sync(this); + switch (_input.LA(1)) { + case STRING_: + enterOuterAlt(_localctx, 1); + { + setState(16); + match(STRING_); + } + break; + case MINUS_: + case INT_: + enterOuterAlt(_localctx, 2); + { + setState(18); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==MINUS_) { + { + setState(17); + match(MINUS_); + } + } + + setState(20); + match(INT_); + } + break; + case TRUE: + enterOuterAlt(_localctx, 3); + { + setState(21); + match(TRUE); + } + break; + case FALSE: + enterOuterAlt(_localctx, 4); + { + setState(22); + match(FALSE); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AlgorithmDefinitionContext extends ParserRuleContext { + public TerminalNode TYPE() { return getToken(BaseRuleParser.TYPE, 0); } + public TerminalNode LP_() { return getToken(BaseRuleParser.LP_, 0); } + public TerminalNode NAME() { return getToken(BaseRuleParser.NAME, 0); } + public TerminalNode EQ_() { return getToken(BaseRuleParser.EQ_, 0); } + public AlgorithmTypeNameContext algorithmTypeName() { + return getRuleContext(AlgorithmTypeNameContext.class,0); + } + public TerminalNode RP_() { return getToken(BaseRuleParser.RP_, 0); } + public TerminalNode COMMA_() { return getToken(BaseRuleParser.COMMA_, 0); } + public PropertiesDefinitionContext propertiesDefinition() { + return getRuleContext(PropertiesDefinitionContext.class,0); + } + public AlgorithmDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_algorithmDefinition; } + } + + public final AlgorithmDefinitionContext algorithmDefinition() throws RecognitionException { + AlgorithmDefinitionContext _localctx = new AlgorithmDefinitionContext(_ctx, getState()); + enterRule(_localctx, 2, RULE_algorithmDefinition); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(25); + match(TYPE); + setState(26); + match(LP_); + setState(27); + match(NAME); + setState(28); + match(EQ_); + setState(29); + algorithmTypeName(); + setState(32); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==COMMA_) { + { + setState(30); + match(COMMA_); + setState(31); + propertiesDefinition(); + } + } + + setState(34); + match(RP_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AlgorithmTypeNameContext extends ParserRuleContext { + public TerminalNode STRING_() { return getToken(BaseRuleParser.STRING_, 0); } + public BuildInMaskAlgorithmTypeContext buildInMaskAlgorithmType() { + return getRuleContext(BuildInMaskAlgorithmTypeContext.class,0); + } + public AlgorithmTypeNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_algorithmTypeName; } + } + + public final AlgorithmTypeNameContext algorithmTypeName() throws RecognitionException { + AlgorithmTypeNameContext _localctx = new AlgorithmTypeNameContext(_ctx, getState()); + enterRule(_localctx, 4, RULE_algorithmTypeName); + try { + setState(38); + _errHandler.sync(this); + switch (_input.LA(1)) { + case STRING_: + enterOuterAlt(_localctx, 1); + { + setState(36); + match(STRING_); + } + break; + case MD5: + case KEEP_FIRST_N_LAST_M: + case KEEP_FROM_X_TO_Y: + case MASK_FIRST_N_LAST_M: + case MASK_FROM_X_TO_Y: + case MASK_BEFORE_SPECIAL_CHARS: + case MASK_AFTER_SPECIAL_CHARS: + case PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE: + case MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE: + case LANDLINE_NUMBER_RANDOM_REPLACE: + case TELEPHONE_RANDOM_REPLACE: + case UNIFIED_CREDIT_CODE_RANDOM_REPLACE: + case GENERIC_TABLE_RANDOM_REPLACE: + enterOuterAlt(_localctx, 2); + { + setState(37); + buildInMaskAlgorithmType(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class BuildInMaskAlgorithmTypeContext extends ParserRuleContext { + public TerminalNode MD5() { return getToken(BaseRuleParser.MD5, 0); } + public TerminalNode KEEP_FIRST_N_LAST_M() { return getToken(BaseRuleParser.KEEP_FIRST_N_LAST_M, 0); } + public TerminalNode KEEP_FROM_X_TO_Y() { return getToken(BaseRuleParser.KEEP_FROM_X_TO_Y, 0); } + public TerminalNode MASK_FIRST_N_LAST_M() { return getToken(BaseRuleParser.MASK_FIRST_N_LAST_M, 0); } + public TerminalNode MASK_FROM_X_TO_Y() { return getToken(BaseRuleParser.MASK_FROM_X_TO_Y, 0); } + public TerminalNode MASK_BEFORE_SPECIAL_CHARS() { return getToken(BaseRuleParser.MASK_BEFORE_SPECIAL_CHARS, 0); } + public TerminalNode MASK_AFTER_SPECIAL_CHARS() { return getToken(BaseRuleParser.MASK_AFTER_SPECIAL_CHARS, 0); } + public TerminalNode PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE() { return getToken(BaseRuleParser.PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE, 0); } + public TerminalNode MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE() { return getToken(BaseRuleParser.MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE, 0); } + public TerminalNode LANDLINE_NUMBER_RANDOM_REPLACE() { return getToken(BaseRuleParser.LANDLINE_NUMBER_RANDOM_REPLACE, 0); } + public TerminalNode TELEPHONE_RANDOM_REPLACE() { return getToken(BaseRuleParser.TELEPHONE_RANDOM_REPLACE, 0); } + public TerminalNode UNIFIED_CREDIT_CODE_RANDOM_REPLACE() { return getToken(BaseRuleParser.UNIFIED_CREDIT_CODE_RANDOM_REPLACE, 0); } + public TerminalNode GENERIC_TABLE_RANDOM_REPLACE() { return getToken(BaseRuleParser.GENERIC_TABLE_RANDOM_REPLACE, 0); } + public BuildInMaskAlgorithmTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_buildInMaskAlgorithmType; } + } + + public final BuildInMaskAlgorithmTypeContext buildInMaskAlgorithmType() throws RecognitionException { + BuildInMaskAlgorithmTypeContext _localctx = new BuildInMaskAlgorithmTypeContext(_ctx, getState()); + enterRule(_localctx, 6, RULE_buildInMaskAlgorithmType); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(40); + _la = _input.LA(1); + if ( !(((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (MD5 - 64)) | (1L << (KEEP_FIRST_N_LAST_M - 64)) | (1L << (KEEP_FROM_X_TO_Y - 64)) | (1L << (MASK_FIRST_N_LAST_M - 64)) | (1L << (MASK_FROM_X_TO_Y - 64)) | (1L << (MASK_BEFORE_SPECIAL_CHARS - 64)) | (1L << (MASK_AFTER_SPECIAL_CHARS - 64)) | (1L << (PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE - 64)) | (1L << (MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE - 64)) | (1L << (LANDLINE_NUMBER_RANDOM_REPLACE - 64)) | (1L << (TELEPHONE_RANDOM_REPLACE - 64)) | (1L << (UNIFIED_CREDIT_CODE_RANDOM_REPLACE - 64)) | (1L << (GENERIC_TABLE_RANDOM_REPLACE - 64)))) != 0)) ) { + _errHandler.recoverInline(this); + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PropertiesDefinitionContext extends ParserRuleContext { + public TerminalNode PROPERTIES() { return getToken(BaseRuleParser.PROPERTIES, 0); } + public TerminalNode LP_() { return getToken(BaseRuleParser.LP_, 0); } + public TerminalNode RP_() { return getToken(BaseRuleParser.RP_, 0); } + public PropertiesContext properties() { + return getRuleContext(PropertiesContext.class,0); + } + public PropertiesDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_propertiesDefinition; } + } + + public final PropertiesDefinitionContext propertiesDefinition() throws RecognitionException { + PropertiesDefinitionContext _localctx = new PropertiesDefinitionContext(_ctx, getState()); + enterRule(_localctx, 8, RULE_propertiesDefinition); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(42); + match(PROPERTIES); + setState(43); + match(LP_); + setState(45); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==STRING_) { + { + setState(44); + properties(); + } + } + + setState(47); + match(RP_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PropertiesContext extends ParserRuleContext { + public List property() { + return getRuleContexts(PropertyContext.class); + } + public PropertyContext property(int i) { + return getRuleContext(PropertyContext.class,i); + } + public List COMMA_() { return getTokens(BaseRuleParser.COMMA_); } + public TerminalNode COMMA_(int i) { + return getToken(BaseRuleParser.COMMA_, i); + } + public PropertiesContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_properties; } + } + + public final PropertiesContext properties() throws RecognitionException { + PropertiesContext _localctx = new PropertiesContext(_ctx, getState()); + enterRule(_localctx, 10, RULE_properties); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(49); + property(); + setState(54); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA_) { + { + { + setState(50); + match(COMMA_); + setState(51); + property(); + } + } + setState(56); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PropertyContext extends ParserRuleContext { + public Token key; + public LiteralContext value; + public TerminalNode EQ_() { return getToken(BaseRuleParser.EQ_, 0); } + public TerminalNode STRING_() { return getToken(BaseRuleParser.STRING_, 0); } + public LiteralContext literal() { + return getRuleContext(LiteralContext.class,0); + } + public PropertyContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_property; } + } + + public final PropertyContext property() throws RecognitionException { + PropertyContext _localctx = new PropertyContext(_ctx, getState()); + enterRule(_localctx, 12, RULE_property); + try { + enterOuterAlt(_localctx, 1); + { + setState(57); + ((PropertyContext)_localctx).key = match(STRING_); + setState(58); + match(EQ_); + setState(59); + ((PropertyContext)_localctx).value = literal(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleNameContext extends ParserRuleContext { + public TerminalNode IDENTIFIER_() { return getToken(BaseRuleParser.IDENTIFIER_, 0); } + public RuleNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleName; } + } + + public final RuleNameContext ruleName() throws RecognitionException { + RuleNameContext _localctx = new RuleNameContext(_ctx, getState()); + enterRule(_localctx, 14, RULE_ruleName); + try { + enterOuterAlt(_localctx, 1); + { + setState(61); + match(IDENTIFIER_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3WB\4\2\t\2\4\3\t\3"+ + "\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\3\2\3\2\5\2\25\n\2\3"+ + "\2\3\2\3\2\5\2\32\n\2\3\3\3\3\3\3\3\3\3\3\3\3\3\3\5\3#\n\3\3\3\3\3\3\4"+ + "\3\4\5\4)\n\4\3\5\3\5\3\6\3\6\3\6\5\6\60\n\6\3\6\3\6\3\7\3\7\3\7\7\7\67"+ + "\n\7\f\7\16\7:\13\7\3\b\3\b\3\b\3\b\3\t\3\t\3\t\2\2\n\2\4\6\b\n\f\16\20"+ + "\2\3\3\2BN\2A\2\31\3\2\2\2\4\33\3\2\2\2\6(\3\2\2\2\b*\3\2\2\2\n,\3\2\2"+ + "\2\f\63\3\2\2\2\16;\3\2\2\2\20?\3\2\2\2\22\32\7R\2\2\23\25\7\17\2\2\24"+ + "\23\3\2\2\2\24\25\3\2\2\2\25\26\3\2\2\2\26\32\7S\2\2\27\32\7.\2\2\30\32"+ + "\7/\2\2\31\22\3\2\2\2\31\24\3\2\2\2\31\27\3\2\2\2\31\30\3\2\2\2\32\3\3"+ + "\2\2\2\33\34\7\67\2\2\34\35\7\36\2\2\35\36\78\2\2\36\37\7\27\2\2\37\""+ + "\5\6\4\2 !\7$\2\2!#\5\n\6\2\" \3\2\2\2\"#\3\2\2\2#$\3\2\2\2$%\7\37\2\2"+ + "%\5\3\2\2\2&)\7R\2\2\')\5\b\5\2(&\3\2\2\2(\'\3\2\2\2)\7\3\2\2\2*+\t\2"+ + "\2\2+\t\3\2\2\2,-\79\2\2-/\7\36\2\2.\60\5\f\7\2/.\3\2\2\2/\60\3\2\2\2"+ + "\60\61\3\2\2\2\61\62\7\37\2\2\62\13\3\2\2\2\638\5\16\b\2\64\65\7$\2\2"+ + "\65\67\5\16\b\2\66\64\3\2\2\2\67:\3\2\2\28\66\3\2\2\289\3\2\2\29\r\3\2"+ + "\2\2:8\3\2\2\2;<\7R\2\2<=\7\27\2\2=>\5\2\2\2>\17\3\2\2\2?@\7Q\2\2@\21"+ + "\3\2\2\2\b\24\31\"(/8"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Keyword.interp b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Keyword.interp new file mode 100644 index 00000000..95b83172 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Keyword.interp @@ -0,0 +1,152 @@ +token literal names: +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +'DO NOT MATCH ANY THING, JUST FOR GENERATOR' + +token symbolic names: +null +WS +TRUE +FALSE +CREATE +ALTER +DROP +SHOW +RULE +FROM +MASK +TYPE +NAME +PROPERTIES +COLUMN +RULES +TABLE +COLUMNS +IF +EXISTS +COUNT +NOT +MD5 +KEEP_FIRST_N_LAST_M +KEEP_FROM_X_TO_Y +MASK_FIRST_N_LAST_M +MASK_FROM_X_TO_Y +MASK_BEFORE_SPECIAL_CHARS +MASK_AFTER_SPECIAL_CHARS +PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE +MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE +LANDLINE_NUMBER_RANDOM_REPLACE +TELEPHONE_RANDOM_REPLACE +UNIFIED_CREDIT_CODE_RANDOM_REPLACE +GENERIC_TABLE_RANDOM_REPLACE +ADDRESS_RANDOM_REPLACE +FOR_GENERATOR + +rule names: +WS +TRUE +FALSE +CREATE +ALTER +DROP +SHOW +RULE +FROM +MASK +TYPE +NAME +PROPERTIES +COLUMN +RULES +TABLE +COLUMNS +IF +EXISTS +COUNT +NOT +MD5 +KEEP_FIRST_N_LAST_M +KEEP_FROM_X_TO_Y +MASK_FIRST_N_LAST_M +MASK_FROM_X_TO_Y +MASK_BEFORE_SPECIAL_CHARS +MASK_AFTER_SPECIAL_CHARS +PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE +MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE +LANDLINE_NUMBER_RANDOM_REPLACE +TELEPHONE_RANDOM_REPLACE +UNIFIED_CREDIT_CODE_RANDOM_REPLACE +GENERIC_TABLE_RANDOM_REPLACE +ADDRESS_RANDOM_REPLACE +FOR_GENERATOR +A +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y +Z +UL_ + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 38, 702, 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, 3, 2, 6, 2, 131, 10, 2, 13, 2, 14, 2, 132, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 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, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 16, 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, 18, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 22, 3, 22, 3, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 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, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 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, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 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, 36, 3, 36, 3, 36, 3, 36, 3, 36, 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, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 43, 3, 43, 3, 44, 3, 44, 3, 45, 3, 45, 3, 46, 3, 46, 3, 47, 3, 47, 3, 48, 3, 48, 3, 49, 3, 49, 3, 50, 3, 50, 3, 51, 3, 51, 3, 52, 3, 52, 3, 53, 3, 53, 3, 54, 3, 54, 3, 55, 3, 55, 3, 56, 3, 56, 3, 57, 3, 57, 3, 58, 3, 58, 3, 59, 3, 59, 3, 60, 3, 60, 3, 61, 3, 61, 3, 62, 3, 62, 3, 63, 3, 63, 3, 64, 3, 64, 2, 2, 65, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 2, 77, 2, 79, 2, 81, 2, 83, 2, 85, 2, 87, 2, 89, 2, 91, 2, 93, 2, 95, 2, 97, 2, 99, 2, 101, 2, 103, 2, 105, 2, 107, 2, 109, 2, 111, 2, 113, 2, 115, 2, 117, 2, 119, 2, 121, 2, 123, 2, 125, 2, 127, 2, 3, 2, 30, 5, 2, 11, 12, 15, 15, 34, 34, 3, 2, 55, 55, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 2, 675, 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, 3, 130, 3, 2, 2, 2, 5, 136, 3, 2, 2, 2, 7, 141, 3, 2, 2, 2, 9, 147, 3, 2, 2, 2, 11, 154, 3, 2, 2, 2, 13, 160, 3, 2, 2, 2, 15, 165, 3, 2, 2, 2, 17, 170, 3, 2, 2, 2, 19, 175, 3, 2, 2, 2, 21, 180, 3, 2, 2, 2, 23, 185, 3, 2, 2, 2, 25, 190, 3, 2, 2, 2, 27, 195, 3, 2, 2, 2, 29, 206, 3, 2, 2, 2, 31, 213, 3, 2, 2, 2, 33, 219, 3, 2, 2, 2, 35, 225, 3, 2, 2, 2, 37, 233, 3, 2, 2, 2, 39, 236, 3, 2, 2, 2, 41, 243, 3, 2, 2, 2, 43, 249, 3, 2, 2, 2, 45, 253, 3, 2, 2, 2, 47, 257, 3, 2, 2, 2, 49, 277, 3, 2, 2, 2, 51, 294, 3, 2, 2, 2, 53, 314, 3, 2, 2, 2, 55, 331, 3, 2, 2, 2, 57, 357, 3, 2, 2, 2, 59, 382, 3, 2, 2, 2, 61, 422, 3, 2, 2, 2, 63, 462, 3, 2, 2, 2, 65, 493, 3, 2, 2, 2, 67, 518, 3, 2, 2, 2, 69, 553, 3, 2, 2, 2, 71, 582, 3, 2, 2, 2, 73, 605, 3, 2, 2, 2, 75, 648, 3, 2, 2, 2, 77, 650, 3, 2, 2, 2, 79, 652, 3, 2, 2, 2, 81, 654, 3, 2, 2, 2, 83, 656, 3, 2, 2, 2, 85, 658, 3, 2, 2, 2, 87, 660, 3, 2, 2, 2, 89, 662, 3, 2, 2, 2, 91, 664, 3, 2, 2, 2, 93, 666, 3, 2, 2, 2, 95, 668, 3, 2, 2, 2, 97, 670, 3, 2, 2, 2, 99, 672, 3, 2, 2, 2, 101, 674, 3, 2, 2, 2, 103, 676, 3, 2, 2, 2, 105, 678, 3, 2, 2, 2, 107, 680, 3, 2, 2, 2, 109, 682, 3, 2, 2, 2, 111, 684, 3, 2, 2, 2, 113, 686, 3, 2, 2, 2, 115, 688, 3, 2, 2, 2, 117, 690, 3, 2, 2, 2, 119, 692, 3, 2, 2, 2, 121, 694, 3, 2, 2, 2, 123, 696, 3, 2, 2, 2, 125, 698, 3, 2, 2, 2, 127, 700, 3, 2, 2, 2, 129, 131, 9, 2, 2, 2, 130, 129, 3, 2, 2, 2, 131, 132, 3, 2, 2, 2, 132, 130, 3, 2, 2, 2, 132, 133, 3, 2, 2, 2, 133, 134, 3, 2, 2, 2, 134, 135, 8, 2, 2, 2, 135, 4, 3, 2, 2, 2, 136, 137, 5, 113, 57, 2, 137, 138, 5, 109, 55, 2, 138, 139, 5, 115, 58, 2, 139, 140, 5, 83, 42, 2, 140, 6, 3, 2, 2, 2, 141, 142, 5, 85, 43, 2, 142, 143, 5, 75, 38, 2, 143, 144, 5, 97, 49, 2, 144, 145, 5, 111, 56, 2, 145, 146, 5, 83, 42, 2, 146, 8, 3, 2, 2, 2, 147, 148, 5, 79, 40, 2, 148, 149, 5, 109, 55, 2, 149, 150, 5, 83, 42, 2, 150, 151, 5, 75, 38, 2, 151, 152, 5, 113, 57, 2, 152, 153, 5, 83, 42, 2, 153, 10, 3, 2, 2, 2, 154, 155, 5, 75, 38, 2, 155, 156, 5, 97, 49, 2, 156, 157, 5, 113, 57, 2, 157, 158, 5, 83, 42, 2, 158, 159, 5, 109, 55, 2, 159, 12, 3, 2, 2, 2, 160, 161, 5, 81, 41, 2, 161, 162, 5, 109, 55, 2, 162, 163, 5, 103, 52, 2, 163, 164, 5, 105, 53, 2, 164, 14, 3, 2, 2, 2, 165, 166, 5, 111, 56, 2, 166, 167, 5, 89, 45, 2, 167, 168, 5, 103, 52, 2, 168, 169, 5, 119, 60, 2, 169, 16, 3, 2, 2, 2, 170, 171, 5, 109, 55, 2, 171, 172, 5, 115, 58, 2, 172, 173, 5, 97, 49, 2, 173, 174, 5, 83, 42, 2, 174, 18, 3, 2, 2, 2, 175, 176, 5, 85, 43, 2, 176, 177, 5, 109, 55, 2, 177, 178, 5, 103, 52, 2, 178, 179, 5, 99, 50, 2, 179, 20, 3, 2, 2, 2, 180, 181, 5, 99, 50, 2, 181, 182, 5, 75, 38, 2, 182, 183, 5, 111, 56, 2, 183, 184, 5, 95, 48, 2, 184, 22, 3, 2, 2, 2, 185, 186, 5, 113, 57, 2, 186, 187, 5, 123, 62, 2, 187, 188, 5, 105, 53, 2, 188, 189, 5, 83, 42, 2, 189, 24, 3, 2, 2, 2, 190, 191, 5, 101, 51, 2, 191, 192, 5, 75, 38, 2, 192, 193, 5, 99, 50, 2, 193, 194, 5, 83, 42, 2, 194, 26, 3, 2, 2, 2, 195, 196, 5, 105, 53, 2, 196, 197, 5, 109, 55, 2, 197, 198, 5, 103, 52, 2, 198, 199, 5, 105, 53, 2, 199, 200, 5, 83, 42, 2, 200, 201, 5, 109, 55, 2, 201, 202, 5, 113, 57, 2, 202, 203, 5, 91, 46, 2, 203, 204, 5, 83, 42, 2, 204, 205, 5, 111, 56, 2, 205, 28, 3, 2, 2, 2, 206, 207, 5, 79, 40, 2, 207, 208, 5, 103, 52, 2, 208, 209, 5, 97, 49, 2, 209, 210, 5, 115, 58, 2, 210, 211, 5, 99, 50, 2, 211, 212, 5, 101, 51, 2, 212, 30, 3, 2, 2, 2, 213, 214, 5, 109, 55, 2, 214, 215, 5, 115, 58, 2, 215, 216, 5, 97, 49, 2, 216, 217, 5, 83, 42, 2, 217, 218, 5, 111, 56, 2, 218, 32, 3, 2, 2, 2, 219, 220, 5, 113, 57, 2, 220, 221, 5, 75, 38, 2, 221, 222, 5, 77, 39, 2, 222, 223, 5, 97, 49, 2, 223, 224, 5, 83, 42, 2, 224, 34, 3, 2, 2, 2, 225, 226, 5, 79, 40, 2, 226, 227, 5, 103, 52, 2, 227, 228, 5, 97, 49, 2, 228, 229, 5, 115, 58, 2, 229, 230, 5, 99, 50, 2, 230, 231, 5, 101, 51, 2, 231, 232, 5, 111, 56, 2, 232, 36, 3, 2, 2, 2, 233, 234, 5, 91, 46, 2, 234, 235, 5, 85, 43, 2, 235, 38, 3, 2, 2, 2, 236, 237, 5, 83, 42, 2, 237, 238, 5, 121, 61, 2, 238, 239, 5, 91, 46, 2, 239, 240, 5, 111, 56, 2, 240, 241, 5, 113, 57, 2, 241, 242, 5, 111, 56, 2, 242, 40, 3, 2, 2, 2, 243, 244, 5, 79, 40, 2, 244, 245, 5, 103, 52, 2, 245, 246, 5, 115, 58, 2, 246, 247, 5, 101, 51, 2, 247, 248, 5, 113, 57, 2, 248, 42, 3, 2, 2, 2, 249, 250, 5, 101, 51, 2, 250, 251, 5, 103, 52, 2, 251, 252, 5, 113, 57, 2, 252, 44, 3, 2, 2, 2, 253, 254, 5, 99, 50, 2, 254, 255, 5, 81, 41, 2, 255, 256, 9, 3, 2, 2, 256, 46, 3, 2, 2, 2, 257, 258, 5, 95, 48, 2, 258, 259, 5, 83, 42, 2, 259, 260, 5, 83, 42, 2, 260, 261, 5, 105, 53, 2, 261, 262, 5, 127, 64, 2, 262, 263, 5, 85, 43, 2, 263, 264, 5, 91, 46, 2, 264, 265, 5, 109, 55, 2, 265, 266, 5, 111, 56, 2, 266, 267, 5, 113, 57, 2, 267, 268, 5, 127, 64, 2, 268, 269, 5, 101, 51, 2, 269, 270, 5, 127, 64, 2, 270, 271, 5, 97, 49, 2, 271, 272, 5, 75, 38, 2, 272, 273, 5, 111, 56, 2, 273, 274, 5, 113, 57, 2, 274, 275, 5, 127, 64, 2, 275, 276, 5, 99, 50, 2, 276, 48, 3, 2, 2, 2, 277, 278, 5, 95, 48, 2, 278, 279, 5, 83, 42, 2, 279, 280, 5, 83, 42, 2, 280, 281, 5, 105, 53, 2, 281, 282, 5, 127, 64, 2, 282, 283, 5, 85, 43, 2, 283, 284, 5, 109, 55, 2, 284, 285, 5, 103, 52, 2, 285, 286, 5, 99, 50, 2, 286, 287, 5, 127, 64, 2, 287, 288, 5, 121, 61, 2, 288, 289, 5, 127, 64, 2, 289, 290, 5, 113, 57, 2, 290, 291, 5, 103, 52, 2, 291, 292, 5, 127, 64, 2, 292, 293, 5, 123, 62, 2, 293, 50, 3, 2, 2, 2, 294, 295, 5, 99, 50, 2, 295, 296, 5, 75, 38, 2, 296, 297, 5, 111, 56, 2, 297, 298, 5, 95, 48, 2, 298, 299, 5, 127, 64, 2, 299, 300, 5, 85, 43, 2, 300, 301, 5, 91, 46, 2, 301, 302, 5, 109, 55, 2, 302, 303, 5, 111, 56, 2, 303, 304, 5, 113, 57, 2, 304, 305, 5, 127, 64, 2, 305, 306, 5, 101, 51, 2, 306, 307, 5, 127, 64, 2, 307, 308, 5, 97, 49, 2, 308, 309, 5, 75, 38, 2, 309, 310, 5, 111, 56, 2, 310, 311, 5, 113, 57, 2, 311, 312, 5, 127, 64, 2, 312, 313, 5, 99, 50, 2, 313, 52, 3, 2, 2, 2, 314, 315, 5, 99, 50, 2, 315, 316, 5, 75, 38, 2, 316, 317, 5, 111, 56, 2, 317, 318, 5, 95, 48, 2, 318, 319, 5, 127, 64, 2, 319, 320, 5, 85, 43, 2, 320, 321, 5, 109, 55, 2, 321, 322, 5, 103, 52, 2, 322, 323, 5, 99, 50, 2, 323, 324, 5, 127, 64, 2, 324, 325, 5, 121, 61, 2, 325, 326, 5, 127, 64, 2, 326, 327, 5, 113, 57, 2, 327, 328, 5, 103, 52, 2, 328, 329, 5, 127, 64, 2, 329, 330, 5, 123, 62, 2, 330, 54, 3, 2, 2, 2, 331, 332, 5, 99, 50, 2, 332, 333, 5, 75, 38, 2, 333, 334, 5, 111, 56, 2, 334, 335, 5, 95, 48, 2, 335, 336, 5, 127, 64, 2, 336, 337, 5, 77, 39, 2, 337, 338, 5, 83, 42, 2, 338, 339, 5, 85, 43, 2, 339, 340, 5, 103, 52, 2, 340, 341, 5, 109, 55, 2, 341, 342, 5, 83, 42, 2, 342, 343, 5, 127, 64, 2, 343, 344, 5, 111, 56, 2, 344, 345, 5, 105, 53, 2, 345, 346, 5, 83, 42, 2, 346, 347, 5, 79, 40, 2, 347, 348, 5, 91, 46, 2, 348, 349, 5, 75, 38, 2, 349, 350, 5, 97, 49, 2, 350, 351, 5, 127, 64, 2, 351, 352, 5, 79, 40, 2, 352, 353, 5, 89, 45, 2, 353, 354, 5, 75, 38, 2, 354, 355, 5, 109, 55, 2, 355, 356, 5, 111, 56, 2, 356, 56, 3, 2, 2, 2, 357, 358, 5, 99, 50, 2, 358, 359, 5, 75, 38, 2, 359, 360, 5, 111, 56, 2, 360, 361, 5, 95, 48, 2, 361, 362, 5, 127, 64, 2, 362, 363, 5, 75, 38, 2, 363, 364, 5, 85, 43, 2, 364, 365, 5, 113, 57, 2, 365, 366, 5, 83, 42, 2, 366, 367, 5, 109, 55, 2, 367, 368, 5, 127, 64, 2, 368, 369, 5, 111, 56, 2, 369, 370, 5, 105, 53, 2, 370, 371, 5, 83, 42, 2, 371, 372, 5, 79, 40, 2, 372, 373, 5, 91, 46, 2, 373, 374, 5, 75, 38, 2, 374, 375, 5, 97, 49, 2, 375, 376, 5, 127, 64, 2, 376, 377, 5, 79, 40, 2, 377, 378, 5, 89, 45, 2, 378, 379, 5, 75, 38, 2, 379, 380, 5, 109, 55, 2, 380, 381, 5, 111, 56, 2, 381, 58, 3, 2, 2, 2, 382, 383, 5, 105, 53, 2, 383, 384, 5, 83, 42, 2, 384, 385, 5, 109, 55, 2, 385, 386, 5, 111, 56, 2, 386, 387, 5, 103, 52, 2, 387, 388, 5, 101, 51, 2, 388, 389, 5, 75, 38, 2, 389, 390, 5, 97, 49, 2, 390, 391, 5, 127, 64, 2, 391, 392, 5, 91, 46, 2, 392, 393, 5, 81, 41, 2, 393, 394, 5, 83, 42, 2, 394, 395, 5, 101, 51, 2, 395, 396, 5, 113, 57, 2, 396, 397, 5, 91, 46, 2, 397, 398, 5, 113, 57, 2, 398, 399, 5, 123, 62, 2, 399, 400, 5, 127, 64, 2, 400, 401, 5, 101, 51, 2, 401, 402, 5, 115, 58, 2, 402, 403, 5, 99, 50, 2, 403, 404, 5, 77, 39, 2, 404, 405, 5, 83, 42, 2, 405, 406, 5, 109, 55, 2, 406, 407, 5, 127, 64, 2, 407, 408, 5, 109, 55, 2, 408, 409, 5, 75, 38, 2, 409, 410, 5, 101, 51, 2, 410, 411, 5, 81, 41, 2, 411, 412, 5, 103, 52, 2, 412, 413, 5, 99, 50, 2, 413, 414, 5, 127, 64, 2, 414, 415, 5, 109, 55, 2, 415, 416, 5, 83, 42, 2, 416, 417, 5, 105, 53, 2, 417, 418, 5, 97, 49, 2, 418, 419, 5, 75, 38, 2, 419, 420, 5, 79, 40, 2, 420, 421, 5, 83, 42, 2, 421, 60, 3, 2, 2, 2, 422, 423, 5, 99, 50, 2, 423, 424, 5, 91, 46, 2, 424, 425, 5, 97, 49, 2, 425, 426, 5, 91, 46, 2, 426, 427, 5, 113, 57, 2, 427, 428, 5, 75, 38, 2, 428, 429, 5, 109, 55, 2, 429, 430, 5, 123, 62, 2, 430, 431, 5, 127, 64, 2, 431, 432, 5, 91, 46, 2, 432, 433, 5, 81, 41, 2, 433, 434, 5, 83, 42, 2, 434, 435, 5, 101, 51, 2, 435, 436, 5, 113, 57, 2, 436, 437, 5, 91, 46, 2, 437, 438, 5, 113, 57, 2, 438, 439, 5, 123, 62, 2, 439, 440, 5, 127, 64, 2, 440, 441, 5, 101, 51, 2, 441, 442, 5, 115, 58, 2, 442, 443, 5, 99, 50, 2, 443, 444, 5, 77, 39, 2, 444, 445, 5, 83, 42, 2, 445, 446, 5, 109, 55, 2, 446, 447, 5, 127, 64, 2, 447, 448, 5, 109, 55, 2, 448, 449, 5, 75, 38, 2, 449, 450, 5, 101, 51, 2, 450, 451, 5, 81, 41, 2, 451, 452, 5, 103, 52, 2, 452, 453, 5, 99, 50, 2, 453, 454, 5, 127, 64, 2, 454, 455, 5, 109, 55, 2, 455, 456, 5, 83, 42, 2, 456, 457, 5, 105, 53, 2, 457, 458, 5, 97, 49, 2, 458, 459, 5, 75, 38, 2, 459, 460, 5, 79, 40, 2, 460, 461, 5, 83, 42, 2, 461, 62, 3, 2, 2, 2, 462, 463, 5, 97, 49, 2, 463, 464, 5, 75, 38, 2, 464, 465, 5, 101, 51, 2, 465, 466, 5, 81, 41, 2, 466, 467, 5, 97, 49, 2, 467, 468, 5, 91, 46, 2, 468, 469, 5, 101, 51, 2, 469, 470, 5, 83, 42, 2, 470, 471, 5, 127, 64, 2, 471, 472, 5, 101, 51, 2, 472, 473, 5, 115, 58, 2, 473, 474, 5, 99, 50, 2, 474, 475, 5, 77, 39, 2, 475, 476, 5, 83, 42, 2, 476, 477, 5, 109, 55, 2, 477, 478, 5, 127, 64, 2, 478, 479, 5, 109, 55, 2, 479, 480, 5, 75, 38, 2, 480, 481, 5, 101, 51, 2, 481, 482, 5, 81, 41, 2, 482, 483, 5, 103, 52, 2, 483, 484, 5, 99, 50, 2, 484, 485, 5, 127, 64, 2, 485, 486, 5, 109, 55, 2, 486, 487, 5, 83, 42, 2, 487, 488, 5, 105, 53, 2, 488, 489, 5, 97, 49, 2, 489, 490, 5, 75, 38, 2, 490, 491, 5, 79, 40, 2, 491, 492, 5, 83, 42, 2, 492, 64, 3, 2, 2, 2, 493, 494, 5, 113, 57, 2, 494, 495, 5, 83, 42, 2, 495, 496, 5, 97, 49, 2, 496, 497, 5, 83, 42, 2, 497, 498, 5, 105, 53, 2, 498, 499, 5, 89, 45, 2, 499, 500, 5, 103, 52, 2, 500, 501, 5, 101, 51, 2, 501, 502, 5, 83, 42, 2, 502, 503, 5, 127, 64, 2, 503, 504, 5, 109, 55, 2, 504, 505, 5, 75, 38, 2, 505, 506, 5, 101, 51, 2, 506, 507, 5, 81, 41, 2, 507, 508, 5, 103, 52, 2, 508, 509, 5, 99, 50, 2, 509, 510, 5, 127, 64, 2, 510, 511, 5, 109, 55, 2, 511, 512, 5, 83, 42, 2, 512, 513, 5, 105, 53, 2, 513, 514, 5, 97, 49, 2, 514, 515, 5, 75, 38, 2, 515, 516, 5, 79, 40, 2, 516, 517, 5, 83, 42, 2, 517, 66, 3, 2, 2, 2, 518, 519, 5, 115, 58, 2, 519, 520, 5, 101, 51, 2, 520, 521, 5, 91, 46, 2, 521, 522, 5, 85, 43, 2, 522, 523, 5, 91, 46, 2, 523, 524, 5, 83, 42, 2, 524, 525, 5, 81, 41, 2, 525, 526, 5, 127, 64, 2, 526, 527, 5, 79, 40, 2, 527, 528, 5, 109, 55, 2, 528, 529, 5, 83, 42, 2, 529, 530, 5, 81, 41, 2, 530, 531, 5, 91, 46, 2, 531, 532, 5, 113, 57, 2, 532, 533, 5, 127, 64, 2, 533, 534, 5, 79, 40, 2, 534, 535, 5, 103, 52, 2, 535, 536, 5, 81, 41, 2, 536, 537, 5, 83, 42, 2, 537, 538, 5, 127, 64, 2, 538, 539, 5, 109, 55, 2, 539, 540, 5, 75, 38, 2, 540, 541, 5, 101, 51, 2, 541, 542, 5, 81, 41, 2, 542, 543, 5, 103, 52, 2, 543, 544, 5, 99, 50, 2, 544, 545, 5, 127, 64, 2, 545, 546, 5, 109, 55, 2, 546, 547, 5, 83, 42, 2, 547, 548, 5, 105, 53, 2, 548, 549, 5, 97, 49, 2, 549, 550, 5, 75, 38, 2, 550, 551, 5, 79, 40, 2, 551, 552, 5, 83, 42, 2, 552, 68, 3, 2, 2, 2, 553, 554, 5, 87, 44, 2, 554, 555, 5, 83, 42, 2, 555, 556, 5, 101, 51, 2, 556, 557, 5, 83, 42, 2, 557, 558, 5, 109, 55, 2, 558, 559, 5, 91, 46, 2, 559, 560, 5, 79, 40, 2, 560, 561, 5, 127, 64, 2, 561, 562, 5, 113, 57, 2, 562, 563, 5, 75, 38, 2, 563, 564, 5, 77, 39, 2, 564, 565, 5, 97, 49, 2, 565, 566, 5, 83, 42, 2, 566, 567, 5, 127, 64, 2, 567, 568, 5, 109, 55, 2, 568, 569, 5, 75, 38, 2, 569, 570, 5, 101, 51, 2, 570, 571, 5, 81, 41, 2, 571, 572, 5, 103, 52, 2, 572, 573, 5, 99, 50, 2, 573, 574, 5, 127, 64, 2, 574, 575, 5, 109, 55, 2, 575, 576, 5, 83, 42, 2, 576, 577, 5, 105, 53, 2, 577, 578, 5, 97, 49, 2, 578, 579, 5, 75, 38, 2, 579, 580, 5, 79, 40, 2, 580, 581, 5, 83, 42, 2, 581, 70, 3, 2, 2, 2, 582, 583, 5, 75, 38, 2, 583, 584, 5, 81, 41, 2, 584, 585, 5, 81, 41, 2, 585, 586, 5, 109, 55, 2, 586, 587, 5, 83, 42, 2, 587, 588, 5, 111, 56, 2, 588, 589, 5, 111, 56, 2, 589, 590, 5, 127, 64, 2, 590, 591, 5, 109, 55, 2, 591, 592, 5, 75, 38, 2, 592, 593, 5, 101, 51, 2, 593, 594, 5, 81, 41, 2, 594, 595, 5, 103, 52, 2, 595, 596, 5, 99, 50, 2, 596, 597, 5, 127, 64, 2, 597, 598, 5, 109, 55, 2, 598, 599, 5, 83, 42, 2, 599, 600, 5, 105, 53, 2, 600, 601, 5, 97, 49, 2, 601, 602, 5, 75, 38, 2, 602, 603, 5, 79, 40, 2, 603, 604, 5, 83, 42, 2, 604, 72, 3, 2, 2, 2, 605, 606, 7, 70, 2, 2, 606, 607, 7, 81, 2, 2, 607, 608, 7, 34, 2, 2, 608, 609, 7, 80, 2, 2, 609, 610, 7, 81, 2, 2, 610, 611, 7, 86, 2, 2, 611, 612, 7, 34, 2, 2, 612, 613, 7, 79, 2, 2, 613, 614, 7, 67, 2, 2, 614, 615, 7, 86, 2, 2, 615, 616, 7, 69, 2, 2, 616, 617, 7, 74, 2, 2, 617, 618, 7, 34, 2, 2, 618, 619, 7, 67, 2, 2, 619, 620, 7, 80, 2, 2, 620, 621, 7, 91, 2, 2, 621, 622, 7, 34, 2, 2, 622, 623, 7, 86, 2, 2, 623, 624, 7, 74, 2, 2, 624, 625, 7, 75, 2, 2, 625, 626, 7, 80, 2, 2, 626, 627, 7, 73, 2, 2, 627, 628, 7, 46, 2, 2, 628, 629, 7, 34, 2, 2, 629, 630, 7, 76, 2, 2, 630, 631, 7, 87, 2, 2, 631, 632, 7, 85, 2, 2, 632, 633, 7, 86, 2, 2, 633, 634, 7, 34, 2, 2, 634, 635, 7, 72, 2, 2, 635, 636, 7, 81, 2, 2, 636, 637, 7, 84, 2, 2, 637, 638, 7, 34, 2, 2, 638, 639, 7, 73, 2, 2, 639, 640, 7, 71, 2, 2, 640, 641, 7, 80, 2, 2, 641, 642, 7, 71, 2, 2, 642, 643, 7, 84, 2, 2, 643, 644, 7, 67, 2, 2, 644, 645, 7, 86, 2, 2, 645, 646, 7, 81, 2, 2, 646, 647, 7, 84, 2, 2, 647, 74, 3, 2, 2, 2, 648, 649, 9, 4, 2, 2, 649, 76, 3, 2, 2, 2, 650, 651, 9, 5, 2, 2, 651, 78, 3, 2, 2, 2, 652, 653, 9, 6, 2, 2, 653, 80, 3, 2, 2, 2, 654, 655, 9, 7, 2, 2, 655, 82, 3, 2, 2, 2, 656, 657, 9, 8, 2, 2, 657, 84, 3, 2, 2, 2, 658, 659, 9, 9, 2, 2, 659, 86, 3, 2, 2, 2, 660, 661, 9, 10, 2, 2, 661, 88, 3, 2, 2, 2, 662, 663, 9, 11, 2, 2, 663, 90, 3, 2, 2, 2, 664, 665, 9, 12, 2, 2, 665, 92, 3, 2, 2, 2, 666, 667, 9, 13, 2, 2, 667, 94, 3, 2, 2, 2, 668, 669, 9, 14, 2, 2, 669, 96, 3, 2, 2, 2, 670, 671, 9, 15, 2, 2, 671, 98, 3, 2, 2, 2, 672, 673, 9, 16, 2, 2, 673, 100, 3, 2, 2, 2, 674, 675, 9, 17, 2, 2, 675, 102, 3, 2, 2, 2, 676, 677, 9, 18, 2, 2, 677, 104, 3, 2, 2, 2, 678, 679, 9, 19, 2, 2, 679, 106, 3, 2, 2, 2, 680, 681, 9, 20, 2, 2, 681, 108, 3, 2, 2, 2, 682, 683, 9, 21, 2, 2, 683, 110, 3, 2, 2, 2, 684, 685, 9, 22, 2, 2, 685, 112, 3, 2, 2, 2, 686, 687, 9, 23, 2, 2, 687, 114, 3, 2, 2, 2, 688, 689, 9, 24, 2, 2, 689, 116, 3, 2, 2, 2, 690, 691, 9, 25, 2, 2, 691, 118, 3, 2, 2, 2, 692, 693, 9, 26, 2, 2, 693, 120, 3, 2, 2, 2, 694, 695, 9, 27, 2, 2, 695, 122, 3, 2, 2, 2, 696, 697, 9, 28, 2, 2, 697, 124, 3, 2, 2, 2, 698, 699, 9, 29, 2, 2, 699, 126, 3, 2, 2, 2, 700, 701, 7, 97, 2, 2, 701, 128, 3, 2, 2, 2, 4, 2, 132, 3, 8, 2, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Keyword.java b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Keyword.java new file mode 100644 index 00000000..553eb137 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Keyword.java @@ -0,0 +1,362 @@ +// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/mask/Keyword.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.misc.*; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class Keyword extends Lexer { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + WS=1, TRUE=2, FALSE=3, CREATE=4, ALTER=5, DROP=6, SHOW=7, RULE=8, FROM=9, + MASK=10, TYPE=11, NAME=12, PROPERTIES=13, COLUMN=14, RULES=15, TABLE=16, + COLUMNS=17, IF=18, EXISTS=19, COUNT=20, NOT=21, MD5=22, KEEP_FIRST_N_LAST_M=23, + KEEP_FROM_X_TO_Y=24, MASK_FIRST_N_LAST_M=25, MASK_FROM_X_TO_Y=26, MASK_BEFORE_SPECIAL_CHARS=27, + MASK_AFTER_SPECIAL_CHARS=28, PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE=29, + MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE=30, LANDLINE_NUMBER_RANDOM_REPLACE=31, + TELEPHONE_RANDOM_REPLACE=32, UNIFIED_CREDIT_CODE_RANDOM_REPLACE=33, GENERIC_TABLE_RANDOM_REPLACE=34, + ADDRESS_RANDOM_REPLACE=35, FOR_GENERATOR=36; + public static String[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + + public static String[] modeNames = { + "DEFAULT_MODE" + }; + + private static String[] makeRuleNames() { + return new String[] { + "WS", "TRUE", "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", "FROM", + "MASK", "TYPE", "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", "COLUMNS", + "IF", "EXISTS", "COUNT", "NOT", "MD5", "KEEP_FIRST_N_LAST_M", "KEEP_FROM_X_TO_Y", + "MASK_FIRST_N_LAST_M", "MASK_FROM_X_TO_Y", "MASK_BEFORE_SPECIAL_CHARS", + "MASK_AFTER_SPECIAL_CHARS", "PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE", + "MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE", "LANDLINE_NUMBER_RANDOM_REPLACE", + "TELEPHONE_RANDOM_REPLACE", "UNIFIED_CREDIT_CODE_RANDOM_REPLACE", "GENERIC_TABLE_RANDOM_REPLACE", + "ADDRESS_RANDOM_REPLACE", "FOR_GENERATOR", "A", "B", "C", "D", "E", "F", + "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", + "U", "V", "W", "X", "Y", "Z", "UL_" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "WS", "TRUE", "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", + "FROM", "MASK", "TYPE", "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", + "COLUMNS", "IF", "EXISTS", "COUNT", "NOT", "MD5", "KEEP_FIRST_N_LAST_M", + "KEEP_FROM_X_TO_Y", "MASK_FIRST_N_LAST_M", "MASK_FROM_X_TO_Y", "MASK_BEFORE_SPECIAL_CHARS", + "MASK_AFTER_SPECIAL_CHARS", "PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE", + "MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE", "LANDLINE_NUMBER_RANDOM_REPLACE", + "TELEPHONE_RANDOM_REPLACE", "UNIFIED_CREDIT_CODE_RANDOM_REPLACE", "GENERIC_TABLE_RANDOM_REPLACE", + "ADDRESS_RANDOM_REPLACE", "FOR_GENERATOR" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + + public Keyword(CharStream input) { + super(input); + _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + @Override + public String getGrammarFileName() { return "Keyword.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public String[] getChannelNames() { return channelNames; } + + @Override + public String[] getModeNames() { return modeNames; } + + @Override + public ATN getATN() { return _ATN; } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2&\u02be\b\1\4\2\t"+ + "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ + "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ + "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ + "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ + "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ + ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ + "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ + "\4>\t>\4?\t?\4@\t@\3\2\6\2\u0083\n\2\r\2\16\2\u0084\3\2\3\2\3\3\3\3\3"+ + "\3\3\3\3\3\3\4\3\4\3\4\3\4\3\4\3\4\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\6\3\6"+ + "\3\6\3\6\3\6\3\6\3\7\3\7\3\7\3\7\3\7\3\b\3\b\3\b\3\b\3\b\3\t\3\t\3\t\3"+ + "\t\3\t\3\n\3\n\3\n\3\n\3\n\3\13\3\13\3\13\3\13\3\13\3\f\3\f\3\f\3\f\3"+ + "\f\3\r\3\r\3\r\3\r\3\r\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3"+ + "\16\3\16\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\20\3\20\3\20\3\20\3\20\3"+ + "\20\3\21\3\21\3\21\3\21\3\21\3\21\3\22\3\22\3\22\3\22\3\22\3\22\3\22\3"+ + "\22\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"+ + "\25\3\25\3\25\3\26\3\26\3\26\3\26\3\27\3\27\3\27\3\27\3\30\3\30\3\30\3"+ + "\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3"+ + "\30\3\30\3\30\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\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\32\3\32\3"+ + "\32\3\32\3\32\3\32\3\32\3\32\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\33\3\33\3\33\3\33\3\33\3\33\3\33\3\33\3\33\3\33\3"+ + "\33\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3"+ + "\34\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3\35\3"+ + "\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3"+ + "\35\3\35\3\35\3\35\3\35\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\36\3\36\3\36\3\36\3\36\3\36\3\36\3\36\3\36\3"+ + "\36\3\36\3\36\3\36\3\36\3\36\3\36\3\36\3\36\3\36\3\36\3\36\3\36\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"+ + "\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3"+ + "\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3"+ + "\37\3\37\3\37\3\37\3\37\3\37\3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3"+ + " \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3!\3!\3!\3!\3!\3"+ + "!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3\"\3\"\3\""+ + "\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3"+ + "\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3#\3#\3#\3"+ + "#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3"+ + "#\3#\3#\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3"+ + "$\3$\3$\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3"+ + "%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3"+ + "&\3&\3\'\3\'\3(\3(\3)\3)\3*\3*\3+\3+\3,\3,\3-\3-\3.\3.\3/\3/\3\60\3\60"+ + "\3\61\3\61\3\62\3\62\3\63\3\63\3\64\3\64\3\65\3\65\3\66\3\66\3\67\3\67"+ + "\38\38\39\39\3:\3:\3;\3;\3<\3<\3=\3=\3>\3>\3?\3?\3@\3@\2\2A\3\3\5\4\7"+ + "\5\t\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\35\20\37\21!\22"+ + "#\23%\24\'\25)\26+\27-\30/\31\61\32\63\33\65\34\67\359\36;\37= ?!A\"C"+ + "#E$G%I&K\2M\2O\2Q\2S\2U\2W\2Y\2[\2]\2_\2a\2c\2e\2g\2i\2k\2m\2o\2q\2s\2"+ + "u\2w\2y\2{\2}\2\177\2\3\2\36\5\2\13\f\17\17\"\"\3\2\67\67\4\2CCcc\4\2"+ + "DDdd\4\2EEee\4\2FFff\4\2GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4\2LLll\4"+ + "\2MMmm\4\2NNnn\4\2OOoo\4\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4\2TTtt\4\2UUu"+ + "u\4\2VVvv\4\2WWww\4\2XXxx\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\||\2\u02a3\2"+ + "\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2"+ + "\2\2\17\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"+ + "\31\3\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2"+ + "\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\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\29\3\2\2\2\2;\3\2"+ + "\2\2\2=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2"+ + "\2I\3\2\2\2\3\u0082\3\2\2\2\5\u0088\3\2\2\2\7\u008d\3\2\2\2\t\u0093\3"+ + "\2\2\2\13\u009a\3\2\2\2\r\u00a0\3\2\2\2\17\u00a5\3\2\2\2\21\u00aa\3\2"+ + "\2\2\23\u00af\3\2\2\2\25\u00b4\3\2\2\2\27\u00b9\3\2\2\2\31\u00be\3\2\2"+ + "\2\33\u00c3\3\2\2\2\35\u00ce\3\2\2\2\37\u00d5\3\2\2\2!\u00db\3\2\2\2#"+ + "\u00e1\3\2\2\2%\u00e9\3\2\2\2\'\u00ec\3\2\2\2)\u00f3\3\2\2\2+\u00f9\3"+ + "\2\2\2-\u00fd\3\2\2\2/\u0101\3\2\2\2\61\u0115\3\2\2\2\63\u0126\3\2\2\2"+ + "\65\u013a\3\2\2\2\67\u014b\3\2\2\29\u0165\3\2\2\2;\u017e\3\2\2\2=\u01a6"+ + "\3\2\2\2?\u01ce\3\2\2\2A\u01ed\3\2\2\2C\u0206\3\2\2\2E\u0229\3\2\2\2G"+ + "\u0246\3\2\2\2I\u025d\3\2\2\2K\u0288\3\2\2\2M\u028a\3\2\2\2O\u028c\3\2"+ + "\2\2Q\u028e\3\2\2\2S\u0290\3\2\2\2U\u0292\3\2\2\2W\u0294\3\2\2\2Y\u0296"+ + "\3\2\2\2[\u0298\3\2\2\2]\u029a\3\2\2\2_\u029c\3\2\2\2a\u029e\3\2\2\2c"+ + "\u02a0\3\2\2\2e\u02a2\3\2\2\2g\u02a4\3\2\2\2i\u02a6\3\2\2\2k\u02a8\3\2"+ + "\2\2m\u02aa\3\2\2\2o\u02ac\3\2\2\2q\u02ae\3\2\2\2s\u02b0\3\2\2\2u\u02b2"+ + "\3\2\2\2w\u02b4\3\2\2\2y\u02b6\3\2\2\2{\u02b8\3\2\2\2}\u02ba\3\2\2\2\177"+ + "\u02bc\3\2\2\2\u0081\u0083\t\2\2\2\u0082\u0081\3\2\2\2\u0083\u0084\3\2"+ + "\2\2\u0084\u0082\3\2\2\2\u0084\u0085\3\2\2\2\u0085\u0086\3\2\2\2\u0086"+ + "\u0087\b\2\2\2\u0087\4\3\2\2\2\u0088\u0089\5q9\2\u0089\u008a\5m\67\2\u008a"+ + "\u008b\5s:\2\u008b\u008c\5S*\2\u008c\6\3\2\2\2\u008d\u008e\5U+\2\u008e"+ + "\u008f\5K&\2\u008f\u0090\5a\61\2\u0090\u0091\5o8\2\u0091\u0092\5S*\2\u0092"+ + "\b\3\2\2\2\u0093\u0094\5O(\2\u0094\u0095\5m\67\2\u0095\u0096\5S*\2\u0096"+ + "\u0097\5K&\2\u0097\u0098\5q9\2\u0098\u0099\5S*\2\u0099\n\3\2\2\2\u009a"+ + "\u009b\5K&\2\u009b\u009c\5a\61\2\u009c\u009d\5q9\2\u009d\u009e\5S*\2\u009e"+ + "\u009f\5m\67\2\u009f\f\3\2\2\2\u00a0\u00a1\5Q)\2\u00a1\u00a2\5m\67\2\u00a2"+ + "\u00a3\5g\64\2\u00a3\u00a4\5i\65\2\u00a4\16\3\2\2\2\u00a5\u00a6\5o8\2"+ + "\u00a6\u00a7\5Y-\2\u00a7\u00a8\5g\64\2\u00a8\u00a9\5w<\2\u00a9\20\3\2"+ + "\2\2\u00aa\u00ab\5m\67\2\u00ab\u00ac\5s:\2\u00ac\u00ad\5a\61\2\u00ad\u00ae"+ + "\5S*\2\u00ae\22\3\2\2\2\u00af\u00b0\5U+\2\u00b0\u00b1\5m\67\2\u00b1\u00b2"+ + "\5g\64\2\u00b2\u00b3\5c\62\2\u00b3\24\3\2\2\2\u00b4\u00b5\5c\62\2\u00b5"+ + "\u00b6\5K&\2\u00b6\u00b7\5o8\2\u00b7\u00b8\5_\60\2\u00b8\26\3\2\2\2\u00b9"+ + "\u00ba\5q9\2\u00ba\u00bb\5{>\2\u00bb\u00bc\5i\65\2\u00bc\u00bd\5S*\2\u00bd"+ + "\30\3\2\2\2\u00be\u00bf\5e\63\2\u00bf\u00c0\5K&\2\u00c0\u00c1\5c\62\2"+ + "\u00c1\u00c2\5S*\2\u00c2\32\3\2\2\2\u00c3\u00c4\5i\65\2\u00c4\u00c5\5"+ + "m\67\2\u00c5\u00c6\5g\64\2\u00c6\u00c7\5i\65\2\u00c7\u00c8\5S*\2\u00c8"+ + "\u00c9\5m\67\2\u00c9\u00ca\5q9\2\u00ca\u00cb\5[.\2\u00cb\u00cc\5S*\2\u00cc"+ + "\u00cd\5o8\2\u00cd\34\3\2\2\2\u00ce\u00cf\5O(\2\u00cf\u00d0\5g\64\2\u00d0"+ + "\u00d1\5a\61\2\u00d1\u00d2\5s:\2\u00d2\u00d3\5c\62\2\u00d3\u00d4\5e\63"+ + "\2\u00d4\36\3\2\2\2\u00d5\u00d6\5m\67\2\u00d6\u00d7\5s:\2\u00d7\u00d8"+ + "\5a\61\2\u00d8\u00d9\5S*\2\u00d9\u00da\5o8\2\u00da \3\2\2\2\u00db\u00dc"+ + "\5q9\2\u00dc\u00dd\5K&\2\u00dd\u00de\5M\'\2\u00de\u00df\5a\61\2\u00df"+ + "\u00e0\5S*\2\u00e0\"\3\2\2\2\u00e1\u00e2\5O(\2\u00e2\u00e3\5g\64\2\u00e3"+ + "\u00e4\5a\61\2\u00e4\u00e5\5s:\2\u00e5\u00e6\5c\62\2\u00e6\u00e7\5e\63"+ + "\2\u00e7\u00e8\5o8\2\u00e8$\3\2\2\2\u00e9\u00ea\5[.\2\u00ea\u00eb\5U+"+ + "\2\u00eb&\3\2\2\2\u00ec\u00ed\5S*\2\u00ed\u00ee\5y=\2\u00ee\u00ef\5[."+ + "\2\u00ef\u00f0\5o8\2\u00f0\u00f1\5q9\2\u00f1\u00f2\5o8\2\u00f2(\3\2\2"+ + "\2\u00f3\u00f4\5O(\2\u00f4\u00f5\5g\64\2\u00f5\u00f6\5s:\2\u00f6\u00f7"+ + "\5e\63\2\u00f7\u00f8\5q9\2\u00f8*\3\2\2\2\u00f9\u00fa\5e\63\2\u00fa\u00fb"+ + "\5g\64\2\u00fb\u00fc\5q9\2\u00fc,\3\2\2\2\u00fd\u00fe\5c\62\2\u00fe\u00ff"+ + "\5Q)\2\u00ff\u0100\t\3\2\2\u0100.\3\2\2\2\u0101\u0102\5_\60\2\u0102\u0103"+ + "\5S*\2\u0103\u0104\5S*\2\u0104\u0105\5i\65\2\u0105\u0106\5\177@\2\u0106"+ + "\u0107\5U+\2\u0107\u0108\5[.\2\u0108\u0109\5m\67\2\u0109\u010a\5o8\2\u010a"+ + "\u010b\5q9\2\u010b\u010c\5\177@\2\u010c\u010d\5e\63\2\u010d\u010e\5\177"+ + "@\2\u010e\u010f\5a\61\2\u010f\u0110\5K&\2\u0110\u0111\5o8\2\u0111\u0112"+ + "\5q9\2\u0112\u0113\5\177@\2\u0113\u0114\5c\62\2\u0114\60\3\2\2\2\u0115"+ + "\u0116\5_\60\2\u0116\u0117\5S*\2\u0117\u0118\5S*\2\u0118\u0119\5i\65\2"+ + "\u0119\u011a\5\177@\2\u011a\u011b\5U+\2\u011b\u011c\5m\67\2\u011c\u011d"+ + "\5g\64\2\u011d\u011e\5c\62\2\u011e\u011f\5\177@\2\u011f\u0120\5y=\2\u0120"+ + "\u0121\5\177@\2\u0121\u0122\5q9\2\u0122\u0123\5g\64\2\u0123\u0124\5\177"+ + "@\2\u0124\u0125\5{>\2\u0125\62\3\2\2\2\u0126\u0127\5c\62\2\u0127\u0128"+ + "\5K&\2\u0128\u0129\5o8\2\u0129\u012a\5_\60\2\u012a\u012b\5\177@\2\u012b"+ + "\u012c\5U+\2\u012c\u012d\5[.\2\u012d\u012e\5m\67\2\u012e\u012f\5o8\2\u012f"+ + "\u0130\5q9\2\u0130\u0131\5\177@\2\u0131\u0132\5e\63\2\u0132\u0133\5\177"+ + "@\2\u0133\u0134\5a\61\2\u0134\u0135\5K&\2\u0135\u0136\5o8\2\u0136\u0137"+ + "\5q9\2\u0137\u0138\5\177@\2\u0138\u0139\5c\62\2\u0139\64\3\2\2\2\u013a"+ + "\u013b\5c\62\2\u013b\u013c\5K&\2\u013c\u013d\5o8\2\u013d\u013e\5_\60\2"+ + "\u013e\u013f\5\177@\2\u013f\u0140\5U+\2\u0140\u0141\5m\67\2\u0141\u0142"+ + "\5g\64\2\u0142\u0143\5c\62\2\u0143\u0144\5\177@\2\u0144\u0145\5y=\2\u0145"+ + "\u0146\5\177@\2\u0146\u0147\5q9\2\u0147\u0148\5g\64\2\u0148\u0149\5\177"+ + "@\2\u0149\u014a\5{>\2\u014a\66\3\2\2\2\u014b\u014c\5c\62\2\u014c\u014d"+ + "\5K&\2\u014d\u014e\5o8\2\u014e\u014f\5_\60\2\u014f\u0150\5\177@\2\u0150"+ + "\u0151\5M\'\2\u0151\u0152\5S*\2\u0152\u0153\5U+\2\u0153\u0154\5g\64\2"+ + "\u0154\u0155\5m\67\2\u0155\u0156\5S*\2\u0156\u0157\5\177@\2\u0157\u0158"+ + "\5o8\2\u0158\u0159\5i\65\2\u0159\u015a\5S*\2\u015a\u015b\5O(\2\u015b\u015c"+ + "\5[.\2\u015c\u015d\5K&\2\u015d\u015e\5a\61\2\u015e\u015f\5\177@\2\u015f"+ + "\u0160\5O(\2\u0160\u0161\5Y-\2\u0161\u0162\5K&\2\u0162\u0163\5m\67\2\u0163"+ + "\u0164\5o8\2\u01648\3\2\2\2\u0165\u0166\5c\62\2\u0166\u0167\5K&\2\u0167"+ + "\u0168\5o8\2\u0168\u0169\5_\60\2\u0169\u016a\5\177@\2\u016a\u016b\5K&"+ + "\2\u016b\u016c\5U+\2\u016c\u016d\5q9\2\u016d\u016e\5S*\2\u016e\u016f\5"+ + "m\67\2\u016f\u0170\5\177@\2\u0170\u0171\5o8\2\u0171\u0172\5i\65\2\u0172"+ + "\u0173\5S*\2\u0173\u0174\5O(\2\u0174\u0175\5[.\2\u0175\u0176\5K&\2\u0176"+ + "\u0177\5a\61\2\u0177\u0178\5\177@\2\u0178\u0179\5O(\2\u0179\u017a\5Y-"+ + "\2\u017a\u017b\5K&\2\u017b\u017c\5m\67\2\u017c\u017d\5o8\2\u017d:\3\2"+ + "\2\2\u017e\u017f\5i\65\2\u017f\u0180\5S*\2\u0180\u0181\5m\67\2\u0181\u0182"+ + "\5o8\2\u0182\u0183\5g\64\2\u0183\u0184\5e\63\2\u0184\u0185\5K&\2\u0185"+ + "\u0186\5a\61\2\u0186\u0187\5\177@\2\u0187\u0188\5[.\2\u0188\u0189\5Q)"+ + "\2\u0189\u018a\5S*\2\u018a\u018b\5e\63\2\u018b\u018c\5q9\2\u018c\u018d"+ + "\5[.\2\u018d\u018e\5q9\2\u018e\u018f\5{>\2\u018f\u0190\5\177@\2\u0190"+ + "\u0191\5e\63\2\u0191\u0192\5s:\2\u0192\u0193\5c\62\2\u0193\u0194\5M\'"+ + "\2\u0194\u0195\5S*\2\u0195\u0196\5m\67\2\u0196\u0197\5\177@\2\u0197\u0198"+ + "\5m\67\2\u0198\u0199\5K&\2\u0199\u019a\5e\63\2\u019a\u019b\5Q)\2\u019b"+ + "\u019c\5g\64\2\u019c\u019d\5c\62\2\u019d\u019e\5\177@\2\u019e\u019f\5"+ + "m\67\2\u019f\u01a0\5S*\2\u01a0\u01a1\5i\65\2\u01a1\u01a2\5a\61\2\u01a2"+ + "\u01a3\5K&\2\u01a3\u01a4\5O(\2\u01a4\u01a5\5S*\2\u01a5<\3\2\2\2\u01a6"+ + "\u01a7\5c\62\2\u01a7\u01a8\5[.\2\u01a8\u01a9\5a\61\2\u01a9\u01aa\5[.\2"+ + "\u01aa\u01ab\5q9\2\u01ab\u01ac\5K&\2\u01ac\u01ad\5m\67\2\u01ad\u01ae\5"+ + "{>\2\u01ae\u01af\5\177@\2\u01af\u01b0\5[.\2\u01b0\u01b1\5Q)\2\u01b1\u01b2"+ + "\5S*\2\u01b2\u01b3\5e\63\2\u01b3\u01b4\5q9\2\u01b4\u01b5\5[.\2\u01b5\u01b6"+ + "\5q9\2\u01b6\u01b7\5{>\2\u01b7\u01b8\5\177@\2\u01b8\u01b9\5e\63\2\u01b9"+ + "\u01ba\5s:\2\u01ba\u01bb\5c\62\2\u01bb\u01bc\5M\'\2\u01bc\u01bd\5S*\2"+ + "\u01bd\u01be\5m\67\2\u01be\u01bf\5\177@\2\u01bf\u01c0\5m\67\2\u01c0\u01c1"+ + "\5K&\2\u01c1\u01c2\5e\63\2\u01c2\u01c3\5Q)\2\u01c3\u01c4\5g\64\2\u01c4"+ + "\u01c5\5c\62\2\u01c5\u01c6\5\177@\2\u01c6\u01c7\5m\67\2\u01c7\u01c8\5"+ + "S*\2\u01c8\u01c9\5i\65\2\u01c9\u01ca\5a\61\2\u01ca\u01cb\5K&\2\u01cb\u01cc"+ + "\5O(\2\u01cc\u01cd\5S*\2\u01cd>\3\2\2\2\u01ce\u01cf\5a\61\2\u01cf\u01d0"+ + "\5K&\2\u01d0\u01d1\5e\63\2\u01d1\u01d2\5Q)\2\u01d2\u01d3\5a\61\2\u01d3"+ + "\u01d4\5[.\2\u01d4\u01d5\5e\63\2\u01d5\u01d6\5S*\2\u01d6\u01d7\5\177@"+ + "\2\u01d7\u01d8\5e\63\2\u01d8\u01d9\5s:\2\u01d9\u01da\5c\62\2\u01da\u01db"+ + "\5M\'\2\u01db\u01dc\5S*\2\u01dc\u01dd\5m\67\2\u01dd\u01de\5\177@\2\u01de"+ + "\u01df\5m\67\2\u01df\u01e0\5K&\2\u01e0\u01e1\5e\63\2\u01e1\u01e2\5Q)\2"+ + "\u01e2\u01e3\5g\64\2\u01e3\u01e4\5c\62\2\u01e4\u01e5\5\177@\2\u01e5\u01e6"+ + "\5m\67\2\u01e6\u01e7\5S*\2\u01e7\u01e8\5i\65\2\u01e8\u01e9\5a\61\2\u01e9"+ + "\u01ea\5K&\2\u01ea\u01eb\5O(\2\u01eb\u01ec\5S*\2\u01ec@\3\2\2\2\u01ed"+ + "\u01ee\5q9\2\u01ee\u01ef\5S*\2\u01ef\u01f0\5a\61\2\u01f0\u01f1\5S*\2\u01f1"+ + "\u01f2\5i\65\2\u01f2\u01f3\5Y-\2\u01f3\u01f4\5g\64\2\u01f4\u01f5\5e\63"+ + "\2\u01f5\u01f6\5S*\2\u01f6\u01f7\5\177@\2\u01f7\u01f8\5m\67\2\u01f8\u01f9"+ + "\5K&\2\u01f9\u01fa\5e\63\2\u01fa\u01fb\5Q)\2\u01fb\u01fc\5g\64\2\u01fc"+ + "\u01fd\5c\62\2\u01fd\u01fe\5\177@\2\u01fe\u01ff\5m\67\2\u01ff\u0200\5"+ + "S*\2\u0200\u0201\5i\65\2\u0201\u0202\5a\61\2\u0202\u0203\5K&\2\u0203\u0204"+ + "\5O(\2\u0204\u0205\5S*\2\u0205B\3\2\2\2\u0206\u0207\5s:\2\u0207\u0208"+ + "\5e\63\2\u0208\u0209\5[.\2\u0209\u020a\5U+\2\u020a\u020b\5[.\2\u020b\u020c"+ + "\5S*\2\u020c\u020d\5Q)\2\u020d\u020e\5\177@\2\u020e\u020f\5O(\2\u020f"+ + "\u0210\5m\67\2\u0210\u0211\5S*\2\u0211\u0212\5Q)\2\u0212\u0213\5[.\2\u0213"+ + "\u0214\5q9\2\u0214\u0215\5\177@\2\u0215\u0216\5O(\2\u0216\u0217\5g\64"+ + "\2\u0217\u0218\5Q)\2\u0218\u0219\5S*\2\u0219\u021a\5\177@\2\u021a\u021b"+ + "\5m\67\2\u021b\u021c\5K&\2\u021c\u021d\5e\63\2\u021d\u021e\5Q)\2\u021e"+ + "\u021f\5g\64\2\u021f\u0220\5c\62\2\u0220\u0221\5\177@\2\u0221\u0222\5"+ + "m\67\2\u0222\u0223\5S*\2\u0223\u0224\5i\65\2\u0224\u0225\5a\61\2\u0225"+ + "\u0226\5K&\2\u0226\u0227\5O(\2\u0227\u0228\5S*\2\u0228D\3\2\2\2\u0229"+ + "\u022a\5W,\2\u022a\u022b\5S*\2\u022b\u022c\5e\63\2\u022c\u022d\5S*\2\u022d"+ + "\u022e\5m\67\2\u022e\u022f\5[.\2\u022f\u0230\5O(\2\u0230\u0231\5\177@"+ + "\2\u0231\u0232\5q9\2\u0232\u0233\5K&\2\u0233\u0234\5M\'\2\u0234\u0235"+ + "\5a\61\2\u0235\u0236\5S*\2\u0236\u0237\5\177@\2\u0237\u0238\5m\67\2\u0238"+ + "\u0239\5K&\2\u0239\u023a\5e\63\2\u023a\u023b\5Q)\2\u023b\u023c\5g\64\2"+ + "\u023c\u023d\5c\62\2\u023d\u023e\5\177@\2\u023e\u023f\5m\67\2\u023f\u0240"+ + "\5S*\2\u0240\u0241\5i\65\2\u0241\u0242\5a\61\2\u0242\u0243\5K&\2\u0243"+ + "\u0244\5O(\2\u0244\u0245\5S*\2\u0245F\3\2\2\2\u0246\u0247\5K&\2\u0247"+ + "\u0248\5Q)\2\u0248\u0249\5Q)\2\u0249\u024a\5m\67\2\u024a\u024b\5S*\2\u024b"+ + "\u024c\5o8\2\u024c\u024d\5o8\2\u024d\u024e\5\177@\2\u024e\u024f\5m\67"+ + "\2\u024f\u0250\5K&\2\u0250\u0251\5e\63\2\u0251\u0252\5Q)\2\u0252\u0253"+ + "\5g\64\2\u0253\u0254\5c\62\2\u0254\u0255\5\177@\2\u0255\u0256\5m\67\2"+ + "\u0256\u0257\5S*\2\u0257\u0258\5i\65\2\u0258\u0259\5a\61\2\u0259\u025a"+ + "\5K&\2\u025a\u025b\5O(\2\u025b\u025c\5S*\2\u025cH\3\2\2\2\u025d\u025e"+ + "\7F\2\2\u025e\u025f\7Q\2\2\u025f\u0260\7\"\2\2\u0260\u0261\7P\2\2\u0261"+ + "\u0262\7Q\2\2\u0262\u0263\7V\2\2\u0263\u0264\7\"\2\2\u0264\u0265\7O\2"+ + "\2\u0265\u0266\7C\2\2\u0266\u0267\7V\2\2\u0267\u0268\7E\2\2\u0268\u0269"+ + "\7J\2\2\u0269\u026a\7\"\2\2\u026a\u026b\7C\2\2\u026b\u026c\7P\2\2\u026c"+ + "\u026d\7[\2\2\u026d\u026e\7\"\2\2\u026e\u026f\7V\2\2\u026f\u0270\7J\2"+ + "\2\u0270\u0271\7K\2\2\u0271\u0272\7P\2\2\u0272\u0273\7I\2\2\u0273\u0274"+ + "\7.\2\2\u0274\u0275\7\"\2\2\u0275\u0276\7L\2\2\u0276\u0277\7W\2\2\u0277"+ + "\u0278\7U\2\2\u0278\u0279\7V\2\2\u0279\u027a\7\"\2\2\u027a\u027b\7H\2"+ + "\2\u027b\u027c\7Q\2\2\u027c\u027d\7T\2\2\u027d\u027e\7\"\2\2\u027e\u027f"+ + "\7I\2\2\u027f\u0280\7G\2\2\u0280\u0281\7P\2\2\u0281\u0282\7G\2\2\u0282"+ + "\u0283\7T\2\2\u0283\u0284\7C\2\2\u0284\u0285\7V\2\2\u0285\u0286\7Q\2\2"+ + "\u0286\u0287\7T\2\2\u0287J\3\2\2\2\u0288\u0289\t\4\2\2\u0289L\3\2\2\2"+ + "\u028a\u028b\t\5\2\2\u028bN\3\2\2\2\u028c\u028d\t\6\2\2\u028dP\3\2\2\2"+ + "\u028e\u028f\t\7\2\2\u028fR\3\2\2\2\u0290\u0291\t\b\2\2\u0291T\3\2\2\2"+ + "\u0292\u0293\t\t\2\2\u0293V\3\2\2\2\u0294\u0295\t\n\2\2\u0295X\3\2\2\2"+ + "\u0296\u0297\t\13\2\2\u0297Z\3\2\2\2\u0298\u0299\t\f\2\2\u0299\\\3\2\2"+ + "\2\u029a\u029b\t\r\2\2\u029b^\3\2\2\2\u029c\u029d\t\16\2\2\u029d`\3\2"+ + "\2\2\u029e\u029f\t\17\2\2\u029fb\3\2\2\2\u02a0\u02a1\t\20\2\2\u02a1d\3"+ + "\2\2\2\u02a2\u02a3\t\21\2\2\u02a3f\3\2\2\2\u02a4\u02a5\t\22\2\2\u02a5"+ + "h\3\2\2\2\u02a6\u02a7\t\23\2\2\u02a7j\3\2\2\2\u02a8\u02a9\t\24\2\2\u02a9"+ + "l\3\2\2\2\u02aa\u02ab\t\25\2\2\u02abn\3\2\2\2\u02ac\u02ad\t\26\2\2\u02ad"+ + "p\3\2\2\2\u02ae\u02af\t\27\2\2\u02afr\3\2\2\2\u02b0\u02b1\t\30\2\2\u02b1"+ + "t\3\2\2\2\u02b2\u02b3\t\31\2\2\u02b3v\3\2\2\2\u02b4\u02b5\t\32\2\2\u02b5"+ + "x\3\2\2\2\u02b6\u02b7\t\33\2\2\u02b7z\3\2\2\2\u02b8\u02b9\t\34\2\2\u02b9"+ + "|\3\2\2\2\u02ba\u02bb\t\35\2\2\u02bb~\3\2\2\2\u02bc\u02bd\7a\2\2\u02bd"+ + "\u0080\3\2\2\2\4\2\u0084\3\b\2\2"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Keyword.tokens b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Keyword.tokens new file mode 100644 index 00000000..efea8d0f --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Keyword.tokens @@ -0,0 +1,37 @@ +WS=1 +TRUE=2 +FALSE=3 +CREATE=4 +ALTER=5 +DROP=6 +SHOW=7 +RULE=8 +FROM=9 +MASK=10 +TYPE=11 +NAME=12 +PROPERTIES=13 +COLUMN=14 +RULES=15 +TABLE=16 +COLUMNS=17 +IF=18 +EXISTS=19 +COUNT=20 +NOT=21 +MD5=22 +KEEP_FIRST_N_LAST_M=23 +KEEP_FROM_X_TO_Y=24 +MASK_FIRST_N_LAST_M=25 +MASK_FROM_X_TO_Y=26 +MASK_BEFORE_SPECIAL_CHARS=27 +MASK_AFTER_SPECIAL_CHARS=28 +PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE=29 +MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE=30 +LANDLINE_NUMBER_RANDOM_REPLACE=31 +TELEPHONE_RANDOM_REPLACE=32 +UNIFIED_CREDIT_CODE_RANDOM_REPLACE=33 +GENERIC_TABLE_RANDOM_REPLACE=34 +ADDRESS_RANDOM_REPLACE=35 +FOR_GENERATOR=36 +'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=36 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Literals.interp b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Literals.interp new file mode 100644 index 00000000..af532573 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Literals.interp @@ -0,0 +1,191 @@ +token literal names: +null +null +null +null +null +null +null +null +'DO NOT MATCH ANY THING, JUST FOR GENERATOR' +'&&' +'||' +'!' +'~' +'|' +'&' +'<<' +'>>' +'^' +'%' +':' +'+' +'-' +'*' +'/' +'\\' +'.' +'.*' +'<=>' +'==' +'=' +null +'>' +'>=' +'<' +'<=' +'#' +'(' +')' +'{' +'}' +'[' +']' +',' +'"' +'\'' +'`' +'?' +'@' +';' +'->>' + +token symbolic names: +null +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ +FOR_GENERATOR +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ + +rule names: +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ +FOR_GENERATOR +A +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y +Z +UL_ +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 51, 466, 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, 3, 2, 7, 2, 157, 10, 2, 12, 2, 14, 2, 160, 11, 2, 3, 2, 6, 2, 163, 10, 2, 13, 2, 14, 2, 164, 3, 2, 7, 2, 168, 10, 2, 12, 2, 14, 2, 171, 11, 2, 3, 2, 3, 2, 6, 2, 175, 10, 2, 13, 2, 14, 2, 176, 3, 2, 3, 2, 5, 2, 181, 10, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 189, 10, 3, 12, 3, 14, 3, 192, 11, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 202, 10, 3, 12, 3, 14, 3, 205, 11, 3, 3, 3, 3, 3, 5, 3, 209, 10, 3, 3, 4, 6, 4, 212, 10, 4, 13, 4, 14, 4, 213, 3, 5, 3, 5, 3, 6, 5, 6, 219, 10, 6, 3, 6, 5, 6, 222, 10, 6, 3, 6, 3, 6, 3, 6, 3, 6, 5, 6, 228, 10, 6, 3, 6, 3, 6, 5, 6, 232, 10, 6, 3, 7, 3, 7, 3, 7, 3, 7, 6, 7, 238, 10, 7, 13, 7, 14, 7, 239, 3, 7, 3, 7, 3, 7, 6, 7, 245, 10, 7, 13, 7, 14, 7, 246, 3, 7, 3, 7, 5, 7, 251, 10, 7, 3, 8, 3, 8, 3, 8, 3, 8, 6, 8, 257, 10, 8, 13, 8, 14, 8, 258, 3, 8, 3, 8, 3, 8, 6, 8, 264, 10, 8, 13, 8, 14, 8, 265, 3, 8, 3, 8, 5, 8, 270, 10, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 3, 18, 3, 18, 3, 19, 3, 19, 3, 20, 3, 20, 3, 21, 3, 21, 3, 22, 3, 22, 3, 23, 3, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 37, 3, 38, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 43, 3, 43, 3, 43, 3, 44, 3, 44, 3, 44, 3, 45, 3, 45, 3, 46, 3, 46, 3, 47, 3, 47, 3, 48, 3, 48, 3, 49, 3, 49, 3, 50, 3, 50, 3, 51, 3, 51, 3, 52, 3, 52, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 5, 58, 423, 10, 58, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 64, 3, 64, 3, 65, 3, 65, 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, 72, 3, 72, 3, 73, 3, 73, 3, 74, 3, 74, 3, 75, 3, 75, 3, 76, 3, 76, 3, 77, 3, 77, 3, 77, 3, 77, 4, 158, 164, 2, 78, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 2, 21, 2, 23, 2, 25, 2, 27, 2, 29, 2, 31, 2, 33, 2, 35, 2, 37, 2, 39, 2, 41, 2, 43, 2, 45, 2, 47, 2, 49, 2, 51, 2, 53, 2, 55, 2, 57, 2, 59, 2, 61, 2, 63, 2, 65, 2, 67, 2, 69, 2, 71, 2, 73, 11, 75, 12, 77, 13, 79, 14, 81, 15, 83, 16, 85, 17, 87, 18, 89, 19, 91, 20, 93, 21, 95, 22, 97, 23, 99, 24, 101, 25, 103, 26, 105, 27, 107, 28, 109, 29, 111, 30, 113, 31, 115, 32, 117, 33, 119, 34, 121, 35, 123, 36, 125, 37, 127, 38, 129, 39, 131, 40, 133, 41, 135, 42, 137, 43, 139, 44, 141, 45, 143, 46, 145, 47, 147, 48, 149, 49, 151, 50, 153, 51, 3, 2, 35, 7, 2, 38, 38, 50, 59, 67, 92, 97, 97, 99, 124, 6, 2, 38, 38, 67, 92, 97, 97, 99, 124, 3, 2, 98, 98, 4, 2, 36, 36, 94, 94, 4, 2, 41, 41, 94, 94, 3, 2, 50, 59, 5, 2, 50, 59, 67, 72, 99, 104, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 2, 463, 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, 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, 3, 180, 3, 2, 2, 2, 5, 208, 3, 2, 2, 2, 7, 211, 3, 2, 2, 2, 9, 215, 3, 2, 2, 2, 11, 218, 3, 2, 2, 2, 13, 250, 3, 2, 2, 2, 15, 269, 3, 2, 2, 2, 17, 271, 3, 2, 2, 2, 19, 314, 3, 2, 2, 2, 21, 316, 3, 2, 2, 2, 23, 318, 3, 2, 2, 2, 25, 320, 3, 2, 2, 2, 27, 322, 3, 2, 2, 2, 29, 324, 3, 2, 2, 2, 31, 326, 3, 2, 2, 2, 33, 328, 3, 2, 2, 2, 35, 330, 3, 2, 2, 2, 37, 332, 3, 2, 2, 2, 39, 334, 3, 2, 2, 2, 41, 336, 3, 2, 2, 2, 43, 338, 3, 2, 2, 2, 45, 340, 3, 2, 2, 2, 47, 342, 3, 2, 2, 2, 49, 344, 3, 2, 2, 2, 51, 346, 3, 2, 2, 2, 53, 348, 3, 2, 2, 2, 55, 350, 3, 2, 2, 2, 57, 352, 3, 2, 2, 2, 59, 354, 3, 2, 2, 2, 61, 356, 3, 2, 2, 2, 63, 358, 3, 2, 2, 2, 65, 360, 3, 2, 2, 2, 67, 362, 3, 2, 2, 2, 69, 364, 3, 2, 2, 2, 71, 366, 3, 2, 2, 2, 73, 368, 3, 2, 2, 2, 75, 371, 3, 2, 2, 2, 77, 374, 3, 2, 2, 2, 79, 376, 3, 2, 2, 2, 81, 378, 3, 2, 2, 2, 83, 380, 3, 2, 2, 2, 85, 382, 3, 2, 2, 2, 87, 385, 3, 2, 2, 2, 89, 388, 3, 2, 2, 2, 91, 390, 3, 2, 2, 2, 93, 392, 3, 2, 2, 2, 95, 394, 3, 2, 2, 2, 97, 396, 3, 2, 2, 2, 99, 398, 3, 2, 2, 2, 101, 400, 3, 2, 2, 2, 103, 402, 3, 2, 2, 2, 105, 404, 3, 2, 2, 2, 107, 406, 3, 2, 2, 2, 109, 409, 3, 2, 2, 2, 111, 413, 3, 2, 2, 2, 113, 416, 3, 2, 2, 2, 115, 422, 3, 2, 2, 2, 117, 424, 3, 2, 2, 2, 119, 426, 3, 2, 2, 2, 121, 429, 3, 2, 2, 2, 123, 431, 3, 2, 2, 2, 125, 434, 3, 2, 2, 2, 127, 436, 3, 2, 2, 2, 129, 438, 3, 2, 2, 2, 131, 440, 3, 2, 2, 2, 133, 442, 3, 2, 2, 2, 135, 444, 3, 2, 2, 2, 137, 446, 3, 2, 2, 2, 139, 448, 3, 2, 2, 2, 141, 450, 3, 2, 2, 2, 143, 452, 3, 2, 2, 2, 145, 454, 3, 2, 2, 2, 147, 456, 3, 2, 2, 2, 149, 458, 3, 2, 2, 2, 151, 460, 3, 2, 2, 2, 153, 462, 3, 2, 2, 2, 155, 157, 9, 2, 2, 2, 156, 155, 3, 2, 2, 2, 157, 160, 3, 2, 2, 2, 158, 159, 3, 2, 2, 2, 158, 156, 3, 2, 2, 2, 159, 162, 3, 2, 2, 2, 160, 158, 3, 2, 2, 2, 161, 163, 9, 3, 2, 2, 162, 161, 3, 2, 2, 2, 163, 164, 3, 2, 2, 2, 164, 165, 3, 2, 2, 2, 164, 162, 3, 2, 2, 2, 165, 169, 3, 2, 2, 2, 166, 168, 9, 2, 2, 2, 167, 166, 3, 2, 2, 2, 168, 171, 3, 2, 2, 2, 169, 167, 3, 2, 2, 2, 169, 170, 3, 2, 2, 2, 170, 181, 3, 2, 2, 2, 171, 169, 3, 2, 2, 2, 172, 174, 5, 145, 73, 2, 173, 175, 10, 4, 2, 2, 174, 173, 3, 2, 2, 2, 175, 176, 3, 2, 2, 2, 176, 174, 3, 2, 2, 2, 176, 177, 3, 2, 2, 2, 177, 178, 3, 2, 2, 2, 178, 179, 5, 145, 73, 2, 179, 181, 3, 2, 2, 2, 180, 158, 3, 2, 2, 2, 180, 172, 3, 2, 2, 2, 181, 4, 3, 2, 2, 2, 182, 190, 5, 141, 71, 2, 183, 184, 7, 94, 2, 2, 184, 189, 11, 2, 2, 2, 185, 186, 7, 36, 2, 2, 186, 189, 7, 36, 2, 2, 187, 189, 10, 5, 2, 2, 188, 183, 3, 2, 2, 2, 188, 185, 3, 2, 2, 2, 188, 187, 3, 2, 2, 2, 189, 192, 3, 2, 2, 2, 190, 188, 3, 2, 2, 2, 190, 191, 3, 2, 2, 2, 191, 193, 3, 2, 2, 2, 192, 190, 3, 2, 2, 2, 193, 194, 5, 141, 71, 2, 194, 209, 3, 2, 2, 2, 195, 203, 5, 143, 72, 2, 196, 197, 7, 94, 2, 2, 197, 202, 11, 2, 2, 2, 198, 199, 7, 41, 2, 2, 199, 202, 7, 41, 2, 2, 200, 202, 10, 6, 2, 2, 201, 196, 3, 2, 2, 2, 201, 198, 3, 2, 2, 2, 201, 200, 3, 2, 2, 2, 202, 205, 3, 2, 2, 2, 203, 201, 3, 2, 2, 2, 203, 204, 3, 2, 2, 2, 204, 206, 3, 2, 2, 2, 205, 203, 3, 2, 2, 2, 206, 207, 5, 143, 72, 2, 207, 209, 3, 2, 2, 2, 208, 182, 3, 2, 2, 2, 208, 195, 3, 2, 2, 2, 209, 6, 3, 2, 2, 2, 210, 212, 9, 7, 2, 2, 211, 210, 3, 2, 2, 2, 212, 213, 3, 2, 2, 2, 213, 211, 3, 2, 2, 2, 213, 214, 3, 2, 2, 2, 214, 8, 3, 2, 2, 2, 215, 216, 9, 8, 2, 2, 216, 10, 3, 2, 2, 2, 217, 219, 5, 7, 4, 2, 218, 217, 3, 2, 2, 2, 218, 219, 3, 2, 2, 2, 219, 221, 3, 2, 2, 2, 220, 222, 5, 105, 53, 2, 221, 220, 3, 2, 2, 2, 221, 222, 3, 2, 2, 2, 222, 223, 3, 2, 2, 2, 223, 231, 5, 7, 4, 2, 224, 227, 5, 27, 14, 2, 225, 228, 5, 95, 48, 2, 226, 228, 5, 97, 49, 2, 227, 225, 3, 2, 2, 2, 227, 226, 3, 2, 2, 2, 227, 228, 3, 2, 2, 2, 228, 229, 3, 2, 2, 2, 229, 230, 5, 7, 4, 2, 230, 232, 3, 2, 2, 2, 231, 224, 3, 2, 2, 2, 231, 232, 3, 2, 2, 2, 232, 12, 3, 2, 2, 2, 233, 234, 7, 50, 2, 2, 234, 235, 7, 122, 2, 2, 235, 237, 3, 2, 2, 2, 236, 238, 5, 9, 5, 2, 237, 236, 3, 2, 2, 2, 238, 239, 3, 2, 2, 2, 239, 237, 3, 2, 2, 2, 239, 240, 3, 2, 2, 2, 240, 251, 3, 2, 2, 2, 241, 242, 7, 90, 2, 2, 242, 244, 5, 143, 72, 2, 243, 245, 5, 9, 5, 2, 244, 243, 3, 2, 2, 2, 245, 246, 3, 2, 2, 2, 246, 244, 3, 2, 2, 2, 246, 247, 3, 2, 2, 2, 247, 248, 3, 2, 2, 2, 248, 249, 5, 143, 72, 2, 249, 251, 3, 2, 2, 2, 250, 233, 3, 2, 2, 2, 250, 241, 3, 2, 2, 2, 251, 14, 3, 2, 2, 2, 252, 253, 7, 50, 2, 2, 253, 254, 7, 100, 2, 2, 254, 256, 3, 2, 2, 2, 255, 257, 4, 50, 51, 2, 256, 255, 3, 2, 2, 2, 257, 258, 3, 2, 2, 2, 258, 256, 3, 2, 2, 2, 258, 259, 3, 2, 2, 2, 259, 270, 3, 2, 2, 2, 260, 261, 5, 21, 11, 2, 261, 263, 5, 143, 72, 2, 262, 264, 4, 50, 51, 2, 263, 262, 3, 2, 2, 2, 264, 265, 3, 2, 2, 2, 265, 263, 3, 2, 2, 2, 265, 266, 3, 2, 2, 2, 266, 267, 3, 2, 2, 2, 267, 268, 5, 143, 72, 2, 268, 270, 3, 2, 2, 2, 269, 252, 3, 2, 2, 2, 269, 260, 3, 2, 2, 2, 270, 16, 3, 2, 2, 2, 271, 272, 7, 70, 2, 2, 272, 273, 7, 81, 2, 2, 273, 274, 7, 34, 2, 2, 274, 275, 7, 80, 2, 2, 275, 276, 7, 81, 2, 2, 276, 277, 7, 86, 2, 2, 277, 278, 7, 34, 2, 2, 278, 279, 7, 79, 2, 2, 279, 280, 7, 67, 2, 2, 280, 281, 7, 86, 2, 2, 281, 282, 7, 69, 2, 2, 282, 283, 7, 74, 2, 2, 283, 284, 7, 34, 2, 2, 284, 285, 7, 67, 2, 2, 285, 286, 7, 80, 2, 2, 286, 287, 7, 91, 2, 2, 287, 288, 7, 34, 2, 2, 288, 289, 7, 86, 2, 2, 289, 290, 7, 74, 2, 2, 290, 291, 7, 75, 2, 2, 291, 292, 7, 80, 2, 2, 292, 293, 7, 73, 2, 2, 293, 294, 7, 46, 2, 2, 294, 295, 7, 34, 2, 2, 295, 296, 7, 76, 2, 2, 296, 297, 7, 87, 2, 2, 297, 298, 7, 85, 2, 2, 298, 299, 7, 86, 2, 2, 299, 300, 7, 34, 2, 2, 300, 301, 7, 72, 2, 2, 301, 302, 7, 81, 2, 2, 302, 303, 7, 84, 2, 2, 303, 304, 7, 34, 2, 2, 304, 305, 7, 73, 2, 2, 305, 306, 7, 71, 2, 2, 306, 307, 7, 80, 2, 2, 307, 308, 7, 71, 2, 2, 308, 309, 7, 84, 2, 2, 309, 310, 7, 67, 2, 2, 310, 311, 7, 86, 2, 2, 311, 312, 7, 81, 2, 2, 312, 313, 7, 84, 2, 2, 313, 18, 3, 2, 2, 2, 314, 315, 9, 9, 2, 2, 315, 20, 3, 2, 2, 2, 316, 317, 9, 10, 2, 2, 317, 22, 3, 2, 2, 2, 318, 319, 9, 11, 2, 2, 319, 24, 3, 2, 2, 2, 320, 321, 9, 12, 2, 2, 321, 26, 3, 2, 2, 2, 322, 323, 9, 13, 2, 2, 323, 28, 3, 2, 2, 2, 324, 325, 9, 14, 2, 2, 325, 30, 3, 2, 2, 2, 326, 327, 9, 15, 2, 2, 327, 32, 3, 2, 2, 2, 328, 329, 9, 16, 2, 2, 329, 34, 3, 2, 2, 2, 330, 331, 9, 17, 2, 2, 331, 36, 3, 2, 2, 2, 332, 333, 9, 18, 2, 2, 333, 38, 3, 2, 2, 2, 334, 335, 9, 19, 2, 2, 335, 40, 3, 2, 2, 2, 336, 337, 9, 20, 2, 2, 337, 42, 3, 2, 2, 2, 338, 339, 9, 21, 2, 2, 339, 44, 3, 2, 2, 2, 340, 341, 9, 22, 2, 2, 341, 46, 3, 2, 2, 2, 342, 343, 9, 23, 2, 2, 343, 48, 3, 2, 2, 2, 344, 345, 9, 24, 2, 2, 345, 50, 3, 2, 2, 2, 346, 347, 9, 25, 2, 2, 347, 52, 3, 2, 2, 2, 348, 349, 9, 26, 2, 2, 349, 54, 3, 2, 2, 2, 350, 351, 9, 27, 2, 2, 351, 56, 3, 2, 2, 2, 352, 353, 9, 28, 2, 2, 353, 58, 3, 2, 2, 2, 354, 355, 9, 29, 2, 2, 355, 60, 3, 2, 2, 2, 356, 357, 9, 30, 2, 2, 357, 62, 3, 2, 2, 2, 358, 359, 9, 31, 2, 2, 359, 64, 3, 2, 2, 2, 360, 361, 9, 32, 2, 2, 361, 66, 3, 2, 2, 2, 362, 363, 9, 33, 2, 2, 363, 68, 3, 2, 2, 2, 364, 365, 9, 34, 2, 2, 365, 70, 3, 2, 2, 2, 366, 367, 7, 97, 2, 2, 367, 72, 3, 2, 2, 2, 368, 369, 7, 40, 2, 2, 369, 370, 7, 40, 2, 2, 370, 74, 3, 2, 2, 2, 371, 372, 7, 126, 2, 2, 372, 373, 7, 126, 2, 2, 373, 76, 3, 2, 2, 2, 374, 375, 7, 35, 2, 2, 375, 78, 3, 2, 2, 2, 376, 377, 7, 128, 2, 2, 377, 80, 3, 2, 2, 2, 378, 379, 7, 126, 2, 2, 379, 82, 3, 2, 2, 2, 380, 381, 7, 40, 2, 2, 381, 84, 3, 2, 2, 2, 382, 383, 7, 62, 2, 2, 383, 384, 7, 62, 2, 2, 384, 86, 3, 2, 2, 2, 385, 386, 7, 64, 2, 2, 386, 387, 7, 64, 2, 2, 387, 88, 3, 2, 2, 2, 388, 389, 7, 96, 2, 2, 389, 90, 3, 2, 2, 2, 390, 391, 7, 39, 2, 2, 391, 92, 3, 2, 2, 2, 392, 393, 7, 60, 2, 2, 393, 94, 3, 2, 2, 2, 394, 395, 7, 45, 2, 2, 395, 96, 3, 2, 2, 2, 396, 397, 7, 47, 2, 2, 397, 98, 3, 2, 2, 2, 398, 399, 7, 44, 2, 2, 399, 100, 3, 2, 2, 2, 400, 401, 7, 49, 2, 2, 401, 102, 3, 2, 2, 2, 402, 403, 7, 94, 2, 2, 403, 104, 3, 2, 2, 2, 404, 405, 7, 48, 2, 2, 405, 106, 3, 2, 2, 2, 406, 407, 7, 48, 2, 2, 407, 408, 7, 44, 2, 2, 408, 108, 3, 2, 2, 2, 409, 410, 7, 62, 2, 2, 410, 411, 7, 63, 2, 2, 411, 412, 7, 64, 2, 2, 412, 110, 3, 2, 2, 2, 413, 414, 7, 63, 2, 2, 414, 415, 7, 63, 2, 2, 415, 112, 3, 2, 2, 2, 416, 417, 7, 63, 2, 2, 417, 114, 3, 2, 2, 2, 418, 419, 7, 62, 2, 2, 419, 423, 7, 64, 2, 2, 420, 421, 7, 35, 2, 2, 421, 423, 7, 63, 2, 2, 422, 418, 3, 2, 2, 2, 422, 420, 3, 2, 2, 2, 423, 116, 3, 2, 2, 2, 424, 425, 7, 64, 2, 2, 425, 118, 3, 2, 2, 2, 426, 427, 7, 64, 2, 2, 427, 428, 7, 63, 2, 2, 428, 120, 3, 2, 2, 2, 429, 430, 7, 62, 2, 2, 430, 122, 3, 2, 2, 2, 431, 432, 7, 62, 2, 2, 432, 433, 7, 63, 2, 2, 433, 124, 3, 2, 2, 2, 434, 435, 7, 37, 2, 2, 435, 126, 3, 2, 2, 2, 436, 437, 7, 42, 2, 2, 437, 128, 3, 2, 2, 2, 438, 439, 7, 43, 2, 2, 439, 130, 3, 2, 2, 2, 440, 441, 7, 125, 2, 2, 441, 132, 3, 2, 2, 2, 442, 443, 7, 127, 2, 2, 443, 134, 3, 2, 2, 2, 444, 445, 7, 93, 2, 2, 445, 136, 3, 2, 2, 2, 446, 447, 7, 95, 2, 2, 447, 138, 3, 2, 2, 2, 448, 449, 7, 46, 2, 2, 449, 140, 3, 2, 2, 2, 450, 451, 7, 36, 2, 2, 451, 142, 3, 2, 2, 2, 452, 453, 7, 41, 2, 2, 453, 144, 3, 2, 2, 2, 454, 455, 7, 98, 2, 2, 455, 146, 3, 2, 2, 2, 456, 457, 7, 65, 2, 2, 457, 148, 3, 2, 2, 2, 458, 459, 7, 66, 2, 2, 459, 150, 3, 2, 2, 2, 460, 461, 7, 61, 2, 2, 461, 152, 3, 2, 2, 2, 462, 463, 7, 47, 2, 2, 463, 464, 7, 64, 2, 2, 464, 465, 7, 64, 2, 2, 465, 154, 3, 2, 2, 2, 25, 2, 158, 164, 169, 176, 180, 188, 190, 201, 203, 208, 213, 218, 221, 227, 231, 239, 246, 250, 258, 265, 269, 422, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Literals.java b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Literals.java new file mode 100644 index 00000000..3b7ff4a8 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Literals.java @@ -0,0 +1,298 @@ +// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/mask/Literals.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.misc.*; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class Literals extends Lexer { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + IDENTIFIER_=1, STRING_=2, INT_=3, HEX_=4, NUMBER_=5, HEXDIGIT_=6, BITNUM_=7, + FOR_GENERATOR=8, AND_=9, OR_=10, NOT_=11, TILDE_=12, VERTICALBAR_=13, + AMPERSAND_=14, SIGNEDLEFTSHIFT_=15, SIGNEDRIGHTSHIFT_=16, CARET_=17, MOD_=18, + COLON_=19, PLUS_=20, MINUS_=21, ASTERISK_=22, SLASH_=23, BACKSLASH_=24, + DOT_=25, DOTASTERISK_=26, SAFEEQ_=27, DEQ_=28, EQ_=29, NEQ_=30, GT_=31, + GTE_=32, LT_=33, LTE_=34, POUND_=35, LP_=36, RP_=37, LBE_=38, RBE_=39, + LBT_=40, RBT_=41, COMMA_=42, DQ_=43, SQ_=44, BQ_=45, QUESTION_=46, AT_=47, + SEMI_=48, JSONSEPARATOR_=49; + public static String[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + + public static String[] modeNames = { + "DEFAULT_MODE" + }; + + private static String[] makeRuleNames() { + return new String[] { + "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_", + "FOR_GENERATOR", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", + "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", + "Z", "UL_", "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", + "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", + "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", + "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", + "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", + "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, null, null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'", + "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", "'%'", + "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", "'=='", + "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", "'{'", + "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", "';'", + "'->>'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", + "BITNUM_", "FOR_GENERATOR", "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", + "AMPERSAND_", "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", + "COLON_", "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", + "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", + "LTE_", "POUND_", "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", + "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + + public Literals(CharStream input) { + super(input); + _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + @Override + public String getGrammarFileName() { return "Literals.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public String[] getChannelNames() { return channelNames; } + + @Override + public String[] getModeNames() { return modeNames; } + + @Override + public ATN getATN() { return _ATN; } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2\63\u01d2\b\1\4\2"+ + "\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4"+ + "\13\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22"+ + "\t\22\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31"+ + "\t\31\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t"+ + " \4!\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t"+ + "+\4,\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64"+ + "\t\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t"+ + "=\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4"+ + "I\tI\4J\tJ\4K\tK\4L\tL\4M\tM\3\2\7\2\u009d\n\2\f\2\16\2\u00a0\13\2\3\2"+ + "\6\2\u00a3\n\2\r\2\16\2\u00a4\3\2\7\2\u00a8\n\2\f\2\16\2\u00ab\13\2\3"+ + "\2\3\2\6\2\u00af\n\2\r\2\16\2\u00b0\3\2\3\2\5\2\u00b5\n\2\3\3\3\3\3\3"+ + "\3\3\3\3\3\3\7\3\u00bd\n\3\f\3\16\3\u00c0\13\3\3\3\3\3\3\3\3\3\3\3\3\3"+ + "\3\3\3\3\7\3\u00ca\n\3\f\3\16\3\u00cd\13\3\3\3\3\3\5\3\u00d1\n\3\3\4\6"+ + "\4\u00d4\n\4\r\4\16\4\u00d5\3\5\3\5\3\6\5\6\u00db\n\6\3\6\5\6\u00de\n"+ + "\6\3\6\3\6\3\6\3\6\5\6\u00e4\n\6\3\6\3\6\5\6\u00e8\n\6\3\7\3\7\3\7\3\7"+ + "\6\7\u00ee\n\7\r\7\16\7\u00ef\3\7\3\7\3\7\6\7\u00f5\n\7\r\7\16\7\u00f6"+ + "\3\7\3\7\5\7\u00fb\n\7\3\b\3\b\3\b\3\b\6\b\u0101\n\b\r\b\16\b\u0102\3"+ + "\b\3\b\3\b\6\b\u0108\n\b\r\b\16\b\u0109\3\b\3\b\5\b\u010e\n\b\3\t\3\t"+ + "\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3"+ + "\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t"+ + "\3\t\3\t\3\t\3\t\3\t\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3"+ + "\17\3\17\3\20\3\20\3\21\3\21\3\22\3\22\3\23\3\23\3\24\3\24\3\25\3\25\3"+ + "\26\3\26\3\27\3\27\3\30\3\30\3\31\3\31\3\32\3\32\3\33\3\33\3\34\3\34\3"+ + "\35\3\35\3\36\3\36\3\37\3\37\3 \3 \3!\3!\3\"\3\"\3#\3#\3$\3$\3%\3%\3%"+ + "\3&\3&\3&\3\'\3\'\3(\3(\3)\3)\3*\3*\3+\3+\3+\3,\3,\3,\3-\3-\3.\3.\3/\3"+ + "/\3\60\3\60\3\61\3\61\3\62\3\62\3\63\3\63\3\64\3\64\3\65\3\65\3\66\3\66"+ + "\3\66\3\67\3\67\3\67\3\67\38\38\38\39\39\3:\3:\3:\3:\5:\u01a7\n:\3;\3"+ + ";\3<\3<\3<\3=\3=\3>\3>\3>\3?\3?\3@\3@\3A\3A\3B\3B\3C\3C\3D\3D\3E\3E\3"+ + "F\3F\3G\3G\3H\3H\3I\3I\3J\3J\3K\3K\3L\3L\3M\3M\3M\3M\4\u009e\u00a4\2N"+ + "\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23\2\25\2\27\2\31\2\33\2\35\2\37\2"+ + "!\2#\2%\2\'\2)\2+\2-\2/\2\61\2\63\2\65\2\67\29\2;\2=\2?\2A\2C\2E\2G\2"+ + "I\13K\fM\rO\16Q\17S\20U\21W\22Y\23[\24]\25_\26a\27c\30e\31g\32i\33k\34"+ + "m\35o\36q\37s u!w\"y#{$}%\177&\u0081\'\u0083(\u0085)\u0087*\u0089+\u008b"+ + ",\u008d-\u008f.\u0091/\u0093\60\u0095\61\u0097\62\u0099\63\3\2#\7\2&&"+ + "\62;C\\aac|\6\2&&C\\aac|\3\2bb\4\2$$^^\4\2))^^\3\2\62;\5\2\62;CHch\4\2"+ + "CCcc\4\2DDdd\4\2EEee\4\2FFff\4\2GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4"+ + "\2LLll\4\2MMmm\4\2NNnn\4\2OOoo\4\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4\2TTt"+ + "t\4\2UUuu\4\2VVvv\4\2WWww\4\2XXxx\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\||\2"+ + "\u01cf\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2"+ + "\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2\2\2\2I\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2"+ + "\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2["+ + "\3\2\2\2\2]\3\2\2\2\2_\3\2\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3\2"+ + "\2\2\2i\3\2\2\2\2k\3\2\2\2\2m\3\2\2\2\2o\3\2\2\2\2q\3\2\2\2\2s\3\2\2\2"+ + "\2u\3\2\2\2\2w\3\2\2\2\2y\3\2\2\2\2{\3\2\2\2\2}\3\2\2\2\2\177\3\2\2\2"+ + "\2\u0081\3\2\2\2\2\u0083\3\2\2\2\2\u0085\3\2\2\2\2\u0087\3\2\2\2\2\u0089"+ + "\3\2\2\2\2\u008b\3\2\2\2\2\u008d\3\2\2\2\2\u008f\3\2\2\2\2\u0091\3\2\2"+ + "\2\2\u0093\3\2\2\2\2\u0095\3\2\2\2\2\u0097\3\2\2\2\2\u0099\3\2\2\2\3\u00b4"+ + "\3\2\2\2\5\u00d0\3\2\2\2\7\u00d3\3\2\2\2\t\u00d7\3\2\2\2\13\u00da\3\2"+ + "\2\2\r\u00fa\3\2\2\2\17\u010d\3\2\2\2\21\u010f\3\2\2\2\23\u013a\3\2\2"+ + "\2\25\u013c\3\2\2\2\27\u013e\3\2\2\2\31\u0140\3\2\2\2\33\u0142\3\2\2\2"+ + "\35\u0144\3\2\2\2\37\u0146\3\2\2\2!\u0148\3\2\2\2#\u014a\3\2\2\2%\u014c"+ + "\3\2\2\2\'\u014e\3\2\2\2)\u0150\3\2\2\2+\u0152\3\2\2\2-\u0154\3\2\2\2"+ + "/\u0156\3\2\2\2\61\u0158\3\2\2\2\63\u015a\3\2\2\2\65\u015c\3\2\2\2\67"+ + "\u015e\3\2\2\29\u0160\3\2\2\2;\u0162\3\2\2\2=\u0164\3\2\2\2?\u0166\3\2"+ + "\2\2A\u0168\3\2\2\2C\u016a\3\2\2\2E\u016c\3\2\2\2G\u016e\3\2\2\2I\u0170"+ + "\3\2\2\2K\u0173\3\2\2\2M\u0176\3\2\2\2O\u0178\3\2\2\2Q\u017a\3\2\2\2S"+ + "\u017c\3\2\2\2U\u017e\3\2\2\2W\u0181\3\2\2\2Y\u0184\3\2\2\2[\u0186\3\2"+ + "\2\2]\u0188\3\2\2\2_\u018a\3\2\2\2a\u018c\3\2\2\2c\u018e\3\2\2\2e\u0190"+ + "\3\2\2\2g\u0192\3\2\2\2i\u0194\3\2\2\2k\u0196\3\2\2\2m\u0199\3\2\2\2o"+ + "\u019d\3\2\2\2q\u01a0\3\2\2\2s\u01a6\3\2\2\2u\u01a8\3\2\2\2w\u01aa\3\2"+ + "\2\2y\u01ad\3\2\2\2{\u01af\3\2\2\2}\u01b2\3\2\2\2\177\u01b4\3\2\2\2\u0081"+ + "\u01b6\3\2\2\2\u0083\u01b8\3\2\2\2\u0085\u01ba\3\2\2\2\u0087\u01bc\3\2"+ + "\2\2\u0089\u01be\3\2\2\2\u008b\u01c0\3\2\2\2\u008d\u01c2\3\2\2\2\u008f"+ + "\u01c4\3\2\2\2\u0091\u01c6\3\2\2\2\u0093\u01c8\3\2\2\2\u0095\u01ca\3\2"+ + "\2\2\u0097\u01cc\3\2\2\2\u0099\u01ce\3\2\2\2\u009b\u009d\t\2\2\2\u009c"+ + "\u009b\3\2\2\2\u009d\u00a0\3\2\2\2\u009e\u009f\3\2\2\2\u009e\u009c\3\2"+ + "\2\2\u009f\u00a2\3\2\2\2\u00a0\u009e\3\2\2\2\u00a1\u00a3\t\3\2\2\u00a2"+ + "\u00a1\3\2\2\2\u00a3\u00a4\3\2\2\2\u00a4\u00a5\3\2\2\2\u00a4\u00a2\3\2"+ + "\2\2\u00a5\u00a9\3\2\2\2\u00a6\u00a8\t\2\2\2\u00a7\u00a6\3\2\2\2\u00a8"+ + "\u00ab\3\2\2\2\u00a9\u00a7\3\2\2\2\u00a9\u00aa\3\2\2\2\u00aa\u00b5\3\2"+ + "\2\2\u00ab\u00a9\3\2\2\2\u00ac\u00ae\5\u0091I\2\u00ad\u00af\n\4\2\2\u00ae"+ + "\u00ad\3\2\2\2\u00af\u00b0\3\2\2\2\u00b0\u00ae\3\2\2\2\u00b0\u00b1\3\2"+ + "\2\2\u00b1\u00b2\3\2\2\2\u00b2\u00b3\5\u0091I\2\u00b3\u00b5\3\2\2\2\u00b4"+ + "\u009e\3\2\2\2\u00b4\u00ac\3\2\2\2\u00b5\4\3\2\2\2\u00b6\u00be\5\u008d"+ + "G\2\u00b7\u00b8\7^\2\2\u00b8\u00bd\13\2\2\2\u00b9\u00ba\7$\2\2\u00ba\u00bd"+ + "\7$\2\2\u00bb\u00bd\n\5\2\2\u00bc\u00b7\3\2\2\2\u00bc\u00b9\3\2\2\2\u00bc"+ + "\u00bb\3\2\2\2\u00bd\u00c0\3\2\2\2\u00be\u00bc\3\2\2\2\u00be\u00bf\3\2"+ + "\2\2\u00bf\u00c1\3\2\2\2\u00c0\u00be\3\2\2\2\u00c1\u00c2\5\u008dG\2\u00c2"+ + "\u00d1\3\2\2\2\u00c3\u00cb\5\u008fH\2\u00c4\u00c5\7^\2\2\u00c5\u00ca\13"+ + "\2\2\2\u00c6\u00c7\7)\2\2\u00c7\u00ca\7)\2\2\u00c8\u00ca\n\6\2\2\u00c9"+ + "\u00c4\3\2\2\2\u00c9\u00c6\3\2\2\2\u00c9\u00c8\3\2\2\2\u00ca\u00cd\3\2"+ + "\2\2\u00cb\u00c9\3\2\2\2\u00cb\u00cc\3\2\2\2\u00cc\u00ce\3\2\2\2\u00cd"+ + "\u00cb\3\2\2\2\u00ce\u00cf\5\u008fH\2\u00cf\u00d1\3\2\2\2\u00d0\u00b6"+ + "\3\2\2\2\u00d0\u00c3\3\2\2\2\u00d1\6\3\2\2\2\u00d2\u00d4\t\7\2\2\u00d3"+ + "\u00d2\3\2\2\2\u00d4\u00d5\3\2\2\2\u00d5\u00d3\3\2\2\2\u00d5\u00d6\3\2"+ + "\2\2\u00d6\b\3\2\2\2\u00d7\u00d8\t\b\2\2\u00d8\n\3\2\2\2\u00d9\u00db\5"+ + "\7\4\2\u00da\u00d9\3\2\2\2\u00da\u00db\3\2\2\2\u00db\u00dd\3\2\2\2\u00dc"+ + "\u00de\5i\65\2\u00dd\u00dc\3\2\2\2\u00dd\u00de\3\2\2\2\u00de\u00df\3\2"+ + "\2\2\u00df\u00e7\5\7\4\2\u00e0\u00e3\5\33\16\2\u00e1\u00e4\5_\60\2\u00e2"+ + "\u00e4\5a\61\2\u00e3\u00e1\3\2\2\2\u00e3\u00e2\3\2\2\2\u00e3\u00e4\3\2"+ + "\2\2\u00e4\u00e5\3\2\2\2\u00e5\u00e6\5\7\4\2\u00e6\u00e8\3\2\2\2\u00e7"+ + "\u00e0\3\2\2\2\u00e7\u00e8\3\2\2\2\u00e8\f\3\2\2\2\u00e9\u00ea\7\62\2"+ + "\2\u00ea\u00eb\7z\2\2\u00eb\u00ed\3\2\2\2\u00ec\u00ee\5\t\5\2\u00ed\u00ec"+ + "\3\2\2\2\u00ee\u00ef\3\2\2\2\u00ef\u00ed\3\2\2\2\u00ef\u00f0\3\2\2\2\u00f0"+ + "\u00fb\3\2\2\2\u00f1\u00f2\7Z\2\2\u00f2\u00f4\5\u008fH\2\u00f3\u00f5\5"+ + "\t\5\2\u00f4\u00f3\3\2\2\2\u00f5\u00f6\3\2\2\2\u00f6\u00f4\3\2\2\2\u00f6"+ + "\u00f7\3\2\2\2\u00f7\u00f8\3\2\2\2\u00f8\u00f9\5\u008fH\2\u00f9\u00fb"+ + "\3\2\2\2\u00fa\u00e9\3\2\2\2\u00fa\u00f1\3\2\2\2\u00fb\16\3\2\2\2\u00fc"+ + "\u00fd\7\62\2\2\u00fd\u00fe\7d\2\2\u00fe\u0100\3\2\2\2\u00ff\u0101\4\62"+ + "\63\2\u0100\u00ff\3\2\2\2\u0101\u0102\3\2\2\2\u0102\u0100\3\2\2\2\u0102"+ + "\u0103\3\2\2\2\u0103\u010e\3\2\2\2\u0104\u0105\5\25\13\2\u0105\u0107\5"+ + "\u008fH\2\u0106\u0108\4\62\63\2\u0107\u0106\3\2\2\2\u0108\u0109\3\2\2"+ + "\2\u0109\u0107\3\2\2\2\u0109\u010a\3\2\2\2\u010a\u010b\3\2\2\2\u010b\u010c"+ + "\5\u008fH\2\u010c\u010e\3\2\2\2\u010d\u00fc\3\2\2\2\u010d\u0104\3\2\2"+ + "\2\u010e\20\3\2\2\2\u010f\u0110\7F\2\2\u0110\u0111\7Q\2\2\u0111\u0112"+ + "\7\"\2\2\u0112\u0113\7P\2\2\u0113\u0114\7Q\2\2\u0114\u0115\7V\2\2\u0115"+ + "\u0116\7\"\2\2\u0116\u0117\7O\2\2\u0117\u0118\7C\2\2\u0118\u0119\7V\2"+ + "\2\u0119\u011a\7E\2\2\u011a\u011b\7J\2\2\u011b\u011c\7\"\2\2\u011c\u011d"+ + "\7C\2\2\u011d\u011e\7P\2\2\u011e\u011f\7[\2\2\u011f\u0120\7\"\2\2\u0120"+ + "\u0121\7V\2\2\u0121\u0122\7J\2\2\u0122\u0123\7K\2\2\u0123\u0124\7P\2\2"+ + "\u0124\u0125\7I\2\2\u0125\u0126\7.\2\2\u0126\u0127\7\"\2\2\u0127\u0128"+ + "\7L\2\2\u0128\u0129\7W\2\2\u0129\u012a\7U\2\2\u012a\u012b\7V\2\2\u012b"+ + "\u012c\7\"\2\2\u012c\u012d\7H\2\2\u012d\u012e\7Q\2\2\u012e\u012f\7T\2"+ + "\2\u012f\u0130\7\"\2\2\u0130\u0131\7I\2\2\u0131\u0132\7G\2\2\u0132\u0133"+ + "\7P\2\2\u0133\u0134\7G\2\2\u0134\u0135\7T\2\2\u0135\u0136\7C\2\2\u0136"+ + "\u0137\7V\2\2\u0137\u0138\7Q\2\2\u0138\u0139\7T\2\2\u0139\22\3\2\2\2\u013a"+ + "\u013b\t\t\2\2\u013b\24\3\2\2\2\u013c\u013d\t\n\2\2\u013d\26\3\2\2\2\u013e"+ + "\u013f\t\13\2\2\u013f\30\3\2\2\2\u0140\u0141\t\f\2\2\u0141\32\3\2\2\2"+ + "\u0142\u0143\t\r\2\2\u0143\34\3\2\2\2\u0144\u0145\t\16\2\2\u0145\36\3"+ + "\2\2\2\u0146\u0147\t\17\2\2\u0147 \3\2\2\2\u0148\u0149\t\20\2\2\u0149"+ + "\"\3\2\2\2\u014a\u014b\t\21\2\2\u014b$\3\2\2\2\u014c\u014d\t\22\2\2\u014d"+ + "&\3\2\2\2\u014e\u014f\t\23\2\2\u014f(\3\2\2\2\u0150\u0151\t\24\2\2\u0151"+ + "*\3\2\2\2\u0152\u0153\t\25\2\2\u0153,\3\2\2\2\u0154\u0155\t\26\2\2\u0155"+ + ".\3\2\2\2\u0156\u0157\t\27\2\2\u0157\60\3\2\2\2\u0158\u0159\t\30\2\2\u0159"+ + "\62\3\2\2\2\u015a\u015b\t\31\2\2\u015b\64\3\2\2\2\u015c\u015d\t\32\2\2"+ + "\u015d\66\3\2\2\2\u015e\u015f\t\33\2\2\u015f8\3\2\2\2\u0160\u0161\t\34"+ + "\2\2\u0161:\3\2\2\2\u0162\u0163\t\35\2\2\u0163<\3\2\2\2\u0164\u0165\t"+ + "\36\2\2\u0165>\3\2\2\2\u0166\u0167\t\37\2\2\u0167@\3\2\2\2\u0168\u0169"+ + "\t \2\2\u0169B\3\2\2\2\u016a\u016b\t!\2\2\u016bD\3\2\2\2\u016c\u016d\t"+ + "\"\2\2\u016dF\3\2\2\2\u016e\u016f\7a\2\2\u016fH\3\2\2\2\u0170\u0171\7"+ + "(\2\2\u0171\u0172\7(\2\2\u0172J\3\2\2\2\u0173\u0174\7~\2\2\u0174\u0175"+ + "\7~\2\2\u0175L\3\2\2\2\u0176\u0177\7#\2\2\u0177N\3\2\2\2\u0178\u0179\7"+ + "\u0080\2\2\u0179P\3\2\2\2\u017a\u017b\7~\2\2\u017bR\3\2\2\2\u017c\u017d"+ + "\7(\2\2\u017dT\3\2\2\2\u017e\u017f\7>\2\2\u017f\u0180\7>\2\2\u0180V\3"+ + "\2\2\2\u0181\u0182\7@\2\2\u0182\u0183\7@\2\2\u0183X\3\2\2\2\u0184\u0185"+ + "\7`\2\2\u0185Z\3\2\2\2\u0186\u0187\7\'\2\2\u0187\\\3\2\2\2\u0188\u0189"+ + "\7<\2\2\u0189^\3\2\2\2\u018a\u018b\7-\2\2\u018b`\3\2\2\2\u018c\u018d\7"+ + "/\2\2\u018db\3\2\2\2\u018e\u018f\7,\2\2\u018fd\3\2\2\2\u0190\u0191\7\61"+ + "\2\2\u0191f\3\2\2\2\u0192\u0193\7^\2\2\u0193h\3\2\2\2\u0194\u0195\7\60"+ + "\2\2\u0195j\3\2\2\2\u0196\u0197\7\60\2\2\u0197\u0198\7,\2\2\u0198l\3\2"+ + "\2\2\u0199\u019a\7>\2\2\u019a\u019b\7?\2\2\u019b\u019c\7@\2\2\u019cn\3"+ + "\2\2\2\u019d\u019e\7?\2\2\u019e\u019f\7?\2\2\u019fp\3\2\2\2\u01a0\u01a1"+ + "\7?\2\2\u01a1r\3\2\2\2\u01a2\u01a3\7>\2\2\u01a3\u01a7\7@\2\2\u01a4\u01a5"+ + "\7#\2\2\u01a5\u01a7\7?\2\2\u01a6\u01a2\3\2\2\2\u01a6\u01a4\3\2\2\2\u01a7"+ + "t\3\2\2\2\u01a8\u01a9\7@\2\2\u01a9v\3\2\2\2\u01aa\u01ab\7@\2\2\u01ab\u01ac"+ + "\7?\2\2\u01acx\3\2\2\2\u01ad\u01ae\7>\2\2\u01aez\3\2\2\2\u01af\u01b0\7"+ + ">\2\2\u01b0\u01b1\7?\2\2\u01b1|\3\2\2\2\u01b2\u01b3\7%\2\2\u01b3~\3\2"+ + "\2\2\u01b4\u01b5\7*\2\2\u01b5\u0080\3\2\2\2\u01b6\u01b7\7+\2\2\u01b7\u0082"+ + "\3\2\2\2\u01b8\u01b9\7}\2\2\u01b9\u0084\3\2\2\2\u01ba\u01bb\7\177\2\2"+ + "\u01bb\u0086\3\2\2\2\u01bc\u01bd\7]\2\2\u01bd\u0088\3\2\2\2\u01be\u01bf"+ + "\7_\2\2\u01bf\u008a\3\2\2\2\u01c0\u01c1\7.\2\2\u01c1\u008c\3\2\2\2\u01c2"+ + "\u01c3\7$\2\2\u01c3\u008e\3\2\2\2\u01c4\u01c5\7)\2\2\u01c5\u0090\3\2\2"+ + "\2\u01c6\u01c7\7b\2\2\u01c7\u0092\3\2\2\2\u01c8\u01c9\7A\2\2\u01c9\u0094"+ + "\3\2\2\2\u01ca\u01cb\7B\2\2\u01cb\u0096\3\2\2\2\u01cc\u01cd\7=\2\2\u01cd"+ + "\u0098\3\2\2\2\u01ce\u01cf\7/\2\2\u01cf\u01d0\7@\2\2\u01d0\u01d1\7@\2"+ + "\2\u01d1\u009a\3\2\2\2\31\2\u009e\u00a4\u00a9\u00b0\u00b4\u00bc\u00be"+ + "\u00c9\u00cb\u00d0\u00d5\u00da\u00dd\u00e3\u00e7\u00ef\u00f6\u00fa\u0102"+ + "\u0109\u010d\u01a6\2"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Literals.tokens b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Literals.tokens new file mode 100644 index 00000000..d01c01fa --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Literals.tokens @@ -0,0 +1,90 @@ +IDENTIFIER_=1 +STRING_=2 +INT_=3 +HEX_=4 +NUMBER_=5 +HEXDIGIT_=6 +BITNUM_=7 +FOR_GENERATOR=8 +AND_=9 +OR_=10 +NOT_=11 +TILDE_=12 +VERTICALBAR_=13 +AMPERSAND_=14 +SIGNEDLEFTSHIFT_=15 +SIGNEDRIGHTSHIFT_=16 +CARET_=17 +MOD_=18 +COLON_=19 +PLUS_=20 +MINUS_=21 +ASTERISK_=22 +SLASH_=23 +BACKSLASH_=24 +DOT_=25 +DOTASTERISK_=26 +SAFEEQ_=27 +DEQ_=28 +EQ_=29 +NEQ_=30 +GT_=31 +GTE_=32 +LT_=33 +LTE_=34 +POUND_=35 +LP_=36 +RP_=37 +LBE_=38 +RBE_=39 +LBT_=40 +RBT_=41 +COMMA_=42 +DQ_=43 +SQ_=44 +BQ_=45 +QUESTION_=46 +AT_=47 +SEMI_=48 +JSONSEPARATOR_=49 +'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=8 +'&&'=9 +'||'=10 +'!'=11 +'~'=12 +'|'=13 +'&'=14 +'<<'=15 +'>>'=16 +'^'=17 +'%'=18 +':'=19 +'+'=20 +'-'=21 +'*'=22 +'/'=23 +'\\'=24 +'.'=25 +'.*'=26 +'<=>'=27 +'=='=28 +'='=29 +'>'=31 +'>='=32 +'<'=33 +'<='=34 +'#'=35 +'('=36 +')'=37 +'{'=38 +'}'=39 +'['=40 +']'=41 +','=42 +'"'=43 +'\''=44 +'`'=45 +'?'=46 +'@'=47 +';'=48 +'->>'=49 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatement.interp b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatement.interp new file mode 100644 index 00000000..123de029 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatement.interp @@ -0,0 +1,197 @@ +token literal names: +null +'&&' +'||' +'!' +'~' +'|' +'&' +'<<' +'>>' +'^' +'%' +':' +'+' +'-' +'*' +'/' +'\\' +'.' +'.*' +'<=>' +'==' +'=' +null +'>' +'>=' +'<' +'<=' +'#' +'(' +')' +'{' +'}' +'[' +']' +',' +'"' +'\'' +'`' +'?' +'@' +';' +'->>' +'_' +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +'DO NOT MATCH ANY THING, JUST FOR GENERATOR' +null +null +null +null +null +null +null + +token symbolic names: +null +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ +WS +TRUE +FALSE +CREATE +ALTER +DROP +SHOW +RULE +FROM +MASK +TYPE +NAME +PROPERTIES +COLUMN +RULES +TABLE +COLUMNS +IF +EXISTS +COUNT +NOT +MD5 +KEEP_FIRST_N_LAST_M +KEEP_FROM_X_TO_Y +MASK_FIRST_N_LAST_M +MASK_FROM_X_TO_Y +MASK_BEFORE_SPECIAL_CHARS +MASK_AFTER_SPECIAL_CHARS +PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE +MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE +LANDLINE_NUMBER_RANDOM_REPLACE +TELEPHONE_RANDOM_REPLACE +UNIFIED_CREDIT_CODE_RANDOM_REPLACE +GENERIC_TABLE_RANDOM_REPLACE +ADDRESS_RANDOM_REPLACE +FOR_GENERATOR +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ + +rule names: +createMaskRule +alterMaskRule +dropMaskRule +maskRuleDefinition +columnDefinition +columnName +ifExists +ifNotExists +literal +algorithmDefinition +algorithmTypeName +buildInMaskAlgorithmType +propertiesDefinition +properties +property +ruleName + + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 87, 162, 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, 3, 2, 3, 2, 3, 2, 5, 2, 38, 10, 2, 3, 2, 3, 2, 5, 2, 42, 10, 2, 3, 2, 3, 2, 3, 2, 7, 2, 47, 10, 2, 12, 2, 14, 2, 50, 11, 2, 3, 3, 3, 3, 3, 3, 5, 3, 55, 10, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 61, 10, 3, 12, 3, 14, 3, 64, 11, 3, 3, 4, 3, 4, 3, 4, 5, 4, 69, 10, 4, 3, 4, 3, 4, 5, 4, 73, 10, 4, 3, 4, 3, 4, 3, 4, 7, 4, 78, 10, 4, 12, 4, 14, 4, 81, 11, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 7, 5, 90, 10, 5, 12, 5, 14, 5, 93, 11, 5, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 5, 10, 117, 10, 10, 3, 10, 3, 10, 3, 10, 5, 10, 122, 10, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 5, 11, 131, 10, 11, 3, 11, 3, 11, 3, 12, 3, 12, 5, 12, 137, 10, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 5, 14, 144, 10, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 7, 15, 151, 10, 15, 12, 15, 14, 15, 154, 11, 15, 3, 16, 3, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 2, 2, 18, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 2, 3, 3, 2, 66, 78, 2, 162, 2, 34, 3, 2, 2, 2, 4, 51, 3, 2, 2, 2, 6, 65, 3, 2, 2, 2, 8, 82, 3, 2, 2, 2, 10, 97, 3, 2, 2, 2, 12, 105, 3, 2, 2, 2, 14, 107, 3, 2, 2, 2, 16, 110, 3, 2, 2, 2, 18, 121, 3, 2, 2, 2, 20, 123, 3, 2, 2, 2, 22, 136, 3, 2, 2, 2, 24, 138, 3, 2, 2, 2, 26, 140, 3, 2, 2, 2, 28, 147, 3, 2, 2, 2, 30, 155, 3, 2, 2, 2, 32, 159, 3, 2, 2, 2, 34, 35, 7, 48, 2, 2, 35, 37, 7, 54, 2, 2, 36, 38, 7, 60, 2, 2, 37, 36, 3, 2, 2, 2, 37, 38, 3, 2, 2, 2, 38, 39, 3, 2, 2, 2, 39, 41, 7, 52, 2, 2, 40, 42, 5, 16, 9, 2, 41, 40, 3, 2, 2, 2, 41, 42, 3, 2, 2, 2, 42, 43, 3, 2, 2, 2, 43, 48, 5, 8, 5, 2, 44, 45, 7, 36, 2, 2, 45, 47, 5, 8, 5, 2, 46, 44, 3, 2, 2, 2, 47, 50, 3, 2, 2, 2, 48, 46, 3, 2, 2, 2, 48, 49, 3, 2, 2, 2, 49, 3, 3, 2, 2, 2, 50, 48, 3, 2, 2, 2, 51, 52, 7, 49, 2, 2, 52, 54, 7, 54, 2, 2, 53, 55, 7, 60, 2, 2, 54, 53, 3, 2, 2, 2, 54, 55, 3, 2, 2, 2, 55, 56, 3, 2, 2, 2, 56, 57, 7, 52, 2, 2, 57, 62, 5, 8, 5, 2, 58, 59, 7, 36, 2, 2, 59, 61, 5, 8, 5, 2, 60, 58, 3, 2, 2, 2, 61, 64, 3, 2, 2, 2, 62, 60, 3, 2, 2, 2, 62, 63, 3, 2, 2, 2, 63, 5, 3, 2, 2, 2, 64, 62, 3, 2, 2, 2, 65, 66, 7, 50, 2, 2, 66, 68, 7, 54, 2, 2, 67, 69, 7, 60, 2, 2, 68, 67, 3, 2, 2, 2, 68, 69, 3, 2, 2, 2, 69, 70, 3, 2, 2, 2, 70, 72, 7, 52, 2, 2, 71, 73, 5, 14, 8, 2, 72, 71, 3, 2, 2, 2, 72, 73, 3, 2, 2, 2, 73, 74, 3, 2, 2, 2, 74, 79, 5, 32, 17, 2, 75, 76, 7, 36, 2, 2, 76, 78, 5, 32, 17, 2, 77, 75, 3, 2, 2, 2, 78, 81, 3, 2, 2, 2, 79, 77, 3, 2, 2, 2, 79, 80, 3, 2, 2, 2, 80, 7, 3, 2, 2, 2, 81, 79, 3, 2, 2, 2, 82, 83, 5, 32, 17, 2, 83, 84, 7, 30, 2, 2, 84, 85, 7, 61, 2, 2, 85, 86, 7, 30, 2, 2, 86, 91, 5, 10, 6, 2, 87, 88, 7, 36, 2, 2, 88, 90, 5, 10, 6, 2, 89, 87, 3, 2, 2, 2, 90, 93, 3, 2, 2, 2, 91, 89, 3, 2, 2, 2, 91, 92, 3, 2, 2, 2, 92, 94, 3, 2, 2, 2, 93, 91, 3, 2, 2, 2, 94, 95, 7, 31, 2, 2, 95, 96, 7, 31, 2, 2, 96, 9, 3, 2, 2, 2, 97, 98, 7, 30, 2, 2, 98, 99, 7, 56, 2, 2, 99, 100, 7, 23, 2, 2, 100, 101, 5, 12, 7, 2, 101, 102, 7, 36, 2, 2, 102, 103, 5, 20, 11, 2, 103, 104, 7, 31, 2, 2, 104, 11, 3, 2, 2, 2, 105, 106, 7, 81, 2, 2, 106, 13, 3, 2, 2, 2, 107, 108, 7, 62, 2, 2, 108, 109, 7, 63, 2, 2, 109, 15, 3, 2, 2, 2, 110, 111, 7, 62, 2, 2, 111, 112, 7, 65, 2, 2, 112, 113, 7, 63, 2, 2, 113, 17, 3, 2, 2, 2, 114, 122, 7, 82, 2, 2, 115, 117, 7, 15, 2, 2, 116, 115, 3, 2, 2, 2, 116, 117, 3, 2, 2, 2, 117, 118, 3, 2, 2, 2, 118, 122, 7, 83, 2, 2, 119, 122, 7, 46, 2, 2, 120, 122, 7, 47, 2, 2, 121, 114, 3, 2, 2, 2, 121, 116, 3, 2, 2, 2, 121, 119, 3, 2, 2, 2, 121, 120, 3, 2, 2, 2, 122, 19, 3, 2, 2, 2, 123, 124, 7, 55, 2, 2, 124, 125, 7, 30, 2, 2, 125, 126, 7, 56, 2, 2, 126, 127, 7, 23, 2, 2, 127, 130, 5, 22, 12, 2, 128, 129, 7, 36, 2, 2, 129, 131, 5, 26, 14, 2, 130, 128, 3, 2, 2, 2, 130, 131, 3, 2, 2, 2, 131, 132, 3, 2, 2, 2, 132, 133, 7, 31, 2, 2, 133, 21, 3, 2, 2, 2, 134, 137, 7, 82, 2, 2, 135, 137, 5, 24, 13, 2, 136, 134, 3, 2, 2, 2, 136, 135, 3, 2, 2, 2, 137, 23, 3, 2, 2, 2, 138, 139, 9, 2, 2, 2, 139, 25, 3, 2, 2, 2, 140, 141, 7, 57, 2, 2, 141, 143, 7, 30, 2, 2, 142, 144, 5, 28, 15, 2, 143, 142, 3, 2, 2, 2, 143, 144, 3, 2, 2, 2, 144, 145, 3, 2, 2, 2, 145, 146, 7, 31, 2, 2, 146, 27, 3, 2, 2, 2, 147, 152, 5, 30, 16, 2, 148, 149, 7, 36, 2, 2, 149, 151, 5, 30, 16, 2, 150, 148, 3, 2, 2, 2, 151, 154, 3, 2, 2, 2, 152, 150, 3, 2, 2, 2, 152, 153, 3, 2, 2, 2, 153, 29, 3, 2, 2, 2, 154, 152, 3, 2, 2, 2, 155, 156, 7, 82, 2, 2, 156, 157, 7, 23, 2, 2, 157, 158, 5, 18, 10, 2, 158, 31, 3, 2, 2, 2, 159, 160, 7, 81, 2, 2, 160, 33, 3, 2, 2, 2, 17, 37, 41, 48, 54, 62, 68, 72, 79, 91, 116, 121, 130, 136, 143, 152] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatement.tokens b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatement.tokens new file mode 100644 index 00000000..8f82b7ee --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatement.tokens @@ -0,0 +1,127 @@ +AND_=1 +OR_=2 +NOT_=3 +TILDE_=4 +VERTICALBAR_=5 +AMPERSAND_=6 +SIGNEDLEFTSHIFT_=7 +SIGNEDRIGHTSHIFT_=8 +CARET_=9 +MOD_=10 +COLON_=11 +PLUS_=12 +MINUS_=13 +ASTERISK_=14 +SLASH_=15 +BACKSLASH_=16 +DOT_=17 +DOTASTERISK_=18 +SAFEEQ_=19 +DEQ_=20 +EQ_=21 +NEQ_=22 +GT_=23 +GTE_=24 +LT_=25 +LTE_=26 +POUND_=27 +LP_=28 +RP_=29 +LBE_=30 +RBE_=31 +LBT_=32 +RBT_=33 +COMMA_=34 +DQ_=35 +SQ_=36 +BQ_=37 +QUESTION_=38 +AT_=39 +SEMI_=40 +JSONSEPARATOR_=41 +UL_=42 +WS=43 +TRUE=44 +FALSE=45 +CREATE=46 +ALTER=47 +DROP=48 +SHOW=49 +RULE=50 +FROM=51 +MASK=52 +TYPE=53 +NAME=54 +PROPERTIES=55 +COLUMN=56 +RULES=57 +TABLE=58 +COLUMNS=59 +IF=60 +EXISTS=61 +COUNT=62 +NOT=63 +MD5=64 +KEEP_FIRST_N_LAST_M=65 +KEEP_FROM_X_TO_Y=66 +MASK_FIRST_N_LAST_M=67 +MASK_FROM_X_TO_Y=68 +MASK_BEFORE_SPECIAL_CHARS=69 +MASK_AFTER_SPECIAL_CHARS=70 +PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE=71 +MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE=72 +LANDLINE_NUMBER_RANDOM_REPLACE=73 +TELEPHONE_RANDOM_REPLACE=74 +UNIFIED_CREDIT_CODE_RANDOM_REPLACE=75 +GENERIC_TABLE_RANDOM_REPLACE=76 +ADDRESS_RANDOM_REPLACE=77 +FOR_GENERATOR=78 +IDENTIFIER_=79 +STRING_=80 +INT_=81 +HEX_=82 +NUMBER_=83 +HEXDIGIT_=84 +BITNUM_=85 +'&&'=1 +'||'=2 +'!'=3 +'~'=4 +'|'=5 +'&'=6 +'<<'=7 +'>>'=8 +'^'=9 +'%'=10 +':'=11 +'+'=12 +'-'=13 +'*'=14 +'/'=15 +'\\'=16 +'.'=17 +'.*'=18 +'<=>'=19 +'=='=20 +'='=21 +'>'=23 +'>='=24 +'<'=25 +'<='=26 +'#'=27 +'('=28 +')'=29 +'{'=30 +'}'=31 +'['=32 +']'=33 +','=34 +'"'=35 +'\''=36 +'`'=37 +'?'=38 +'@'=39 +';'=40 +'->>'=41 +'_'=42 +'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=78 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementLexer.interp b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementLexer.interp new file mode 100644 index 00000000..925a75d6 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementLexer.interp @@ -0,0 +1,298 @@ +token literal names: +null +'&&' +'||' +'!' +'~' +'|' +'&' +'<<' +'>>' +'^' +'%' +':' +'+' +'-' +'*' +'/' +'\\' +'.' +'.*' +'<=>' +'==' +'=' +null +'>' +'>=' +'<' +'<=' +'#' +'(' +')' +'{' +'}' +'[' +']' +',' +'"' +'\'' +'`' +'?' +'@' +';' +'->>' +'_' +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +'DO NOT MATCH ANY THING, JUST FOR GENERATOR' +null +null +null +null +null +null +null + +token symbolic names: +null +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ +WS +TRUE +FALSE +CREATE +ALTER +DROP +SHOW +RULE +FROM +MASK +TYPE +NAME +PROPERTIES +COLUMN +RULES +TABLE +COLUMNS +IF +EXISTS +COUNT +NOT +MD5 +KEEP_FIRST_N_LAST_M +KEEP_FROM_X_TO_Y +MASK_FIRST_N_LAST_M +MASK_FROM_X_TO_Y +MASK_BEFORE_SPECIAL_CHARS +MASK_AFTER_SPECIAL_CHARS +PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE +MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE +LANDLINE_NUMBER_RANDOM_REPLACE +TELEPHONE_RANDOM_REPLACE +UNIFIED_CREDIT_CODE_RANDOM_REPLACE +GENERIC_TABLE_RANDOM_REPLACE +ADDRESS_RANDOM_REPLACE +FOR_GENERATOR +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ + +rule names: +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ +WS +TRUE +FALSE +CREATE +ALTER +DROP +SHOW +RULE +FROM +MASK +TYPE +NAME +PROPERTIES +COLUMN +RULES +TABLE +COLUMNS +IF +EXISTS +COUNT +NOT +MD5 +KEEP_FIRST_N_LAST_M +KEEP_FROM_X_TO_Y +MASK_FIRST_N_LAST_M +MASK_FROM_X_TO_Y +MASK_BEFORE_SPECIAL_CHARS +MASK_AFTER_SPECIAL_CHARS +PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE +MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE +LANDLINE_NUMBER_RANDOM_REPLACE +TELEPHONE_RANDOM_REPLACE +UNIFIED_CREDIT_CODE_RANDOM_REPLACE +GENERIC_TABLE_RANDOM_REPLACE +ADDRESS_RANDOM_REPLACE +FOR_GENERATOR +A +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y +Z +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 87, 1012, 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, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 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, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 280, 10, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 44, 6, 44, 327, 10, 44, 13, 44, 14, 44, 328, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 64, 3, 65, 3, 65, 3, 65, 3, 65, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 80, 3, 80, 3, 81, 3, 81, 3, 82, 3, 82, 3, 83, 3, 83, 3, 84, 3, 84, 3, 85, 3, 85, 3, 86, 3, 86, 3, 87, 3, 87, 3, 88, 3, 88, 3, 89, 3, 89, 3, 90, 3, 90, 3, 91, 3, 91, 3, 92, 3, 92, 3, 93, 3, 93, 3, 94, 3, 94, 3, 95, 3, 95, 3, 96, 3, 96, 3, 97, 3, 97, 3, 98, 3, 98, 3, 99, 3, 99, 3, 100, 3, 100, 3, 101, 3, 101, 3, 102, 3, 102, 3, 103, 3, 103, 3, 104, 3, 104, 3, 105, 3, 105, 3, 106, 7, 106, 898, 10, 106, 12, 106, 14, 106, 901, 11, 106, 3, 106, 6, 106, 904, 10, 106, 13, 106, 14, 106, 905, 3, 106, 7, 106, 909, 10, 106, 12, 106, 14, 106, 912, 11, 106, 3, 106, 3, 106, 6, 106, 916, 10, 106, 13, 106, 14, 106, 917, 3, 106, 3, 106, 5, 106, 922, 10, 106, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 7, 107, 930, 10, 107, 12, 107, 14, 107, 933, 11, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 7, 107, 943, 10, 107, 12, 107, 14, 107, 946, 11, 107, 3, 107, 3, 107, 5, 107, 950, 10, 107, 3, 108, 6, 108, 953, 10, 108, 13, 108, 14, 108, 954, 3, 109, 3, 109, 3, 110, 5, 110, 960, 10, 110, 3, 110, 5, 110, 963, 10, 110, 3, 110, 3, 110, 3, 110, 3, 110, 5, 110, 969, 10, 110, 3, 110, 3, 110, 5, 110, 973, 10, 110, 3, 111, 3, 111, 3, 111, 3, 111, 6, 111, 979, 10, 111, 13, 111, 14, 111, 980, 3, 111, 3, 111, 3, 111, 6, 111, 986, 10, 111, 13, 111, 14, 111, 987, 3, 111, 3, 111, 5, 111, 992, 10, 111, 3, 112, 3, 112, 3, 112, 3, 112, 6, 112, 998, 10, 112, 13, 112, 14, 112, 999, 3, 112, 3, 112, 3, 112, 6, 112, 1005, 10, 112, 13, 112, 14, 112, 1006, 3, 112, 3, 112, 5, 112, 1011, 10, 112, 4, 899, 905, 2, 113, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, 91, 47, 93, 48, 95, 49, 97, 50, 99, 51, 101, 52, 103, 53, 105, 54, 107, 55, 109, 56, 111, 57, 113, 58, 115, 59, 117, 60, 119, 61, 121, 62, 123, 63, 125, 64, 127, 65, 129, 66, 131, 67, 133, 68, 135, 69, 137, 70, 139, 71, 141, 72, 143, 73, 145, 74, 147, 75, 149, 76, 151, 77, 153, 78, 155, 79, 157, 80, 159, 2, 161, 2, 163, 2, 165, 2, 167, 2, 169, 2, 171, 2, 173, 2, 175, 2, 177, 2, 179, 2, 181, 2, 183, 2, 185, 2, 187, 2, 189, 2, 191, 2, 193, 2, 195, 2, 197, 2, 199, 2, 201, 2, 203, 2, 205, 2, 207, 2, 209, 2, 211, 81, 213, 82, 215, 83, 217, 84, 219, 85, 221, 86, 223, 87, 3, 2, 37, 5, 2, 11, 12, 15, 15, 34, 34, 3, 2, 55, 55, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 7, 2, 38, 38, 50, 59, 67, 92, 97, 97, 99, 124, 6, 2, 38, 38, 67, 92, 97, 97, 99, 124, 3, 2, 98, 98, 4, 2, 36, 36, 94, 94, 4, 2, 41, 41, 94, 94, 3, 2, 50, 59, 5, 2, 50, 59, 67, 72, 99, 104, 2, 1011, 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, 211, 3, 2, 2, 2, 2, 213, 3, 2, 2, 2, 2, 215, 3, 2, 2, 2, 2, 217, 3, 2, 2, 2, 2, 219, 3, 2, 2, 2, 2, 221, 3, 2, 2, 2, 2, 223, 3, 2, 2, 2, 3, 225, 3, 2, 2, 2, 5, 228, 3, 2, 2, 2, 7, 231, 3, 2, 2, 2, 9, 233, 3, 2, 2, 2, 11, 235, 3, 2, 2, 2, 13, 237, 3, 2, 2, 2, 15, 239, 3, 2, 2, 2, 17, 242, 3, 2, 2, 2, 19, 245, 3, 2, 2, 2, 21, 247, 3, 2, 2, 2, 23, 249, 3, 2, 2, 2, 25, 251, 3, 2, 2, 2, 27, 253, 3, 2, 2, 2, 29, 255, 3, 2, 2, 2, 31, 257, 3, 2, 2, 2, 33, 259, 3, 2, 2, 2, 35, 261, 3, 2, 2, 2, 37, 263, 3, 2, 2, 2, 39, 266, 3, 2, 2, 2, 41, 270, 3, 2, 2, 2, 43, 273, 3, 2, 2, 2, 45, 279, 3, 2, 2, 2, 47, 281, 3, 2, 2, 2, 49, 283, 3, 2, 2, 2, 51, 286, 3, 2, 2, 2, 53, 288, 3, 2, 2, 2, 55, 291, 3, 2, 2, 2, 57, 293, 3, 2, 2, 2, 59, 295, 3, 2, 2, 2, 61, 297, 3, 2, 2, 2, 63, 299, 3, 2, 2, 2, 65, 301, 3, 2, 2, 2, 67, 303, 3, 2, 2, 2, 69, 305, 3, 2, 2, 2, 71, 307, 3, 2, 2, 2, 73, 309, 3, 2, 2, 2, 75, 311, 3, 2, 2, 2, 77, 313, 3, 2, 2, 2, 79, 315, 3, 2, 2, 2, 81, 317, 3, 2, 2, 2, 83, 319, 3, 2, 2, 2, 85, 323, 3, 2, 2, 2, 87, 326, 3, 2, 2, 2, 89, 332, 3, 2, 2, 2, 91, 337, 3, 2, 2, 2, 93, 343, 3, 2, 2, 2, 95, 350, 3, 2, 2, 2, 97, 356, 3, 2, 2, 2, 99, 361, 3, 2, 2, 2, 101, 366, 3, 2, 2, 2, 103, 371, 3, 2, 2, 2, 105, 376, 3, 2, 2, 2, 107, 381, 3, 2, 2, 2, 109, 386, 3, 2, 2, 2, 111, 391, 3, 2, 2, 2, 113, 402, 3, 2, 2, 2, 115, 409, 3, 2, 2, 2, 117, 415, 3, 2, 2, 2, 119, 421, 3, 2, 2, 2, 121, 429, 3, 2, 2, 2, 123, 432, 3, 2, 2, 2, 125, 439, 3, 2, 2, 2, 127, 445, 3, 2, 2, 2, 129, 449, 3, 2, 2, 2, 131, 453, 3, 2, 2, 2, 133, 473, 3, 2, 2, 2, 135, 490, 3, 2, 2, 2, 137, 510, 3, 2, 2, 2, 139, 527, 3, 2, 2, 2, 141, 553, 3, 2, 2, 2, 143, 578, 3, 2, 2, 2, 145, 618, 3, 2, 2, 2, 147, 658, 3, 2, 2, 2, 149, 689, 3, 2, 2, 2, 151, 714, 3, 2, 2, 2, 153, 749, 3, 2, 2, 2, 155, 778, 3, 2, 2, 2, 157, 801, 3, 2, 2, 2, 159, 844, 3, 2, 2, 2, 161, 846, 3, 2, 2, 2, 163, 848, 3, 2, 2, 2, 165, 850, 3, 2, 2, 2, 167, 852, 3, 2, 2, 2, 169, 854, 3, 2, 2, 2, 171, 856, 3, 2, 2, 2, 173, 858, 3, 2, 2, 2, 175, 860, 3, 2, 2, 2, 177, 862, 3, 2, 2, 2, 179, 864, 3, 2, 2, 2, 181, 866, 3, 2, 2, 2, 183, 868, 3, 2, 2, 2, 185, 870, 3, 2, 2, 2, 187, 872, 3, 2, 2, 2, 189, 874, 3, 2, 2, 2, 191, 876, 3, 2, 2, 2, 193, 878, 3, 2, 2, 2, 195, 880, 3, 2, 2, 2, 197, 882, 3, 2, 2, 2, 199, 884, 3, 2, 2, 2, 201, 886, 3, 2, 2, 2, 203, 888, 3, 2, 2, 2, 205, 890, 3, 2, 2, 2, 207, 892, 3, 2, 2, 2, 209, 894, 3, 2, 2, 2, 211, 921, 3, 2, 2, 2, 213, 949, 3, 2, 2, 2, 215, 952, 3, 2, 2, 2, 217, 956, 3, 2, 2, 2, 219, 959, 3, 2, 2, 2, 221, 991, 3, 2, 2, 2, 223, 1010, 3, 2, 2, 2, 225, 226, 7, 40, 2, 2, 226, 227, 7, 40, 2, 2, 227, 4, 3, 2, 2, 2, 228, 229, 7, 126, 2, 2, 229, 230, 7, 126, 2, 2, 230, 6, 3, 2, 2, 2, 231, 232, 7, 35, 2, 2, 232, 8, 3, 2, 2, 2, 233, 234, 7, 128, 2, 2, 234, 10, 3, 2, 2, 2, 235, 236, 7, 126, 2, 2, 236, 12, 3, 2, 2, 2, 237, 238, 7, 40, 2, 2, 238, 14, 3, 2, 2, 2, 239, 240, 7, 62, 2, 2, 240, 241, 7, 62, 2, 2, 241, 16, 3, 2, 2, 2, 242, 243, 7, 64, 2, 2, 243, 244, 7, 64, 2, 2, 244, 18, 3, 2, 2, 2, 245, 246, 7, 96, 2, 2, 246, 20, 3, 2, 2, 2, 247, 248, 7, 39, 2, 2, 248, 22, 3, 2, 2, 2, 249, 250, 7, 60, 2, 2, 250, 24, 3, 2, 2, 2, 251, 252, 7, 45, 2, 2, 252, 26, 3, 2, 2, 2, 253, 254, 7, 47, 2, 2, 254, 28, 3, 2, 2, 2, 255, 256, 7, 44, 2, 2, 256, 30, 3, 2, 2, 2, 257, 258, 7, 49, 2, 2, 258, 32, 3, 2, 2, 2, 259, 260, 7, 94, 2, 2, 260, 34, 3, 2, 2, 2, 261, 262, 7, 48, 2, 2, 262, 36, 3, 2, 2, 2, 263, 264, 7, 48, 2, 2, 264, 265, 7, 44, 2, 2, 265, 38, 3, 2, 2, 2, 266, 267, 7, 62, 2, 2, 267, 268, 7, 63, 2, 2, 268, 269, 7, 64, 2, 2, 269, 40, 3, 2, 2, 2, 270, 271, 7, 63, 2, 2, 271, 272, 7, 63, 2, 2, 272, 42, 3, 2, 2, 2, 273, 274, 7, 63, 2, 2, 274, 44, 3, 2, 2, 2, 275, 276, 7, 62, 2, 2, 276, 280, 7, 64, 2, 2, 277, 278, 7, 35, 2, 2, 278, 280, 7, 63, 2, 2, 279, 275, 3, 2, 2, 2, 279, 277, 3, 2, 2, 2, 280, 46, 3, 2, 2, 2, 281, 282, 7, 64, 2, 2, 282, 48, 3, 2, 2, 2, 283, 284, 7, 64, 2, 2, 284, 285, 7, 63, 2, 2, 285, 50, 3, 2, 2, 2, 286, 287, 7, 62, 2, 2, 287, 52, 3, 2, 2, 2, 288, 289, 7, 62, 2, 2, 289, 290, 7, 63, 2, 2, 290, 54, 3, 2, 2, 2, 291, 292, 7, 37, 2, 2, 292, 56, 3, 2, 2, 2, 293, 294, 7, 42, 2, 2, 294, 58, 3, 2, 2, 2, 295, 296, 7, 43, 2, 2, 296, 60, 3, 2, 2, 2, 297, 298, 7, 125, 2, 2, 298, 62, 3, 2, 2, 2, 299, 300, 7, 127, 2, 2, 300, 64, 3, 2, 2, 2, 301, 302, 7, 93, 2, 2, 302, 66, 3, 2, 2, 2, 303, 304, 7, 95, 2, 2, 304, 68, 3, 2, 2, 2, 305, 306, 7, 46, 2, 2, 306, 70, 3, 2, 2, 2, 307, 308, 7, 36, 2, 2, 308, 72, 3, 2, 2, 2, 309, 310, 7, 41, 2, 2, 310, 74, 3, 2, 2, 2, 311, 312, 7, 98, 2, 2, 312, 76, 3, 2, 2, 2, 313, 314, 7, 65, 2, 2, 314, 78, 3, 2, 2, 2, 315, 316, 7, 66, 2, 2, 316, 80, 3, 2, 2, 2, 317, 318, 7, 61, 2, 2, 318, 82, 3, 2, 2, 2, 319, 320, 7, 47, 2, 2, 320, 321, 7, 64, 2, 2, 321, 322, 7, 64, 2, 2, 322, 84, 3, 2, 2, 2, 323, 324, 7, 97, 2, 2, 324, 86, 3, 2, 2, 2, 325, 327, 9, 2, 2, 2, 326, 325, 3, 2, 2, 2, 327, 328, 3, 2, 2, 2, 328, 326, 3, 2, 2, 2, 328, 329, 3, 2, 2, 2, 329, 330, 3, 2, 2, 2, 330, 331, 8, 44, 2, 2, 331, 88, 3, 2, 2, 2, 332, 333, 5, 197, 99, 2, 333, 334, 5, 193, 97, 2, 334, 335, 5, 199, 100, 2, 335, 336, 5, 167, 84, 2, 336, 90, 3, 2, 2, 2, 337, 338, 5, 169, 85, 2, 338, 339, 5, 159, 80, 2, 339, 340, 5, 181, 91, 2, 340, 341, 5, 195, 98, 2, 341, 342, 5, 167, 84, 2, 342, 92, 3, 2, 2, 2, 343, 344, 5, 163, 82, 2, 344, 345, 5, 193, 97, 2, 345, 346, 5, 167, 84, 2, 346, 347, 5, 159, 80, 2, 347, 348, 5, 197, 99, 2, 348, 349, 5, 167, 84, 2, 349, 94, 3, 2, 2, 2, 350, 351, 5, 159, 80, 2, 351, 352, 5, 181, 91, 2, 352, 353, 5, 197, 99, 2, 353, 354, 5, 167, 84, 2, 354, 355, 5, 193, 97, 2, 355, 96, 3, 2, 2, 2, 356, 357, 5, 165, 83, 2, 357, 358, 5, 193, 97, 2, 358, 359, 5, 187, 94, 2, 359, 360, 5, 189, 95, 2, 360, 98, 3, 2, 2, 2, 361, 362, 5, 195, 98, 2, 362, 363, 5, 173, 87, 2, 363, 364, 5, 187, 94, 2, 364, 365, 5, 203, 102, 2, 365, 100, 3, 2, 2, 2, 366, 367, 5, 193, 97, 2, 367, 368, 5, 199, 100, 2, 368, 369, 5, 181, 91, 2, 369, 370, 5, 167, 84, 2, 370, 102, 3, 2, 2, 2, 371, 372, 5, 169, 85, 2, 372, 373, 5, 193, 97, 2, 373, 374, 5, 187, 94, 2, 374, 375, 5, 183, 92, 2, 375, 104, 3, 2, 2, 2, 376, 377, 5, 183, 92, 2, 377, 378, 5, 159, 80, 2, 378, 379, 5, 195, 98, 2, 379, 380, 5, 179, 90, 2, 380, 106, 3, 2, 2, 2, 381, 382, 5, 197, 99, 2, 382, 383, 5, 207, 104, 2, 383, 384, 5, 189, 95, 2, 384, 385, 5, 167, 84, 2, 385, 108, 3, 2, 2, 2, 386, 387, 5, 185, 93, 2, 387, 388, 5, 159, 80, 2, 388, 389, 5, 183, 92, 2, 389, 390, 5, 167, 84, 2, 390, 110, 3, 2, 2, 2, 391, 392, 5, 189, 95, 2, 392, 393, 5, 193, 97, 2, 393, 394, 5, 187, 94, 2, 394, 395, 5, 189, 95, 2, 395, 396, 5, 167, 84, 2, 396, 397, 5, 193, 97, 2, 397, 398, 5, 197, 99, 2, 398, 399, 5, 175, 88, 2, 399, 400, 5, 167, 84, 2, 400, 401, 5, 195, 98, 2, 401, 112, 3, 2, 2, 2, 402, 403, 5, 163, 82, 2, 403, 404, 5, 187, 94, 2, 404, 405, 5, 181, 91, 2, 405, 406, 5, 199, 100, 2, 406, 407, 5, 183, 92, 2, 407, 408, 5, 185, 93, 2, 408, 114, 3, 2, 2, 2, 409, 410, 5, 193, 97, 2, 410, 411, 5, 199, 100, 2, 411, 412, 5, 181, 91, 2, 412, 413, 5, 167, 84, 2, 413, 414, 5, 195, 98, 2, 414, 116, 3, 2, 2, 2, 415, 416, 5, 197, 99, 2, 416, 417, 5, 159, 80, 2, 417, 418, 5, 161, 81, 2, 418, 419, 5, 181, 91, 2, 419, 420, 5, 167, 84, 2, 420, 118, 3, 2, 2, 2, 421, 422, 5, 163, 82, 2, 422, 423, 5, 187, 94, 2, 423, 424, 5, 181, 91, 2, 424, 425, 5, 199, 100, 2, 425, 426, 5, 183, 92, 2, 426, 427, 5, 185, 93, 2, 427, 428, 5, 195, 98, 2, 428, 120, 3, 2, 2, 2, 429, 430, 5, 175, 88, 2, 430, 431, 5, 169, 85, 2, 431, 122, 3, 2, 2, 2, 432, 433, 5, 167, 84, 2, 433, 434, 5, 205, 103, 2, 434, 435, 5, 175, 88, 2, 435, 436, 5, 195, 98, 2, 436, 437, 5, 197, 99, 2, 437, 438, 5, 195, 98, 2, 438, 124, 3, 2, 2, 2, 439, 440, 5, 163, 82, 2, 440, 441, 5, 187, 94, 2, 441, 442, 5, 199, 100, 2, 442, 443, 5, 185, 93, 2, 443, 444, 5, 197, 99, 2, 444, 126, 3, 2, 2, 2, 445, 446, 5, 185, 93, 2, 446, 447, 5, 187, 94, 2, 447, 448, 5, 197, 99, 2, 448, 128, 3, 2, 2, 2, 449, 450, 5, 183, 92, 2, 450, 451, 5, 165, 83, 2, 451, 452, 9, 3, 2, 2, 452, 130, 3, 2, 2, 2, 453, 454, 5, 179, 90, 2, 454, 455, 5, 167, 84, 2, 455, 456, 5, 167, 84, 2, 456, 457, 5, 189, 95, 2, 457, 458, 5, 85, 43, 2, 458, 459, 5, 169, 85, 2, 459, 460, 5, 175, 88, 2, 460, 461, 5, 193, 97, 2, 461, 462, 5, 195, 98, 2, 462, 463, 5, 197, 99, 2, 463, 464, 5, 85, 43, 2, 464, 465, 5, 185, 93, 2, 465, 466, 5, 85, 43, 2, 466, 467, 5, 181, 91, 2, 467, 468, 5, 159, 80, 2, 468, 469, 5, 195, 98, 2, 469, 470, 5, 197, 99, 2, 470, 471, 5, 85, 43, 2, 471, 472, 5, 183, 92, 2, 472, 132, 3, 2, 2, 2, 473, 474, 5, 179, 90, 2, 474, 475, 5, 167, 84, 2, 475, 476, 5, 167, 84, 2, 476, 477, 5, 189, 95, 2, 477, 478, 5, 85, 43, 2, 478, 479, 5, 169, 85, 2, 479, 480, 5, 193, 97, 2, 480, 481, 5, 187, 94, 2, 481, 482, 5, 183, 92, 2, 482, 483, 5, 85, 43, 2, 483, 484, 5, 205, 103, 2, 484, 485, 5, 85, 43, 2, 485, 486, 5, 197, 99, 2, 486, 487, 5, 187, 94, 2, 487, 488, 5, 85, 43, 2, 488, 489, 5, 207, 104, 2, 489, 134, 3, 2, 2, 2, 490, 491, 5, 183, 92, 2, 491, 492, 5, 159, 80, 2, 492, 493, 5, 195, 98, 2, 493, 494, 5, 179, 90, 2, 494, 495, 5, 85, 43, 2, 495, 496, 5, 169, 85, 2, 496, 497, 5, 175, 88, 2, 497, 498, 5, 193, 97, 2, 498, 499, 5, 195, 98, 2, 499, 500, 5, 197, 99, 2, 500, 501, 5, 85, 43, 2, 501, 502, 5, 185, 93, 2, 502, 503, 5, 85, 43, 2, 503, 504, 5, 181, 91, 2, 504, 505, 5, 159, 80, 2, 505, 506, 5, 195, 98, 2, 506, 507, 5, 197, 99, 2, 507, 508, 5, 85, 43, 2, 508, 509, 5, 183, 92, 2, 509, 136, 3, 2, 2, 2, 510, 511, 5, 183, 92, 2, 511, 512, 5, 159, 80, 2, 512, 513, 5, 195, 98, 2, 513, 514, 5, 179, 90, 2, 514, 515, 5, 85, 43, 2, 515, 516, 5, 169, 85, 2, 516, 517, 5, 193, 97, 2, 517, 518, 5, 187, 94, 2, 518, 519, 5, 183, 92, 2, 519, 520, 5, 85, 43, 2, 520, 521, 5, 205, 103, 2, 521, 522, 5, 85, 43, 2, 522, 523, 5, 197, 99, 2, 523, 524, 5, 187, 94, 2, 524, 525, 5, 85, 43, 2, 525, 526, 5, 207, 104, 2, 526, 138, 3, 2, 2, 2, 527, 528, 5, 183, 92, 2, 528, 529, 5, 159, 80, 2, 529, 530, 5, 195, 98, 2, 530, 531, 5, 179, 90, 2, 531, 532, 5, 85, 43, 2, 532, 533, 5, 161, 81, 2, 533, 534, 5, 167, 84, 2, 534, 535, 5, 169, 85, 2, 535, 536, 5, 187, 94, 2, 536, 537, 5, 193, 97, 2, 537, 538, 5, 167, 84, 2, 538, 539, 5, 85, 43, 2, 539, 540, 5, 195, 98, 2, 540, 541, 5, 189, 95, 2, 541, 542, 5, 167, 84, 2, 542, 543, 5, 163, 82, 2, 543, 544, 5, 175, 88, 2, 544, 545, 5, 159, 80, 2, 545, 546, 5, 181, 91, 2, 546, 547, 5, 85, 43, 2, 547, 548, 5, 163, 82, 2, 548, 549, 5, 173, 87, 2, 549, 550, 5, 159, 80, 2, 550, 551, 5, 193, 97, 2, 551, 552, 5, 195, 98, 2, 552, 140, 3, 2, 2, 2, 553, 554, 5, 183, 92, 2, 554, 555, 5, 159, 80, 2, 555, 556, 5, 195, 98, 2, 556, 557, 5, 179, 90, 2, 557, 558, 5, 85, 43, 2, 558, 559, 5, 159, 80, 2, 559, 560, 5, 169, 85, 2, 560, 561, 5, 197, 99, 2, 561, 562, 5, 167, 84, 2, 562, 563, 5, 193, 97, 2, 563, 564, 5, 85, 43, 2, 564, 565, 5, 195, 98, 2, 565, 566, 5, 189, 95, 2, 566, 567, 5, 167, 84, 2, 567, 568, 5, 163, 82, 2, 568, 569, 5, 175, 88, 2, 569, 570, 5, 159, 80, 2, 570, 571, 5, 181, 91, 2, 571, 572, 5, 85, 43, 2, 572, 573, 5, 163, 82, 2, 573, 574, 5, 173, 87, 2, 574, 575, 5, 159, 80, 2, 575, 576, 5, 193, 97, 2, 576, 577, 5, 195, 98, 2, 577, 142, 3, 2, 2, 2, 578, 579, 5, 189, 95, 2, 579, 580, 5, 167, 84, 2, 580, 581, 5, 193, 97, 2, 581, 582, 5, 195, 98, 2, 582, 583, 5, 187, 94, 2, 583, 584, 5, 185, 93, 2, 584, 585, 5, 159, 80, 2, 585, 586, 5, 181, 91, 2, 586, 587, 5, 85, 43, 2, 587, 588, 5, 175, 88, 2, 588, 589, 5, 165, 83, 2, 589, 590, 5, 167, 84, 2, 590, 591, 5, 185, 93, 2, 591, 592, 5, 197, 99, 2, 592, 593, 5, 175, 88, 2, 593, 594, 5, 197, 99, 2, 594, 595, 5, 207, 104, 2, 595, 596, 5, 85, 43, 2, 596, 597, 5, 185, 93, 2, 597, 598, 5, 199, 100, 2, 598, 599, 5, 183, 92, 2, 599, 600, 5, 161, 81, 2, 600, 601, 5, 167, 84, 2, 601, 602, 5, 193, 97, 2, 602, 603, 5, 85, 43, 2, 603, 604, 5, 193, 97, 2, 604, 605, 5, 159, 80, 2, 605, 606, 5, 185, 93, 2, 606, 607, 5, 165, 83, 2, 607, 608, 5, 187, 94, 2, 608, 609, 5, 183, 92, 2, 609, 610, 5, 85, 43, 2, 610, 611, 5, 193, 97, 2, 611, 612, 5, 167, 84, 2, 612, 613, 5, 189, 95, 2, 613, 614, 5, 181, 91, 2, 614, 615, 5, 159, 80, 2, 615, 616, 5, 163, 82, 2, 616, 617, 5, 167, 84, 2, 617, 144, 3, 2, 2, 2, 618, 619, 5, 183, 92, 2, 619, 620, 5, 175, 88, 2, 620, 621, 5, 181, 91, 2, 621, 622, 5, 175, 88, 2, 622, 623, 5, 197, 99, 2, 623, 624, 5, 159, 80, 2, 624, 625, 5, 193, 97, 2, 625, 626, 5, 207, 104, 2, 626, 627, 5, 85, 43, 2, 627, 628, 5, 175, 88, 2, 628, 629, 5, 165, 83, 2, 629, 630, 5, 167, 84, 2, 630, 631, 5, 185, 93, 2, 631, 632, 5, 197, 99, 2, 632, 633, 5, 175, 88, 2, 633, 634, 5, 197, 99, 2, 634, 635, 5, 207, 104, 2, 635, 636, 5, 85, 43, 2, 636, 637, 5, 185, 93, 2, 637, 638, 5, 199, 100, 2, 638, 639, 5, 183, 92, 2, 639, 640, 5, 161, 81, 2, 640, 641, 5, 167, 84, 2, 641, 642, 5, 193, 97, 2, 642, 643, 5, 85, 43, 2, 643, 644, 5, 193, 97, 2, 644, 645, 5, 159, 80, 2, 645, 646, 5, 185, 93, 2, 646, 647, 5, 165, 83, 2, 647, 648, 5, 187, 94, 2, 648, 649, 5, 183, 92, 2, 649, 650, 5, 85, 43, 2, 650, 651, 5, 193, 97, 2, 651, 652, 5, 167, 84, 2, 652, 653, 5, 189, 95, 2, 653, 654, 5, 181, 91, 2, 654, 655, 5, 159, 80, 2, 655, 656, 5, 163, 82, 2, 656, 657, 5, 167, 84, 2, 657, 146, 3, 2, 2, 2, 658, 659, 5, 181, 91, 2, 659, 660, 5, 159, 80, 2, 660, 661, 5, 185, 93, 2, 661, 662, 5, 165, 83, 2, 662, 663, 5, 181, 91, 2, 663, 664, 5, 175, 88, 2, 664, 665, 5, 185, 93, 2, 665, 666, 5, 167, 84, 2, 666, 667, 5, 85, 43, 2, 667, 668, 5, 185, 93, 2, 668, 669, 5, 199, 100, 2, 669, 670, 5, 183, 92, 2, 670, 671, 5, 161, 81, 2, 671, 672, 5, 167, 84, 2, 672, 673, 5, 193, 97, 2, 673, 674, 5, 85, 43, 2, 674, 675, 5, 193, 97, 2, 675, 676, 5, 159, 80, 2, 676, 677, 5, 185, 93, 2, 677, 678, 5, 165, 83, 2, 678, 679, 5, 187, 94, 2, 679, 680, 5, 183, 92, 2, 680, 681, 5, 85, 43, 2, 681, 682, 5, 193, 97, 2, 682, 683, 5, 167, 84, 2, 683, 684, 5, 189, 95, 2, 684, 685, 5, 181, 91, 2, 685, 686, 5, 159, 80, 2, 686, 687, 5, 163, 82, 2, 687, 688, 5, 167, 84, 2, 688, 148, 3, 2, 2, 2, 689, 690, 5, 197, 99, 2, 690, 691, 5, 167, 84, 2, 691, 692, 5, 181, 91, 2, 692, 693, 5, 167, 84, 2, 693, 694, 5, 189, 95, 2, 694, 695, 5, 173, 87, 2, 695, 696, 5, 187, 94, 2, 696, 697, 5, 185, 93, 2, 697, 698, 5, 167, 84, 2, 698, 699, 5, 85, 43, 2, 699, 700, 5, 193, 97, 2, 700, 701, 5, 159, 80, 2, 701, 702, 5, 185, 93, 2, 702, 703, 5, 165, 83, 2, 703, 704, 5, 187, 94, 2, 704, 705, 5, 183, 92, 2, 705, 706, 5, 85, 43, 2, 706, 707, 5, 193, 97, 2, 707, 708, 5, 167, 84, 2, 708, 709, 5, 189, 95, 2, 709, 710, 5, 181, 91, 2, 710, 711, 5, 159, 80, 2, 711, 712, 5, 163, 82, 2, 712, 713, 5, 167, 84, 2, 713, 150, 3, 2, 2, 2, 714, 715, 5, 199, 100, 2, 715, 716, 5, 185, 93, 2, 716, 717, 5, 175, 88, 2, 717, 718, 5, 169, 85, 2, 718, 719, 5, 175, 88, 2, 719, 720, 5, 167, 84, 2, 720, 721, 5, 165, 83, 2, 721, 722, 5, 85, 43, 2, 722, 723, 5, 163, 82, 2, 723, 724, 5, 193, 97, 2, 724, 725, 5, 167, 84, 2, 725, 726, 5, 165, 83, 2, 726, 727, 5, 175, 88, 2, 727, 728, 5, 197, 99, 2, 728, 729, 5, 85, 43, 2, 729, 730, 5, 163, 82, 2, 730, 731, 5, 187, 94, 2, 731, 732, 5, 165, 83, 2, 732, 733, 5, 167, 84, 2, 733, 734, 5, 85, 43, 2, 734, 735, 5, 193, 97, 2, 735, 736, 5, 159, 80, 2, 736, 737, 5, 185, 93, 2, 737, 738, 5, 165, 83, 2, 738, 739, 5, 187, 94, 2, 739, 740, 5, 183, 92, 2, 740, 741, 5, 85, 43, 2, 741, 742, 5, 193, 97, 2, 742, 743, 5, 167, 84, 2, 743, 744, 5, 189, 95, 2, 744, 745, 5, 181, 91, 2, 745, 746, 5, 159, 80, 2, 746, 747, 5, 163, 82, 2, 747, 748, 5, 167, 84, 2, 748, 152, 3, 2, 2, 2, 749, 750, 5, 171, 86, 2, 750, 751, 5, 167, 84, 2, 751, 752, 5, 185, 93, 2, 752, 753, 5, 167, 84, 2, 753, 754, 5, 193, 97, 2, 754, 755, 5, 175, 88, 2, 755, 756, 5, 163, 82, 2, 756, 757, 5, 85, 43, 2, 757, 758, 5, 197, 99, 2, 758, 759, 5, 159, 80, 2, 759, 760, 5, 161, 81, 2, 760, 761, 5, 181, 91, 2, 761, 762, 5, 167, 84, 2, 762, 763, 5, 85, 43, 2, 763, 764, 5, 193, 97, 2, 764, 765, 5, 159, 80, 2, 765, 766, 5, 185, 93, 2, 766, 767, 5, 165, 83, 2, 767, 768, 5, 187, 94, 2, 768, 769, 5, 183, 92, 2, 769, 770, 5, 85, 43, 2, 770, 771, 5, 193, 97, 2, 771, 772, 5, 167, 84, 2, 772, 773, 5, 189, 95, 2, 773, 774, 5, 181, 91, 2, 774, 775, 5, 159, 80, 2, 775, 776, 5, 163, 82, 2, 776, 777, 5, 167, 84, 2, 777, 154, 3, 2, 2, 2, 778, 779, 5, 159, 80, 2, 779, 780, 5, 165, 83, 2, 780, 781, 5, 165, 83, 2, 781, 782, 5, 193, 97, 2, 782, 783, 5, 167, 84, 2, 783, 784, 5, 195, 98, 2, 784, 785, 5, 195, 98, 2, 785, 786, 5, 85, 43, 2, 786, 787, 5, 193, 97, 2, 787, 788, 5, 159, 80, 2, 788, 789, 5, 185, 93, 2, 789, 790, 5, 165, 83, 2, 790, 791, 5, 187, 94, 2, 791, 792, 5, 183, 92, 2, 792, 793, 5, 85, 43, 2, 793, 794, 5, 193, 97, 2, 794, 795, 5, 167, 84, 2, 795, 796, 5, 189, 95, 2, 796, 797, 5, 181, 91, 2, 797, 798, 5, 159, 80, 2, 798, 799, 5, 163, 82, 2, 799, 800, 5, 167, 84, 2, 800, 156, 3, 2, 2, 2, 801, 802, 7, 70, 2, 2, 802, 803, 7, 81, 2, 2, 803, 804, 7, 34, 2, 2, 804, 805, 7, 80, 2, 2, 805, 806, 7, 81, 2, 2, 806, 807, 7, 86, 2, 2, 807, 808, 7, 34, 2, 2, 808, 809, 7, 79, 2, 2, 809, 810, 7, 67, 2, 2, 810, 811, 7, 86, 2, 2, 811, 812, 7, 69, 2, 2, 812, 813, 7, 74, 2, 2, 813, 814, 7, 34, 2, 2, 814, 815, 7, 67, 2, 2, 815, 816, 7, 80, 2, 2, 816, 817, 7, 91, 2, 2, 817, 818, 7, 34, 2, 2, 818, 819, 7, 86, 2, 2, 819, 820, 7, 74, 2, 2, 820, 821, 7, 75, 2, 2, 821, 822, 7, 80, 2, 2, 822, 823, 7, 73, 2, 2, 823, 824, 7, 46, 2, 2, 824, 825, 7, 34, 2, 2, 825, 826, 7, 76, 2, 2, 826, 827, 7, 87, 2, 2, 827, 828, 7, 85, 2, 2, 828, 829, 7, 86, 2, 2, 829, 830, 7, 34, 2, 2, 830, 831, 7, 72, 2, 2, 831, 832, 7, 81, 2, 2, 832, 833, 7, 84, 2, 2, 833, 834, 7, 34, 2, 2, 834, 835, 7, 73, 2, 2, 835, 836, 7, 71, 2, 2, 836, 837, 7, 80, 2, 2, 837, 838, 7, 71, 2, 2, 838, 839, 7, 84, 2, 2, 839, 840, 7, 67, 2, 2, 840, 841, 7, 86, 2, 2, 841, 842, 7, 81, 2, 2, 842, 843, 7, 84, 2, 2, 843, 158, 3, 2, 2, 2, 844, 845, 9, 4, 2, 2, 845, 160, 3, 2, 2, 2, 846, 847, 9, 5, 2, 2, 847, 162, 3, 2, 2, 2, 848, 849, 9, 6, 2, 2, 849, 164, 3, 2, 2, 2, 850, 851, 9, 7, 2, 2, 851, 166, 3, 2, 2, 2, 852, 853, 9, 8, 2, 2, 853, 168, 3, 2, 2, 2, 854, 855, 9, 9, 2, 2, 855, 170, 3, 2, 2, 2, 856, 857, 9, 10, 2, 2, 857, 172, 3, 2, 2, 2, 858, 859, 9, 11, 2, 2, 859, 174, 3, 2, 2, 2, 860, 861, 9, 12, 2, 2, 861, 176, 3, 2, 2, 2, 862, 863, 9, 13, 2, 2, 863, 178, 3, 2, 2, 2, 864, 865, 9, 14, 2, 2, 865, 180, 3, 2, 2, 2, 866, 867, 9, 15, 2, 2, 867, 182, 3, 2, 2, 2, 868, 869, 9, 16, 2, 2, 869, 184, 3, 2, 2, 2, 870, 871, 9, 17, 2, 2, 871, 186, 3, 2, 2, 2, 872, 873, 9, 18, 2, 2, 873, 188, 3, 2, 2, 2, 874, 875, 9, 19, 2, 2, 875, 190, 3, 2, 2, 2, 876, 877, 9, 20, 2, 2, 877, 192, 3, 2, 2, 2, 878, 879, 9, 21, 2, 2, 879, 194, 3, 2, 2, 2, 880, 881, 9, 22, 2, 2, 881, 196, 3, 2, 2, 2, 882, 883, 9, 23, 2, 2, 883, 198, 3, 2, 2, 2, 884, 885, 9, 24, 2, 2, 885, 200, 3, 2, 2, 2, 886, 887, 9, 25, 2, 2, 887, 202, 3, 2, 2, 2, 888, 889, 9, 26, 2, 2, 889, 204, 3, 2, 2, 2, 890, 891, 9, 27, 2, 2, 891, 206, 3, 2, 2, 2, 892, 893, 9, 28, 2, 2, 893, 208, 3, 2, 2, 2, 894, 895, 9, 29, 2, 2, 895, 210, 3, 2, 2, 2, 896, 898, 9, 30, 2, 2, 897, 896, 3, 2, 2, 2, 898, 901, 3, 2, 2, 2, 899, 900, 3, 2, 2, 2, 899, 897, 3, 2, 2, 2, 900, 903, 3, 2, 2, 2, 901, 899, 3, 2, 2, 2, 902, 904, 9, 31, 2, 2, 903, 902, 3, 2, 2, 2, 904, 905, 3, 2, 2, 2, 905, 906, 3, 2, 2, 2, 905, 903, 3, 2, 2, 2, 906, 910, 3, 2, 2, 2, 907, 909, 9, 30, 2, 2, 908, 907, 3, 2, 2, 2, 909, 912, 3, 2, 2, 2, 910, 908, 3, 2, 2, 2, 910, 911, 3, 2, 2, 2, 911, 922, 3, 2, 2, 2, 912, 910, 3, 2, 2, 2, 913, 915, 5, 75, 38, 2, 914, 916, 10, 32, 2, 2, 915, 914, 3, 2, 2, 2, 916, 917, 3, 2, 2, 2, 917, 915, 3, 2, 2, 2, 917, 918, 3, 2, 2, 2, 918, 919, 3, 2, 2, 2, 919, 920, 5, 75, 38, 2, 920, 922, 3, 2, 2, 2, 921, 899, 3, 2, 2, 2, 921, 913, 3, 2, 2, 2, 922, 212, 3, 2, 2, 2, 923, 931, 5, 71, 36, 2, 924, 925, 7, 94, 2, 2, 925, 930, 11, 2, 2, 2, 926, 927, 7, 36, 2, 2, 927, 930, 7, 36, 2, 2, 928, 930, 10, 33, 2, 2, 929, 924, 3, 2, 2, 2, 929, 926, 3, 2, 2, 2, 929, 928, 3, 2, 2, 2, 930, 933, 3, 2, 2, 2, 931, 929, 3, 2, 2, 2, 931, 932, 3, 2, 2, 2, 932, 934, 3, 2, 2, 2, 933, 931, 3, 2, 2, 2, 934, 935, 5, 71, 36, 2, 935, 950, 3, 2, 2, 2, 936, 944, 5, 73, 37, 2, 937, 938, 7, 94, 2, 2, 938, 943, 11, 2, 2, 2, 939, 940, 7, 41, 2, 2, 940, 943, 7, 41, 2, 2, 941, 943, 10, 34, 2, 2, 942, 937, 3, 2, 2, 2, 942, 939, 3, 2, 2, 2, 942, 941, 3, 2, 2, 2, 943, 946, 3, 2, 2, 2, 944, 942, 3, 2, 2, 2, 944, 945, 3, 2, 2, 2, 945, 947, 3, 2, 2, 2, 946, 944, 3, 2, 2, 2, 947, 948, 5, 73, 37, 2, 948, 950, 3, 2, 2, 2, 949, 923, 3, 2, 2, 2, 949, 936, 3, 2, 2, 2, 950, 214, 3, 2, 2, 2, 951, 953, 9, 35, 2, 2, 952, 951, 3, 2, 2, 2, 953, 954, 3, 2, 2, 2, 954, 952, 3, 2, 2, 2, 954, 955, 3, 2, 2, 2, 955, 216, 3, 2, 2, 2, 956, 957, 9, 36, 2, 2, 957, 218, 3, 2, 2, 2, 958, 960, 5, 215, 108, 2, 959, 958, 3, 2, 2, 2, 959, 960, 3, 2, 2, 2, 960, 962, 3, 2, 2, 2, 961, 963, 5, 35, 18, 2, 962, 961, 3, 2, 2, 2, 962, 963, 3, 2, 2, 2, 963, 964, 3, 2, 2, 2, 964, 972, 5, 215, 108, 2, 965, 968, 5, 167, 84, 2, 966, 969, 5, 25, 13, 2, 967, 969, 5, 27, 14, 2, 968, 966, 3, 2, 2, 2, 968, 967, 3, 2, 2, 2, 968, 969, 3, 2, 2, 2, 969, 970, 3, 2, 2, 2, 970, 971, 5, 215, 108, 2, 971, 973, 3, 2, 2, 2, 972, 965, 3, 2, 2, 2, 972, 973, 3, 2, 2, 2, 973, 220, 3, 2, 2, 2, 974, 975, 7, 50, 2, 2, 975, 976, 7, 122, 2, 2, 976, 978, 3, 2, 2, 2, 977, 979, 5, 217, 109, 2, 978, 977, 3, 2, 2, 2, 979, 980, 3, 2, 2, 2, 980, 978, 3, 2, 2, 2, 980, 981, 3, 2, 2, 2, 981, 992, 3, 2, 2, 2, 982, 983, 7, 90, 2, 2, 983, 985, 5, 73, 37, 2, 984, 986, 5, 217, 109, 2, 985, 984, 3, 2, 2, 2, 986, 987, 3, 2, 2, 2, 987, 985, 3, 2, 2, 2, 987, 988, 3, 2, 2, 2, 988, 989, 3, 2, 2, 2, 989, 990, 5, 73, 37, 2, 990, 992, 3, 2, 2, 2, 991, 974, 3, 2, 2, 2, 991, 982, 3, 2, 2, 2, 992, 222, 3, 2, 2, 2, 993, 994, 7, 50, 2, 2, 994, 995, 7, 100, 2, 2, 995, 997, 3, 2, 2, 2, 996, 998, 4, 50, 51, 2, 997, 996, 3, 2, 2, 2, 998, 999, 3, 2, 2, 2, 999, 997, 3, 2, 2, 2, 999, 1000, 3, 2, 2, 2, 1000, 1011, 3, 2, 2, 2, 1001, 1002, 5, 161, 81, 2, 1002, 1004, 5, 73, 37, 2, 1003, 1005, 4, 50, 51, 2, 1004, 1003, 3, 2, 2, 2, 1005, 1006, 3, 2, 2, 2, 1006, 1004, 3, 2, 2, 2, 1006, 1007, 3, 2, 2, 2, 1007, 1008, 3, 2, 2, 2, 1008, 1009, 5, 73, 37, 2, 1009, 1011, 3, 2, 2, 2, 1010, 993, 3, 2, 2, 2, 1010, 1001, 3, 2, 2, 2, 1011, 224, 3, 2, 2, 2, 26, 2, 279, 328, 899, 905, 910, 917, 921, 929, 931, 942, 944, 949, 954, 959, 962, 968, 972, 980, 987, 991, 999, 1006, 1010, 3, 8, 2, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementLexer.java b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementLexer.java new file mode 100644 index 00000000..0ad0bbbe --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementLexer.java @@ -0,0 +1,515 @@ +// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/mask/RDLStatement.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.misc.*; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class RDLStatementLexer extends Lexer { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, + SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, + ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, + DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, + LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, + SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, + WS=43, TRUE=44, FALSE=45, CREATE=46, ALTER=47, DROP=48, SHOW=49, RULE=50, + FROM=51, MASK=52, TYPE=53, NAME=54, PROPERTIES=55, COLUMN=56, RULES=57, + TABLE=58, COLUMNS=59, IF=60, EXISTS=61, COUNT=62, NOT=63, MD5=64, KEEP_FIRST_N_LAST_M=65, + KEEP_FROM_X_TO_Y=66, MASK_FIRST_N_LAST_M=67, MASK_FROM_X_TO_Y=68, MASK_BEFORE_SPECIAL_CHARS=69, + MASK_AFTER_SPECIAL_CHARS=70, PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE=71, + MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE=72, LANDLINE_NUMBER_RANDOM_REPLACE=73, + TELEPHONE_RANDOM_REPLACE=74, UNIFIED_CREDIT_CODE_RANDOM_REPLACE=75, GENERIC_TABLE_RANDOM_REPLACE=76, + ADDRESS_RANDOM_REPLACE=77, FOR_GENERATOR=78, IDENTIFIER_=79, STRING_=80, + INT_=81, HEX_=82, NUMBER_=83, HEXDIGIT_=84, BITNUM_=85; + public static String[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + + public static String[] modeNames = { + "DEFAULT_MODE" + }; + + private static String[] makeRuleNames() { + return new String[] { + "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", + "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", + "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", + "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", + "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", + "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", "FALSE", "CREATE", "ALTER", + "DROP", "SHOW", "RULE", "FROM", "MASK", "TYPE", "NAME", "PROPERTIES", + "COLUMN", "RULES", "TABLE", "COLUMNS", "IF", "EXISTS", "COUNT", "NOT", + "MD5", "KEEP_FIRST_N_LAST_M", "KEEP_FROM_X_TO_Y", "MASK_FIRST_N_LAST_M", + "MASK_FROM_X_TO_Y", "MASK_BEFORE_SPECIAL_CHARS", "MASK_AFTER_SPECIAL_CHARS", + "PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE", "MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE", + "LANDLINE_NUMBER_RANDOM_REPLACE", "TELEPHONE_RANDOM_REPLACE", "UNIFIED_CREDIT_CODE_RANDOM_REPLACE", + "GENERIC_TABLE_RANDOM_REPLACE", "ADDRESS_RANDOM_REPLACE", "FOR_GENERATOR", + "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", + "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "IDENTIFIER_", + "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", + "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", + "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", + "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", + "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", + "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", + "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", + "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", + "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", + "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", + "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", "FROM", "MASK", "TYPE", + "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", "COLUMNS", "IF", "EXISTS", + "COUNT", "NOT", "MD5", "KEEP_FIRST_N_LAST_M", "KEEP_FROM_X_TO_Y", "MASK_FIRST_N_LAST_M", + "MASK_FROM_X_TO_Y", "MASK_BEFORE_SPECIAL_CHARS", "MASK_AFTER_SPECIAL_CHARS", + "PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE", "MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE", + "LANDLINE_NUMBER_RANDOM_REPLACE", "TELEPHONE_RANDOM_REPLACE", "UNIFIED_CREDIT_CODE_RANDOM_REPLACE", + "GENERIC_TABLE_RANDOM_REPLACE", "ADDRESS_RANDOM_REPLACE", "FOR_GENERATOR", + "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + + public RDLStatementLexer(CharStream input) { + super(input); + _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + @Override + public String getGrammarFileName() { return "RDLStatement.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public String[] getChannelNames() { return channelNames; } + + @Override + public String[] getModeNames() { return modeNames; } + + @Override + public ATN getATN() { return _ATN; } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2W\u03f4\b\1\4\2\t"+ + "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ + "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ + "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ + "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ + "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ + ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ + "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ + "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+ + "\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+ + "\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+ + "`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\4k\t"+ + "k\4l\tl\4m\tm\4n\tn\4o\to\4p\tp\3\2\3\2\3\2\3\3\3\3\3\3\3\4\3\4\3\5\3"+ + "\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\t\3\t\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3"+ + "\r\3\r\3\16\3\16\3\17\3\17\3\20\3\20\3\21\3\21\3\22\3\22\3\23\3\23\3\23"+ + "\3\24\3\24\3\24\3\24\3\25\3\25\3\25\3\26\3\26\3\27\3\27\3\27\3\27\5\27"+ + "\u0118\n\27\3\30\3\30\3\31\3\31\3\31\3\32\3\32\3\33\3\33\3\33\3\34\3\34"+ + "\3\35\3\35\3\36\3\36\3\37\3\37\3 \3 \3!\3!\3\"\3\"\3#\3#\3$\3$\3%\3%\3"+ + "&\3&\3\'\3\'\3(\3(\3)\3)\3*\3*\3*\3*\3+\3+\3,\6,\u0147\n,\r,\16,\u0148"+ + "\3,\3,\3-\3-\3-\3-\3-\3.\3.\3.\3.\3.\3.\3/\3/\3/\3/\3/\3/\3/\3\60\3\60"+ + "\3\60\3\60\3\60\3\60\3\61\3\61\3\61\3\61\3\61\3\62\3\62\3\62\3\62\3\62"+ + "\3\63\3\63\3\63\3\63\3\63\3\64\3\64\3\64\3\64\3\64\3\65\3\65\3\65\3\65"+ + "\3\65\3\66\3\66\3\66\3\66\3\66\3\67\3\67\3\67\3\67\3\67\38\38\38\38\3"+ + "8\38\38\38\38\38\38\39\39\39\39\39\39\39\3:\3:\3:\3:\3:\3:\3;\3;\3;\3"+ + ";\3;\3;\3<\3<\3<\3<\3<\3<\3<\3<\3=\3=\3=\3>\3>\3>\3>\3>\3>\3>\3?\3?\3"+ + "?\3?\3?\3?\3@\3@\3@\3@\3A\3A\3A\3A\3B\3B\3B\3B\3B\3B\3B\3B\3B\3B\3B\3"+ + "B\3B\3B\3B\3B\3B\3B\3B\3B\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3"+ + "C\3C\3C\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3"+ + "E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3F\3F\3F\3F\3F\3F\3"+ + "F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3G\3G\3G\3"+ + "G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3H\3"+ + "H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3"+ + "H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3I\3I\3I\3I\3I\3I\3I\3"+ + "I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3"+ + "I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3"+ + "J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3K\3K\3K\3K\3K\3"+ + "K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3L\3L\3L\3"+ + "L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3"+ + "L\3L\3L\3L\3L\3L\3L\3L\3L\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3"+ + "M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3N\3N\3N\3N\3N\3N\3N\3N\3"+ + "N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3O\3O\3O\3O\3O\3O\3O\3O\3"+ + "O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3"+ + "O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3P\3P\3Q\3Q\3R\3R\3S\3S\3T\3T\3U\3"+ + "U\3V\3V\3W\3W\3X\3X\3Y\3Y\3Z\3Z\3[\3[\3\\\3\\\3]\3]\3^\3^\3_\3_\3`\3`"+ + "\3a\3a\3b\3b\3c\3c\3d\3d\3e\3e\3f\3f\3g\3g\3h\3h\3i\3i\3j\7j\u0382\nj"+ + "\fj\16j\u0385\13j\3j\6j\u0388\nj\rj\16j\u0389\3j\7j\u038d\nj\fj\16j\u0390"+ + "\13j\3j\3j\6j\u0394\nj\rj\16j\u0395\3j\3j\5j\u039a\nj\3k\3k\3k\3k\3k\3"+ + "k\7k\u03a2\nk\fk\16k\u03a5\13k\3k\3k\3k\3k\3k\3k\3k\3k\7k\u03af\nk\fk"+ + "\16k\u03b2\13k\3k\3k\5k\u03b6\nk\3l\6l\u03b9\nl\rl\16l\u03ba\3m\3m\3n"+ + "\5n\u03c0\nn\3n\5n\u03c3\nn\3n\3n\3n\3n\5n\u03c9\nn\3n\3n\5n\u03cd\nn"+ + "\3o\3o\3o\3o\6o\u03d3\no\ro\16o\u03d4\3o\3o\3o\6o\u03da\no\ro\16o\u03db"+ + "\3o\3o\5o\u03e0\no\3p\3p\3p\3p\6p\u03e6\np\rp\16p\u03e7\3p\3p\3p\6p\u03ed"+ + "\np\rp\16p\u03ee\3p\3p\5p\u03f3\np\4\u0383\u0389\2q\3\3\5\4\7\5\t\6\13"+ + "\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\35\20\37\21!\22#\23%\24\'"+ + "\25)\26+\27-\30/\31\61\32\63\33\65\34\67\359\36;\37= ?!A\"C#E$G%I&K\'"+ + "M(O)Q*S+U,W-Y.[/]\60_\61a\62c\63e\64g\65i\66k\67m8o9q:s;u{?}@\177"+ + "A\u0081B\u0083C\u0085D\u0087E\u0089F\u008bG\u008dH\u008fI\u0091J\u0093"+ + "K\u0095L\u0097M\u0099N\u009bO\u009dP\u009f\2\u00a1\2\u00a3\2\u00a5\2\u00a7"+ + "\2\u00a9\2\u00ab\2\u00ad\2\u00af\2\u00b1\2\u00b3\2\u00b5\2\u00b7\2\u00b9"+ + "\2\u00bb\2\u00bd\2\u00bf\2\u00c1\2\u00c3\2\u00c5\2\u00c7\2\u00c9\2\u00cb"+ + "\2\u00cd\2\u00cf\2\u00d1\2\u00d3Q\u00d5R\u00d7S\u00d9T\u00dbU\u00ddV\u00df"+ + "W\3\2%\5\2\13\f\17\17\"\"\3\2\67\67\4\2CCcc\4\2DDdd\4\2EEee\4\2FFff\4"+ + "\2GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4\2LLll\4\2MMmm\4\2NNnn\4\2OOo"+ + "o\4\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4\2TTtt\4\2UUuu\4\2VVvv\4\2WWww\4\2"+ + "XXxx\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\||\7\2&&\62;C\\aac|\6\2&&C\\aac|\3"+ + "\2bb\4\2$$^^\4\2))^^\3\2\62;\5\2\62;CHch\2\u03f3\2\3\3\2\2\2\2\5\3\2\2"+ + "\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17\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\31\3\2\2\2\2\33\3\2"+ + "\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2\2\2%\3\2\2\2\2\'\3"+ + "\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\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\29\3\2\2\2\2;\3\2\2\2\2=\3\2\2\2\2?\3"+ + "\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2\2I\3\2\2\2\2K\3\2\2"+ + "\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2\2\2\2W\3\2\2\2\2"+ + "Y\3\2\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3\2\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3"+ + "\2\2\2\2g\3\2\2\2\2i\3\2\2\2\2k\3\2\2\2\2m\3\2\2\2\2o\3\2\2\2\2q\3\2\2"+ + "\2\2s\3\2\2\2\2u\3\2\2\2\2w\3\2\2\2\2y\3\2\2\2\2{\3\2\2\2\2}\3\2\2\2\2"+ + "\177\3\2\2\2\2\u0081\3\2\2\2\2\u0083\3\2\2\2\2\u0085\3\2\2\2\2\u0087\3"+ + "\2\2\2\2\u0089\3\2\2\2\2\u008b\3\2\2\2\2\u008d\3\2\2\2\2\u008f\3\2\2\2"+ + "\2\u0091\3\2\2\2\2\u0093\3\2\2\2\2\u0095\3\2\2\2\2\u0097\3\2\2\2\2\u0099"+ + "\3\2\2\2\2\u009b\3\2\2\2\2\u009d\3\2\2\2\2\u00d3\3\2\2\2\2\u00d5\3\2\2"+ + "\2\2\u00d7\3\2\2\2\2\u00d9\3\2\2\2\2\u00db\3\2\2\2\2\u00dd\3\2\2\2\2\u00df"+ + "\3\2\2\2\3\u00e1\3\2\2\2\5\u00e4\3\2\2\2\7\u00e7\3\2\2\2\t\u00e9\3\2\2"+ + "\2\13\u00eb\3\2\2\2\r\u00ed\3\2\2\2\17\u00ef\3\2\2\2\21\u00f2\3\2\2\2"+ + "\23\u00f5\3\2\2\2\25\u00f7\3\2\2\2\27\u00f9\3\2\2\2\31\u00fb\3\2\2\2\33"+ + "\u00fd\3\2\2\2\35\u00ff\3\2\2\2\37\u0101\3\2\2\2!\u0103\3\2\2\2#\u0105"+ + "\3\2\2\2%\u0107\3\2\2\2\'\u010a\3\2\2\2)\u010e\3\2\2\2+\u0111\3\2\2\2"+ + "-\u0117\3\2\2\2/\u0119\3\2\2\2\61\u011b\3\2\2\2\63\u011e\3\2\2\2\65\u0120"+ + "\3\2\2\2\67\u0123\3\2\2\29\u0125\3\2\2\2;\u0127\3\2\2\2=\u0129\3\2\2\2"+ + "?\u012b\3\2\2\2A\u012d\3\2\2\2C\u012f\3\2\2\2E\u0131\3\2\2\2G\u0133\3"+ + "\2\2\2I\u0135\3\2\2\2K\u0137\3\2\2\2M\u0139\3\2\2\2O\u013b\3\2\2\2Q\u013d"+ + "\3\2\2\2S\u013f\3\2\2\2U\u0143\3\2\2\2W\u0146\3\2\2\2Y\u014c\3\2\2\2["+ + "\u0151\3\2\2\2]\u0157\3\2\2\2_\u015e\3\2\2\2a\u0164\3\2\2\2c\u0169\3\2"+ + "\2\2e\u016e\3\2\2\2g\u0173\3\2\2\2i\u0178\3\2\2\2k\u017d\3\2\2\2m\u0182"+ + "\3\2\2\2o\u0187\3\2\2\2q\u0192\3\2\2\2s\u0199\3\2\2\2u\u019f\3\2\2\2w"+ + "\u01a5\3\2\2\2y\u01ad\3\2\2\2{\u01b0\3\2\2\2}\u01b7\3\2\2\2\177\u01bd"+ + "\3\2\2\2\u0081\u01c1\3\2\2\2\u0083\u01c5\3\2\2\2\u0085\u01d9\3\2\2\2\u0087"+ + "\u01ea\3\2\2\2\u0089\u01fe\3\2\2\2\u008b\u020f\3\2\2\2\u008d\u0229\3\2"+ + "\2\2\u008f\u0242\3\2\2\2\u0091\u026a\3\2\2\2\u0093\u0292\3\2\2\2\u0095"+ + "\u02b1\3\2\2\2\u0097\u02ca\3\2\2\2\u0099\u02ed\3\2\2\2\u009b\u030a\3\2"+ + "\2\2\u009d\u0321\3\2\2\2\u009f\u034c\3\2\2\2\u00a1\u034e\3\2\2\2\u00a3"+ + "\u0350\3\2\2\2\u00a5\u0352\3\2\2\2\u00a7\u0354\3\2\2\2\u00a9\u0356\3\2"+ + "\2\2\u00ab\u0358\3\2\2\2\u00ad\u035a\3\2\2\2\u00af\u035c\3\2\2\2\u00b1"+ + "\u035e\3\2\2\2\u00b3\u0360\3\2\2\2\u00b5\u0362\3\2\2\2\u00b7\u0364\3\2"+ + "\2\2\u00b9\u0366\3\2\2\2\u00bb\u0368\3\2\2\2\u00bd\u036a\3\2\2\2\u00bf"+ + "\u036c\3\2\2\2\u00c1\u036e\3\2\2\2\u00c3\u0370\3\2\2\2\u00c5\u0372\3\2"+ + "\2\2\u00c7\u0374\3\2\2\2\u00c9\u0376\3\2\2\2\u00cb\u0378\3\2\2\2\u00cd"+ + "\u037a\3\2\2\2\u00cf\u037c\3\2\2\2\u00d1\u037e\3\2\2\2\u00d3\u0399\3\2"+ + "\2\2\u00d5\u03b5\3\2\2\2\u00d7\u03b8\3\2\2\2\u00d9\u03bc\3\2\2\2\u00db"+ + "\u03bf\3\2\2\2\u00dd\u03df\3\2\2\2\u00df\u03f2\3\2\2\2\u00e1\u00e2\7("+ + "\2\2\u00e2\u00e3\7(\2\2\u00e3\4\3\2\2\2\u00e4\u00e5\7~\2\2\u00e5\u00e6"+ + "\7~\2\2\u00e6\6\3\2\2\2\u00e7\u00e8\7#\2\2\u00e8\b\3\2\2\2\u00e9\u00ea"+ + "\7\u0080\2\2\u00ea\n\3\2\2\2\u00eb\u00ec\7~\2\2\u00ec\f\3\2\2\2\u00ed"+ + "\u00ee\7(\2\2\u00ee\16\3\2\2\2\u00ef\u00f0\7>\2\2\u00f0\u00f1\7>\2\2\u00f1"+ + "\20\3\2\2\2\u00f2\u00f3\7@\2\2\u00f3\u00f4\7@\2\2\u00f4\22\3\2\2\2\u00f5"+ + "\u00f6\7`\2\2\u00f6\24\3\2\2\2\u00f7\u00f8\7\'\2\2\u00f8\26\3\2\2\2\u00f9"+ + "\u00fa\7<\2\2\u00fa\30\3\2\2\2\u00fb\u00fc\7-\2\2\u00fc\32\3\2\2\2\u00fd"+ + "\u00fe\7/\2\2\u00fe\34\3\2\2\2\u00ff\u0100\7,\2\2\u0100\36\3\2\2\2\u0101"+ + "\u0102\7\61\2\2\u0102 \3\2\2\2\u0103\u0104\7^\2\2\u0104\"\3\2\2\2\u0105"+ + "\u0106\7\60\2\2\u0106$\3\2\2\2\u0107\u0108\7\60\2\2\u0108\u0109\7,\2\2"+ + "\u0109&\3\2\2\2\u010a\u010b\7>\2\2\u010b\u010c\7?\2\2\u010c\u010d\7@\2"+ + "\2\u010d(\3\2\2\2\u010e\u010f\7?\2\2\u010f\u0110\7?\2\2\u0110*\3\2\2\2"+ + "\u0111\u0112\7?\2\2\u0112,\3\2\2\2\u0113\u0114\7>\2\2\u0114\u0118\7@\2"+ + "\2\u0115\u0116\7#\2\2\u0116\u0118\7?\2\2\u0117\u0113\3\2\2\2\u0117\u0115"+ + "\3\2\2\2\u0118.\3\2\2\2\u0119\u011a\7@\2\2\u011a\60\3\2\2\2\u011b\u011c"+ + "\7@\2\2\u011c\u011d\7?\2\2\u011d\62\3\2\2\2\u011e\u011f\7>\2\2\u011f\64"+ + "\3\2\2\2\u0120\u0121\7>\2\2\u0121\u0122\7?\2\2\u0122\66\3\2\2\2\u0123"+ + "\u0124\7%\2\2\u01248\3\2\2\2\u0125\u0126\7*\2\2\u0126:\3\2\2\2\u0127\u0128"+ + "\7+\2\2\u0128<\3\2\2\2\u0129\u012a\7}\2\2\u012a>\3\2\2\2\u012b\u012c\7"+ + "\177\2\2\u012c@\3\2\2\2\u012d\u012e\7]\2\2\u012eB\3\2\2\2\u012f\u0130"+ + "\7_\2\2\u0130D\3\2\2\2\u0131\u0132\7.\2\2\u0132F\3\2\2\2\u0133\u0134\7"+ + "$\2\2\u0134H\3\2\2\2\u0135\u0136\7)\2\2\u0136J\3\2\2\2\u0137\u0138\7b"+ + "\2\2\u0138L\3\2\2\2\u0139\u013a\7A\2\2\u013aN\3\2\2\2\u013b\u013c\7B\2"+ + "\2\u013cP\3\2\2\2\u013d\u013e\7=\2\2\u013eR\3\2\2\2\u013f\u0140\7/\2\2"+ + "\u0140\u0141\7@\2\2\u0141\u0142\7@\2\2\u0142T\3\2\2\2\u0143\u0144\7a\2"+ + "\2\u0144V\3\2\2\2\u0145\u0147\t\2\2\2\u0146\u0145\3\2\2\2\u0147\u0148"+ + "\3\2\2\2\u0148\u0146\3\2\2\2\u0148\u0149\3\2\2\2\u0149\u014a\3\2\2\2\u014a"+ + "\u014b\b,\2\2\u014bX\3\2\2\2\u014c\u014d\5\u00c5c\2\u014d\u014e\5\u00c1"+ + "a\2\u014e\u014f\5\u00c7d\2\u014f\u0150\5\u00a7T\2\u0150Z\3\2\2\2\u0151"+ + "\u0152\5\u00a9U\2\u0152\u0153\5\u009fP\2\u0153\u0154\5\u00b5[\2\u0154"+ + "\u0155\5\u00c3b\2\u0155\u0156\5\u00a7T\2\u0156\\\3\2\2\2\u0157\u0158\5"+ + "\u00a3R\2\u0158\u0159\5\u00c1a\2\u0159\u015a\5\u00a7T\2\u015a\u015b\5"+ + "\u009fP\2\u015b\u015c\5\u00c5c\2\u015c\u015d\5\u00a7T\2\u015d^\3\2\2\2"+ + "\u015e\u015f\5\u009fP\2\u015f\u0160\5\u00b5[\2\u0160\u0161\5\u00c5c\2"+ + "\u0161\u0162\5\u00a7T\2\u0162\u0163\5\u00c1a\2\u0163`\3\2\2\2\u0164\u0165"+ + "\5\u00a5S\2\u0165\u0166\5\u00c1a\2\u0166\u0167\5\u00bb^\2\u0167\u0168"+ + "\5\u00bd_\2\u0168b\3\2\2\2\u0169\u016a\5\u00c3b\2\u016a\u016b\5\u00ad"+ + "W\2\u016b\u016c\5\u00bb^\2\u016c\u016d\5\u00cbf\2\u016dd\3\2\2\2\u016e"+ + "\u016f\5\u00c1a\2\u016f\u0170\5\u00c7d\2\u0170\u0171\5\u00b5[\2\u0171"+ + "\u0172\5\u00a7T\2\u0172f\3\2\2\2\u0173\u0174\5\u00a9U\2\u0174\u0175\5"+ + "\u00c1a\2\u0175\u0176\5\u00bb^\2\u0176\u0177\5\u00b7\\\2\u0177h\3\2\2"+ + "\2\u0178\u0179\5\u00b7\\\2\u0179\u017a\5\u009fP\2\u017a\u017b\5\u00c3"+ + "b\2\u017b\u017c\5\u00b3Z\2\u017cj\3\2\2\2\u017d\u017e\5\u00c5c\2\u017e"+ + "\u017f\5\u00cfh\2\u017f\u0180\5\u00bd_\2\u0180\u0181\5\u00a7T\2\u0181"+ + "l\3\2\2\2\u0182\u0183\5\u00b9]\2\u0183\u0184\5\u009fP\2\u0184\u0185\5"+ + "\u00b7\\\2\u0185\u0186\5\u00a7T\2\u0186n\3\2\2\2\u0187\u0188\5\u00bd_"+ + "\2\u0188\u0189\5\u00c1a\2\u0189\u018a\5\u00bb^\2\u018a\u018b\5\u00bd_"+ + "\2\u018b\u018c\5\u00a7T\2\u018c\u018d\5\u00c1a\2\u018d\u018e\5\u00c5c"+ + "\2\u018e\u018f\5\u00afX\2\u018f\u0190\5\u00a7T\2\u0190\u0191\5\u00c3b"+ + "\2\u0191p\3\2\2\2\u0192\u0193\5\u00a3R\2\u0193\u0194\5\u00bb^\2\u0194"+ + "\u0195\5\u00b5[\2\u0195\u0196\5\u00c7d\2\u0196\u0197\5\u00b7\\\2\u0197"+ + "\u0198\5\u00b9]\2\u0198r\3\2\2\2\u0199\u019a\5\u00c1a\2\u019a\u019b\5"+ + "\u00c7d\2\u019b\u019c\5\u00b5[\2\u019c\u019d\5\u00a7T\2\u019d\u019e\5"+ + "\u00c3b\2\u019et\3\2\2\2\u019f\u01a0\5\u00c5c\2\u01a0\u01a1\5\u009fP\2"+ + "\u01a1\u01a2\5\u00a1Q\2\u01a2\u01a3\5\u00b5[\2\u01a3\u01a4\5\u00a7T\2"+ + "\u01a4v\3\2\2\2\u01a5\u01a6\5\u00a3R\2\u01a6\u01a7\5\u00bb^\2\u01a7\u01a8"+ + "\5\u00b5[\2\u01a8\u01a9\5\u00c7d\2\u01a9\u01aa\5\u00b7\\\2\u01aa\u01ab"+ + "\5\u00b9]\2\u01ab\u01ac\5\u00c3b\2\u01acx\3\2\2\2\u01ad\u01ae\5\u00af"+ + "X\2\u01ae\u01af\5\u00a9U\2\u01afz\3\2\2\2\u01b0\u01b1\5\u00a7T\2\u01b1"+ + "\u01b2\5\u00cdg\2\u01b2\u01b3\5\u00afX\2\u01b3\u01b4\5\u00c3b\2\u01b4"+ + "\u01b5\5\u00c5c\2\u01b5\u01b6\5\u00c3b\2\u01b6|\3\2\2\2\u01b7\u01b8\5"+ + "\u00a3R\2\u01b8\u01b9\5\u00bb^\2\u01b9\u01ba\5\u00c7d\2\u01ba\u01bb\5"+ + "\u00b9]\2\u01bb\u01bc\5\u00c5c\2\u01bc~\3\2\2\2\u01bd\u01be\5\u00b9]\2"+ + "\u01be\u01bf\5\u00bb^\2\u01bf\u01c0\5\u00c5c\2\u01c0\u0080\3\2\2\2\u01c1"+ + "\u01c2\5\u00b7\\\2\u01c2\u01c3\5\u00a5S\2\u01c3\u01c4\t\3\2\2\u01c4\u0082"+ + "\3\2\2\2\u01c5\u01c6\5\u00b3Z\2\u01c6\u01c7\5\u00a7T\2\u01c7\u01c8\5\u00a7"+ + "T\2\u01c8\u01c9\5\u00bd_\2\u01c9\u01ca\5U+\2\u01ca\u01cb\5\u00a9U\2\u01cb"+ + "\u01cc\5\u00afX\2\u01cc\u01cd\5\u00c1a\2\u01cd\u01ce\5\u00c3b\2\u01ce"+ + "\u01cf\5\u00c5c\2\u01cf\u01d0\5U+\2\u01d0\u01d1\5\u00b9]\2\u01d1\u01d2"+ + "\5U+\2\u01d2\u01d3\5\u00b5[\2\u01d3\u01d4\5\u009fP\2\u01d4\u01d5\5\u00c3"+ + "b\2\u01d5\u01d6\5\u00c5c\2\u01d6\u01d7\5U+\2\u01d7\u01d8\5\u00b7\\\2\u01d8"+ + "\u0084\3\2\2\2\u01d9\u01da\5\u00b3Z\2\u01da\u01db\5\u00a7T\2\u01db\u01dc"+ + "\5\u00a7T\2\u01dc\u01dd\5\u00bd_\2\u01dd\u01de\5U+\2\u01de\u01df\5\u00a9"+ + "U\2\u01df\u01e0\5\u00c1a\2\u01e0\u01e1\5\u00bb^\2\u01e1\u01e2\5\u00b7"+ + "\\\2\u01e2\u01e3\5U+\2\u01e3\u01e4\5\u00cdg\2\u01e4\u01e5\5U+\2\u01e5"+ + "\u01e6\5\u00c5c\2\u01e6\u01e7\5\u00bb^\2\u01e7\u01e8\5U+\2\u01e8\u01e9"+ + "\5\u00cfh\2\u01e9\u0086\3\2\2\2\u01ea\u01eb\5\u00b7\\\2\u01eb\u01ec\5"+ + "\u009fP\2\u01ec\u01ed\5\u00c3b\2\u01ed\u01ee\5\u00b3Z\2\u01ee\u01ef\5"+ + "U+\2\u01ef\u01f0\5\u00a9U\2\u01f0\u01f1\5\u00afX\2\u01f1\u01f2\5\u00c1"+ + "a\2\u01f2\u01f3\5\u00c3b\2\u01f3\u01f4\5\u00c5c\2\u01f4\u01f5\5U+\2\u01f5"+ + "\u01f6\5\u00b9]\2\u01f6\u01f7\5U+\2\u01f7\u01f8\5\u00b5[\2\u01f8\u01f9"+ + "\5\u009fP\2\u01f9\u01fa\5\u00c3b\2\u01fa\u01fb\5\u00c5c\2\u01fb\u01fc"+ + "\5U+\2\u01fc\u01fd\5\u00b7\\\2\u01fd\u0088\3\2\2\2\u01fe\u01ff\5\u00b7"+ + "\\\2\u01ff\u0200\5\u009fP\2\u0200\u0201\5\u00c3b\2\u0201\u0202\5\u00b3"+ + "Z\2\u0202\u0203\5U+\2\u0203\u0204\5\u00a9U\2\u0204\u0205\5\u00c1a\2\u0205"+ + "\u0206\5\u00bb^\2\u0206\u0207\5\u00b7\\\2\u0207\u0208\5U+\2\u0208\u0209"+ + "\5\u00cdg\2\u0209\u020a\5U+\2\u020a\u020b\5\u00c5c\2\u020b\u020c\5\u00bb"+ + "^\2\u020c\u020d\5U+\2\u020d\u020e\5\u00cfh\2\u020e\u008a\3\2\2\2\u020f"+ + "\u0210\5\u00b7\\\2\u0210\u0211\5\u009fP\2\u0211\u0212\5\u00c3b\2\u0212"+ + "\u0213\5\u00b3Z\2\u0213\u0214\5U+\2\u0214\u0215\5\u00a1Q\2\u0215\u0216"+ + "\5\u00a7T\2\u0216\u0217\5\u00a9U\2\u0217\u0218\5\u00bb^\2\u0218\u0219"+ + "\5\u00c1a\2\u0219\u021a\5\u00a7T\2\u021a\u021b\5U+\2\u021b\u021c\5\u00c3"+ + "b\2\u021c\u021d\5\u00bd_\2\u021d\u021e\5\u00a7T\2\u021e\u021f\5\u00a3"+ + "R\2\u021f\u0220\5\u00afX\2\u0220\u0221\5\u009fP\2\u0221\u0222\5\u00b5"+ + "[\2\u0222\u0223\5U+\2\u0223\u0224\5\u00a3R\2\u0224\u0225\5\u00adW\2\u0225"+ + "\u0226\5\u009fP\2\u0226\u0227\5\u00c1a\2\u0227\u0228\5\u00c3b\2\u0228"+ + "\u008c\3\2\2\2\u0229\u022a\5\u00b7\\\2\u022a\u022b\5\u009fP\2\u022b\u022c"+ + "\5\u00c3b\2\u022c\u022d\5\u00b3Z\2\u022d\u022e\5U+\2\u022e\u022f\5\u009f"+ + "P\2\u022f\u0230\5\u00a9U\2\u0230\u0231\5\u00c5c\2\u0231\u0232\5\u00a7"+ + "T\2\u0232\u0233\5\u00c1a\2\u0233\u0234\5U+\2\u0234\u0235\5\u00c3b\2\u0235"+ + "\u0236\5\u00bd_\2\u0236\u0237\5\u00a7T\2\u0237\u0238\5\u00a3R\2\u0238"+ + "\u0239\5\u00afX\2\u0239\u023a\5\u009fP\2\u023a\u023b\5\u00b5[\2\u023b"+ + "\u023c\5U+\2\u023c\u023d\5\u00a3R\2\u023d\u023e\5\u00adW\2\u023e\u023f"+ + "\5\u009fP\2\u023f\u0240\5\u00c1a\2\u0240\u0241\5\u00c3b\2\u0241\u008e"+ + "\3\2\2\2\u0242\u0243\5\u00bd_\2\u0243\u0244\5\u00a7T\2\u0244\u0245\5\u00c1"+ + "a\2\u0245\u0246\5\u00c3b\2\u0246\u0247\5\u00bb^\2\u0247\u0248\5\u00b9"+ + "]\2\u0248\u0249\5\u009fP\2\u0249\u024a\5\u00b5[\2\u024a\u024b\5U+\2\u024b"+ + "\u024c\5\u00afX\2\u024c\u024d\5\u00a5S\2\u024d\u024e\5\u00a7T\2\u024e"+ + "\u024f\5\u00b9]\2\u024f\u0250\5\u00c5c\2\u0250\u0251\5\u00afX\2\u0251"+ + "\u0252\5\u00c5c\2\u0252\u0253\5\u00cfh\2\u0253\u0254\5U+\2\u0254\u0255"+ + "\5\u00b9]\2\u0255\u0256\5\u00c7d\2\u0256\u0257\5\u00b7\\\2\u0257\u0258"+ + "\5\u00a1Q\2\u0258\u0259\5\u00a7T\2\u0259\u025a\5\u00c1a\2\u025a\u025b"+ + "\5U+\2\u025b\u025c\5\u00c1a\2\u025c\u025d\5\u009fP\2\u025d\u025e\5\u00b9"+ + "]\2\u025e\u025f\5\u00a5S\2\u025f\u0260\5\u00bb^\2\u0260\u0261\5\u00b7"+ + "\\\2\u0261\u0262\5U+\2\u0262\u0263\5\u00c1a\2\u0263\u0264\5\u00a7T\2\u0264"+ + "\u0265\5\u00bd_\2\u0265\u0266\5\u00b5[\2\u0266\u0267\5\u009fP\2\u0267"+ + "\u0268\5\u00a3R\2\u0268\u0269\5\u00a7T\2\u0269\u0090\3\2\2\2\u026a\u026b"+ + "\5\u00b7\\\2\u026b\u026c\5\u00afX\2\u026c\u026d\5\u00b5[\2\u026d\u026e"+ + "\5\u00afX\2\u026e\u026f\5\u00c5c\2\u026f\u0270\5\u009fP\2\u0270\u0271"+ + "\5\u00c1a\2\u0271\u0272\5\u00cfh\2\u0272\u0273\5U+\2\u0273\u0274\5\u00af"+ + "X\2\u0274\u0275\5\u00a5S\2\u0275\u0276\5\u00a7T\2\u0276\u0277\5\u00b9"+ + "]\2\u0277\u0278\5\u00c5c\2\u0278\u0279\5\u00afX\2\u0279\u027a\5\u00c5"+ + "c\2\u027a\u027b\5\u00cfh\2\u027b\u027c\5U+\2\u027c\u027d\5\u00b9]\2\u027d"+ + "\u027e\5\u00c7d\2\u027e\u027f\5\u00b7\\\2\u027f\u0280\5\u00a1Q\2\u0280"+ + "\u0281\5\u00a7T\2\u0281\u0282\5\u00c1a\2\u0282\u0283\5U+\2\u0283\u0284"+ + "\5\u00c1a\2\u0284\u0285\5\u009fP\2\u0285\u0286\5\u00b9]\2\u0286\u0287"+ + "\5\u00a5S\2\u0287\u0288\5\u00bb^\2\u0288\u0289\5\u00b7\\\2\u0289\u028a"+ + "\5U+\2\u028a\u028b\5\u00c1a\2\u028b\u028c\5\u00a7T\2\u028c\u028d\5\u00bd"+ + "_\2\u028d\u028e\5\u00b5[\2\u028e\u028f\5\u009fP\2\u028f\u0290\5\u00a3"+ + "R\2\u0290\u0291\5\u00a7T\2\u0291\u0092\3\2\2\2\u0292\u0293\5\u00b5[\2"+ + "\u0293\u0294\5\u009fP\2\u0294\u0295\5\u00b9]\2\u0295\u0296\5\u00a5S\2"+ + "\u0296\u0297\5\u00b5[\2\u0297\u0298\5\u00afX\2\u0298\u0299\5\u00b9]\2"+ + "\u0299\u029a\5\u00a7T\2\u029a\u029b\5U+\2\u029b\u029c\5\u00b9]\2\u029c"+ + "\u029d\5\u00c7d\2\u029d\u029e\5\u00b7\\\2\u029e\u029f\5\u00a1Q\2\u029f"+ + "\u02a0\5\u00a7T\2\u02a0\u02a1\5\u00c1a\2\u02a1\u02a2\5U+\2\u02a2\u02a3"+ + "\5\u00c1a\2\u02a3\u02a4\5\u009fP\2\u02a4\u02a5\5\u00b9]\2\u02a5\u02a6"+ + "\5\u00a5S\2\u02a6\u02a7\5\u00bb^\2\u02a7\u02a8\5\u00b7\\\2\u02a8\u02a9"+ + "\5U+\2\u02a9\u02aa\5\u00c1a\2\u02aa\u02ab\5\u00a7T\2\u02ab\u02ac\5\u00bd"+ + "_\2\u02ac\u02ad\5\u00b5[\2\u02ad\u02ae\5\u009fP\2\u02ae\u02af\5\u00a3"+ + "R\2\u02af\u02b0\5\u00a7T\2\u02b0\u0094\3\2\2\2\u02b1\u02b2\5\u00c5c\2"+ + "\u02b2\u02b3\5\u00a7T\2\u02b3\u02b4\5\u00b5[\2\u02b4\u02b5\5\u00a7T\2"+ + "\u02b5\u02b6\5\u00bd_\2\u02b6\u02b7\5\u00adW\2\u02b7\u02b8\5\u00bb^\2"+ + "\u02b8\u02b9\5\u00b9]\2\u02b9\u02ba\5\u00a7T\2\u02ba\u02bb\5U+\2\u02bb"+ + "\u02bc\5\u00c1a\2\u02bc\u02bd\5\u009fP\2\u02bd\u02be\5\u00b9]\2\u02be"+ + "\u02bf\5\u00a5S\2\u02bf\u02c0\5\u00bb^\2\u02c0\u02c1\5\u00b7\\\2\u02c1"+ + "\u02c2\5U+\2\u02c2\u02c3\5\u00c1a\2\u02c3\u02c4\5\u00a7T\2\u02c4\u02c5"+ + "\5\u00bd_\2\u02c5\u02c6\5\u00b5[\2\u02c6\u02c7\5\u009fP\2\u02c7\u02c8"+ + "\5\u00a3R\2\u02c8\u02c9\5\u00a7T\2\u02c9\u0096\3\2\2\2\u02ca\u02cb\5\u00c7"+ + "d\2\u02cb\u02cc\5\u00b9]\2\u02cc\u02cd\5\u00afX\2\u02cd\u02ce\5\u00a9"+ + "U\2\u02ce\u02cf\5\u00afX\2\u02cf\u02d0\5\u00a7T\2\u02d0\u02d1\5\u00a5"+ + "S\2\u02d1\u02d2\5U+\2\u02d2\u02d3\5\u00a3R\2\u02d3\u02d4\5\u00c1a\2\u02d4"+ + "\u02d5\5\u00a7T\2\u02d5\u02d6\5\u00a5S\2\u02d6\u02d7\5\u00afX\2\u02d7"+ + "\u02d8\5\u00c5c\2\u02d8\u02d9\5U+\2\u02d9\u02da\5\u00a3R\2\u02da\u02db"+ + "\5\u00bb^\2\u02db\u02dc\5\u00a5S\2\u02dc\u02dd\5\u00a7T\2\u02dd\u02de"+ + "\5U+\2\u02de\u02df\5\u00c1a\2\u02df\u02e0\5\u009fP\2\u02e0\u02e1\5\u00b9"+ + "]\2\u02e1\u02e2\5\u00a5S\2\u02e2\u02e3\5\u00bb^\2\u02e3\u02e4\5\u00b7"+ + "\\\2\u02e4\u02e5\5U+\2\u02e5\u02e6\5\u00c1a\2\u02e6\u02e7\5\u00a7T\2\u02e7"+ + "\u02e8\5\u00bd_\2\u02e8\u02e9\5\u00b5[\2\u02e9\u02ea\5\u009fP\2\u02ea"+ + "\u02eb\5\u00a3R\2\u02eb\u02ec\5\u00a7T\2\u02ec\u0098\3\2\2\2\u02ed\u02ee"+ + "\5\u00abV\2\u02ee\u02ef\5\u00a7T\2\u02ef\u02f0\5\u00b9]\2\u02f0\u02f1"+ + "\5\u00a7T\2\u02f1\u02f2\5\u00c1a\2\u02f2\u02f3\5\u00afX\2\u02f3\u02f4"+ + "\5\u00a3R\2\u02f4\u02f5\5U+\2\u02f5\u02f6\5\u00c5c\2\u02f6\u02f7\5\u009f"+ + "P\2\u02f7\u02f8\5\u00a1Q\2\u02f8\u02f9\5\u00b5[\2\u02f9\u02fa\5\u00a7"+ + "T\2\u02fa\u02fb\5U+\2\u02fb\u02fc\5\u00c1a\2\u02fc\u02fd\5\u009fP\2\u02fd"+ + "\u02fe\5\u00b9]\2\u02fe\u02ff\5\u00a5S\2\u02ff\u0300\5\u00bb^\2\u0300"+ + "\u0301\5\u00b7\\\2\u0301\u0302\5U+\2\u0302\u0303\5\u00c1a\2\u0303\u0304"+ + "\5\u00a7T\2\u0304\u0305\5\u00bd_\2\u0305\u0306\5\u00b5[\2\u0306\u0307"+ + "\5\u009fP\2\u0307\u0308\5\u00a3R\2\u0308\u0309\5\u00a7T\2\u0309\u009a"+ + "\3\2\2\2\u030a\u030b\5\u009fP\2\u030b\u030c\5\u00a5S\2\u030c\u030d\5\u00a5"+ + "S\2\u030d\u030e\5\u00c1a\2\u030e\u030f\5\u00a7T\2\u030f\u0310\5\u00c3"+ + "b\2\u0310\u0311\5\u00c3b\2\u0311\u0312\5U+\2\u0312\u0313\5\u00c1a\2\u0313"+ + "\u0314\5\u009fP\2\u0314\u0315\5\u00b9]\2\u0315\u0316\5\u00a5S\2\u0316"+ + "\u0317\5\u00bb^\2\u0317\u0318\5\u00b7\\\2\u0318\u0319\5U+\2\u0319\u031a"+ + "\5\u00c1a\2\u031a\u031b\5\u00a7T\2\u031b\u031c\5\u00bd_\2\u031c\u031d"+ + "\5\u00b5[\2\u031d\u031e\5\u009fP\2\u031e\u031f\5\u00a3R\2\u031f\u0320"+ + "\5\u00a7T\2\u0320\u009c\3\2\2\2\u0321\u0322\7F\2\2\u0322\u0323\7Q\2\2"+ + "\u0323\u0324\7\"\2\2\u0324\u0325\7P\2\2\u0325\u0326\7Q\2\2\u0326\u0327"+ + "\7V\2\2\u0327\u0328\7\"\2\2\u0328\u0329\7O\2\2\u0329\u032a\7C\2\2\u032a"+ + "\u032b\7V\2\2\u032b\u032c\7E\2\2\u032c\u032d\7J\2\2\u032d\u032e\7\"\2"+ + "\2\u032e\u032f\7C\2\2\u032f\u0330\7P\2\2\u0330\u0331\7[\2\2\u0331\u0332"+ + "\7\"\2\2\u0332\u0333\7V\2\2\u0333\u0334\7J\2\2\u0334\u0335\7K\2\2\u0335"+ + "\u0336\7P\2\2\u0336\u0337\7I\2\2\u0337\u0338\7.\2\2\u0338\u0339\7\"\2"+ + "\2\u0339\u033a\7L\2\2\u033a\u033b\7W\2\2\u033b\u033c\7U\2\2\u033c\u033d"+ + "\7V\2\2\u033d\u033e\7\"\2\2\u033e\u033f\7H\2\2\u033f\u0340\7Q\2\2\u0340"+ + "\u0341\7T\2\2\u0341\u0342\7\"\2\2\u0342\u0343\7I\2\2\u0343\u0344\7G\2"+ + "\2\u0344\u0345\7P\2\2\u0345\u0346\7G\2\2\u0346\u0347\7T\2\2\u0347\u0348"+ + "\7C\2\2\u0348\u0349\7V\2\2\u0349\u034a\7Q\2\2\u034a\u034b\7T\2\2\u034b"+ + "\u009e\3\2\2\2\u034c\u034d\t\4\2\2\u034d\u00a0\3\2\2\2\u034e\u034f\t\5"+ + "\2\2\u034f\u00a2\3\2\2\2\u0350\u0351\t\6\2\2\u0351\u00a4\3\2\2\2\u0352"+ + "\u0353\t\7\2\2\u0353\u00a6\3\2\2\2\u0354\u0355\t\b\2\2\u0355\u00a8\3\2"+ + "\2\2\u0356\u0357\t\t\2\2\u0357\u00aa\3\2\2\2\u0358\u0359\t\n\2\2\u0359"+ + "\u00ac\3\2\2\2\u035a\u035b\t\13\2\2\u035b\u00ae\3\2\2\2\u035c\u035d\t"+ + "\f\2\2\u035d\u00b0\3\2\2\2\u035e\u035f\t\r\2\2\u035f\u00b2\3\2\2\2\u0360"+ + "\u0361\t\16\2\2\u0361\u00b4\3\2\2\2\u0362\u0363\t\17\2\2\u0363\u00b6\3"+ + "\2\2\2\u0364\u0365\t\20\2\2\u0365\u00b8\3\2\2\2\u0366\u0367\t\21\2\2\u0367"+ + "\u00ba\3\2\2\2\u0368\u0369\t\22\2\2\u0369\u00bc\3\2\2\2\u036a\u036b\t"+ + "\23\2\2\u036b\u00be\3\2\2\2\u036c\u036d\t\24\2\2\u036d\u00c0\3\2\2\2\u036e"+ + "\u036f\t\25\2\2\u036f\u00c2\3\2\2\2\u0370\u0371\t\26\2\2\u0371\u00c4\3"+ + "\2\2\2\u0372\u0373\t\27\2\2\u0373\u00c6\3\2\2\2\u0374\u0375\t\30\2\2\u0375"+ + "\u00c8\3\2\2\2\u0376\u0377\t\31\2\2\u0377\u00ca\3\2\2\2\u0378\u0379\t"+ + "\32\2\2\u0379\u00cc\3\2\2\2\u037a\u037b\t\33\2\2\u037b\u00ce\3\2\2\2\u037c"+ + "\u037d\t\34\2\2\u037d\u00d0\3\2\2\2\u037e\u037f\t\35\2\2\u037f\u00d2\3"+ + "\2\2\2\u0380\u0382\t\36\2\2\u0381\u0380\3\2\2\2\u0382\u0385\3\2\2\2\u0383"+ + "\u0384\3\2\2\2\u0383\u0381\3\2\2\2\u0384\u0387\3\2\2\2\u0385\u0383\3\2"+ + "\2\2\u0386\u0388\t\37\2\2\u0387\u0386\3\2\2\2\u0388\u0389\3\2\2\2\u0389"+ + "\u038a\3\2\2\2\u0389\u0387\3\2\2\2\u038a\u038e\3\2\2\2\u038b\u038d\t\36"+ + "\2\2\u038c\u038b\3\2\2\2\u038d\u0390\3\2\2\2\u038e\u038c\3\2\2\2\u038e"+ + "\u038f\3\2\2\2\u038f\u039a\3\2\2\2\u0390\u038e\3\2\2\2\u0391\u0393\5K"+ + "&\2\u0392\u0394\n \2\2\u0393\u0392\3\2\2\2\u0394\u0395\3\2\2\2\u0395\u0393"+ + "\3\2\2\2\u0395\u0396\3\2\2\2\u0396\u0397\3\2\2\2\u0397\u0398\5K&\2\u0398"+ + "\u039a\3\2\2\2\u0399\u0383\3\2\2\2\u0399\u0391\3\2\2\2\u039a\u00d4\3\2"+ + "\2\2\u039b\u03a3\5G$\2\u039c\u039d\7^\2\2\u039d\u03a2\13\2\2\2\u039e\u039f"+ + "\7$\2\2\u039f\u03a2\7$\2\2\u03a0\u03a2\n!\2\2\u03a1\u039c\3\2\2\2\u03a1"+ + "\u039e\3\2\2\2\u03a1\u03a0\3\2\2\2\u03a2\u03a5\3\2\2\2\u03a3\u03a1\3\2"+ + "\2\2\u03a3\u03a4\3\2\2\2\u03a4\u03a6\3\2\2\2\u03a5\u03a3\3\2\2\2\u03a6"+ + "\u03a7\5G$\2\u03a7\u03b6\3\2\2\2\u03a8\u03b0\5I%\2\u03a9\u03aa\7^\2\2"+ + "\u03aa\u03af\13\2\2\2\u03ab\u03ac\7)\2\2\u03ac\u03af\7)\2\2\u03ad\u03af"+ + "\n\"\2\2\u03ae\u03a9\3\2\2\2\u03ae\u03ab\3\2\2\2\u03ae\u03ad\3\2\2\2\u03af"+ + "\u03b2\3\2\2\2\u03b0\u03ae\3\2\2\2\u03b0\u03b1\3\2\2\2\u03b1\u03b3\3\2"+ + "\2\2\u03b2\u03b0\3\2\2\2\u03b3\u03b4\5I%\2\u03b4\u03b6\3\2\2\2\u03b5\u039b"+ + "\3\2\2\2\u03b5\u03a8\3\2\2\2\u03b6\u00d6\3\2\2\2\u03b7\u03b9\t#\2\2\u03b8"+ + "\u03b7\3\2\2\2\u03b9\u03ba\3\2\2\2\u03ba\u03b8\3\2\2\2\u03ba\u03bb\3\2"+ + "\2\2\u03bb\u00d8\3\2\2\2\u03bc\u03bd\t$\2\2\u03bd\u00da\3\2\2\2\u03be"+ + "\u03c0\5\u00d7l\2\u03bf\u03be\3\2\2\2\u03bf\u03c0\3\2\2\2\u03c0\u03c2"+ + "\3\2\2\2\u03c1\u03c3\5#\22\2\u03c2\u03c1\3\2\2\2\u03c2\u03c3\3\2\2\2\u03c3"+ + "\u03c4\3\2\2\2\u03c4\u03cc\5\u00d7l\2\u03c5\u03c8\5\u00a7T\2\u03c6\u03c9"+ + "\5\31\r\2\u03c7\u03c9\5\33\16\2\u03c8\u03c6\3\2\2\2\u03c8\u03c7\3\2\2"+ + "\2\u03c8\u03c9\3\2\2\2\u03c9\u03ca\3\2\2\2\u03ca\u03cb\5\u00d7l\2\u03cb"+ + "\u03cd\3\2\2\2\u03cc\u03c5\3\2\2\2\u03cc\u03cd\3\2\2\2\u03cd\u00dc\3\2"+ + "\2\2\u03ce\u03cf\7\62\2\2\u03cf\u03d0\7z\2\2\u03d0\u03d2\3\2\2\2\u03d1"+ + "\u03d3\5\u00d9m\2\u03d2\u03d1\3\2\2\2\u03d3\u03d4\3\2\2\2\u03d4\u03d2"+ + "\3\2\2\2\u03d4\u03d5\3\2\2\2\u03d5\u03e0\3\2\2\2\u03d6\u03d7\7Z\2\2\u03d7"+ + "\u03d9\5I%\2\u03d8\u03da\5\u00d9m\2\u03d9\u03d8\3\2\2\2\u03da\u03db\3"+ + "\2\2\2\u03db\u03d9\3\2\2\2\u03db\u03dc\3\2\2\2\u03dc\u03dd\3\2\2\2\u03dd"+ + "\u03de\5I%\2\u03de\u03e0\3\2\2\2\u03df\u03ce\3\2\2\2\u03df\u03d6\3\2\2"+ + "\2\u03e0\u00de\3\2\2\2\u03e1\u03e2\7\62\2\2\u03e2\u03e3\7d\2\2\u03e3\u03e5"+ + "\3\2\2\2\u03e4\u03e6\4\62\63\2\u03e5\u03e4\3\2\2\2\u03e6\u03e7\3\2\2\2"+ + "\u03e7\u03e5\3\2\2\2\u03e7\u03e8\3\2\2\2\u03e8\u03f3\3\2\2\2\u03e9\u03ea"+ + "\5\u00a1Q\2\u03ea\u03ec\5I%\2\u03eb\u03ed\4\62\63\2\u03ec\u03eb\3\2\2"+ + "\2\u03ed\u03ee\3\2\2\2\u03ee\u03ec\3\2\2\2\u03ee\u03ef\3\2\2\2\u03ef\u03f0"+ + "\3\2\2\2\u03f0\u03f1\5I%\2\u03f1\u03f3\3\2\2\2\u03f2\u03e1\3\2\2\2\u03f2"+ + "\u03e9\3\2\2\2\u03f3\u00e0\3\2\2\2\32\2\u0117\u0148\u0383\u0389\u038e"+ + "\u0395\u0399\u03a1\u03a3\u03ae\u03b0\u03b5\u03ba\u03bf\u03c2\u03c8\u03cc"+ + "\u03d4\u03db\u03df\u03e7\u03ee\u03f2\3\b\2\2"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementLexer.tokens b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementLexer.tokens new file mode 100644 index 00000000..8f82b7ee --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementLexer.tokens @@ -0,0 +1,127 @@ +AND_=1 +OR_=2 +NOT_=3 +TILDE_=4 +VERTICALBAR_=5 +AMPERSAND_=6 +SIGNEDLEFTSHIFT_=7 +SIGNEDRIGHTSHIFT_=8 +CARET_=9 +MOD_=10 +COLON_=11 +PLUS_=12 +MINUS_=13 +ASTERISK_=14 +SLASH_=15 +BACKSLASH_=16 +DOT_=17 +DOTASTERISK_=18 +SAFEEQ_=19 +DEQ_=20 +EQ_=21 +NEQ_=22 +GT_=23 +GTE_=24 +LT_=25 +LTE_=26 +POUND_=27 +LP_=28 +RP_=29 +LBE_=30 +RBE_=31 +LBT_=32 +RBT_=33 +COMMA_=34 +DQ_=35 +SQ_=36 +BQ_=37 +QUESTION_=38 +AT_=39 +SEMI_=40 +JSONSEPARATOR_=41 +UL_=42 +WS=43 +TRUE=44 +FALSE=45 +CREATE=46 +ALTER=47 +DROP=48 +SHOW=49 +RULE=50 +FROM=51 +MASK=52 +TYPE=53 +NAME=54 +PROPERTIES=55 +COLUMN=56 +RULES=57 +TABLE=58 +COLUMNS=59 +IF=60 +EXISTS=61 +COUNT=62 +NOT=63 +MD5=64 +KEEP_FIRST_N_LAST_M=65 +KEEP_FROM_X_TO_Y=66 +MASK_FIRST_N_LAST_M=67 +MASK_FROM_X_TO_Y=68 +MASK_BEFORE_SPECIAL_CHARS=69 +MASK_AFTER_SPECIAL_CHARS=70 +PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE=71 +MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE=72 +LANDLINE_NUMBER_RANDOM_REPLACE=73 +TELEPHONE_RANDOM_REPLACE=74 +UNIFIED_CREDIT_CODE_RANDOM_REPLACE=75 +GENERIC_TABLE_RANDOM_REPLACE=76 +ADDRESS_RANDOM_REPLACE=77 +FOR_GENERATOR=78 +IDENTIFIER_=79 +STRING_=80 +INT_=81 +HEX_=82 +NUMBER_=83 +HEXDIGIT_=84 +BITNUM_=85 +'&&'=1 +'||'=2 +'!'=3 +'~'=4 +'|'=5 +'&'=6 +'<<'=7 +'>>'=8 +'^'=9 +'%'=10 +':'=11 +'+'=12 +'-'=13 +'*'=14 +'/'=15 +'\\'=16 +'.'=17 +'.*'=18 +'<=>'=19 +'=='=20 +'='=21 +'>'=23 +'>='=24 +'<'=25 +'<='=26 +'#'=27 +'('=28 +')'=29 +'{'=30 +'}'=31 +'['=32 +']'=33 +','=34 +'"'=35 +'\''=36 +'`'=37 +'?'=38 +'@'=39 +';'=40 +'->>'=41 +'_'=42 +'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=78 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementParser.java b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementParser.java new file mode 100644 index 00000000..c21482ff --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementParser.java @@ -0,0 +1,1079 @@ +// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/mask/RDLStatement.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.misc.*; +import org.antlr.v4.runtime.tree.*; +import java.util.List; +import java.util.Iterator; +import java.util.ArrayList; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class RDLStatementParser extends Parser { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, + SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, + ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, + DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, + LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, + SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, + WS=43, TRUE=44, FALSE=45, CREATE=46, ALTER=47, DROP=48, SHOW=49, RULE=50, + FROM=51, MASK=52, TYPE=53, NAME=54, PROPERTIES=55, COLUMN=56, RULES=57, + TABLE=58, COLUMNS=59, IF=60, EXISTS=61, COUNT=62, NOT=63, MD5=64, KEEP_FIRST_N_LAST_M=65, + KEEP_FROM_X_TO_Y=66, MASK_FIRST_N_LAST_M=67, MASK_FROM_X_TO_Y=68, MASK_BEFORE_SPECIAL_CHARS=69, + MASK_AFTER_SPECIAL_CHARS=70, PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE=71, + MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE=72, LANDLINE_NUMBER_RANDOM_REPLACE=73, + TELEPHONE_RANDOM_REPLACE=74, UNIFIED_CREDIT_CODE_RANDOM_REPLACE=75, GENERIC_TABLE_RANDOM_REPLACE=76, + ADDRESS_RANDOM_REPLACE=77, FOR_GENERATOR=78, IDENTIFIER_=79, STRING_=80, + INT_=81, HEX_=82, NUMBER_=83, HEXDIGIT_=84, BITNUM_=85; + public static final int + RULE_createMaskRule = 0, RULE_alterMaskRule = 1, RULE_dropMaskRule = 2, + RULE_maskRuleDefinition = 3, RULE_columnDefinition = 4, RULE_columnName = 5, + RULE_ifExists = 6, RULE_ifNotExists = 7, RULE_literal = 8, RULE_algorithmDefinition = 9, + RULE_algorithmTypeName = 10, RULE_buildInMaskAlgorithmType = 11, RULE_propertiesDefinition = 12, + RULE_properties = 13, RULE_property = 14, RULE_ruleName = 15; + private static String[] makeRuleNames() { + return new String[] { + "createMaskRule", "alterMaskRule", "dropMaskRule", "maskRuleDefinition", + "columnDefinition", "columnName", "ifExists", "ifNotExists", "literal", + "algorithmDefinition", "algorithmTypeName", "buildInMaskAlgorithmType", + "propertiesDefinition", "properties", "property", "ruleName" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", + "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", + "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", + "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", + "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", + "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", + "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", + "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", + "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", + "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", + "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", "FROM", "MASK", "TYPE", + "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", "COLUMNS", "IF", "EXISTS", + "COUNT", "NOT", "MD5", "KEEP_FIRST_N_LAST_M", "KEEP_FROM_X_TO_Y", "MASK_FIRST_N_LAST_M", + "MASK_FROM_X_TO_Y", "MASK_BEFORE_SPECIAL_CHARS", "MASK_AFTER_SPECIAL_CHARS", + "PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE", "MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE", + "LANDLINE_NUMBER_RANDOM_REPLACE", "TELEPHONE_RANDOM_REPLACE", "UNIFIED_CREDIT_CODE_RANDOM_REPLACE", + "GENERIC_TABLE_RANDOM_REPLACE", "ADDRESS_RANDOM_REPLACE", "FOR_GENERATOR", + "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + @Override + public String getGrammarFileName() { return "RDLStatement.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public ATN getATN() { return _ATN; } + + public RDLStatementParser(TokenStream input) { + super(input); + _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + public static class CreateMaskRuleContext extends ParserRuleContext { + public TerminalNode CREATE() { return getToken(RDLStatementParser.CREATE, 0); } + public TerminalNode MASK() { return getToken(RDLStatementParser.MASK, 0); } + public TerminalNode RULE() { return getToken(RDLStatementParser.RULE, 0); } + public List maskRuleDefinition() { + return getRuleContexts(MaskRuleDefinitionContext.class); + } + public MaskRuleDefinitionContext maskRuleDefinition(int i) { + return getRuleContext(MaskRuleDefinitionContext.class,i); + } + public TerminalNode TABLE() { return getToken(RDLStatementParser.TABLE, 0); } + public IfNotExistsContext ifNotExists() { + return getRuleContext(IfNotExistsContext.class,0); + } + public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } + public TerminalNode COMMA_(int i) { + return getToken(RDLStatementParser.COMMA_, i); + } + public CreateMaskRuleContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_createMaskRule; } + } + + public final CreateMaskRuleContext createMaskRule() throws RecognitionException { + CreateMaskRuleContext _localctx = new CreateMaskRuleContext(_ctx, getState()); + enterRule(_localctx, 0, RULE_createMaskRule); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(32); + match(CREATE); + setState(33); + match(MASK); + setState(35); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==TABLE) { + { + setState(34); + match(TABLE); + } + } + + setState(37); + match(RULE); + setState(39); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==IF) { + { + setState(38); + ifNotExists(); + } + } + + setState(41); + maskRuleDefinition(); + setState(46); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA_) { + { + { + setState(42); + match(COMMA_); + setState(43); + maskRuleDefinition(); + } + } + setState(48); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AlterMaskRuleContext extends ParserRuleContext { + public TerminalNode ALTER() { return getToken(RDLStatementParser.ALTER, 0); } + public TerminalNode MASK() { return getToken(RDLStatementParser.MASK, 0); } + public TerminalNode RULE() { return getToken(RDLStatementParser.RULE, 0); } + public List maskRuleDefinition() { + return getRuleContexts(MaskRuleDefinitionContext.class); + } + public MaskRuleDefinitionContext maskRuleDefinition(int i) { + return getRuleContext(MaskRuleDefinitionContext.class,i); + } + public TerminalNode TABLE() { return getToken(RDLStatementParser.TABLE, 0); } + public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } + public TerminalNode COMMA_(int i) { + return getToken(RDLStatementParser.COMMA_, i); + } + public AlterMaskRuleContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_alterMaskRule; } + } + + public final AlterMaskRuleContext alterMaskRule() throws RecognitionException { + AlterMaskRuleContext _localctx = new AlterMaskRuleContext(_ctx, getState()); + enterRule(_localctx, 2, RULE_alterMaskRule); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(49); + match(ALTER); + setState(50); + match(MASK); + setState(52); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==TABLE) { + { + setState(51); + match(TABLE); + } + } + + setState(54); + match(RULE); + setState(55); + maskRuleDefinition(); + setState(60); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA_) { + { + { + setState(56); + match(COMMA_); + setState(57); + maskRuleDefinition(); + } + } + setState(62); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class DropMaskRuleContext extends ParserRuleContext { + public TerminalNode DROP() { return getToken(RDLStatementParser.DROP, 0); } + public TerminalNode MASK() { return getToken(RDLStatementParser.MASK, 0); } + public TerminalNode RULE() { return getToken(RDLStatementParser.RULE, 0); } + public List ruleName() { + return getRuleContexts(RuleNameContext.class); + } + public RuleNameContext ruleName(int i) { + return getRuleContext(RuleNameContext.class,i); + } + public TerminalNode TABLE() { return getToken(RDLStatementParser.TABLE, 0); } + public IfExistsContext ifExists() { + return getRuleContext(IfExistsContext.class,0); + } + public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } + public TerminalNode COMMA_(int i) { + return getToken(RDLStatementParser.COMMA_, i); + } + public DropMaskRuleContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_dropMaskRule; } + } + + public final DropMaskRuleContext dropMaskRule() throws RecognitionException { + DropMaskRuleContext _localctx = new DropMaskRuleContext(_ctx, getState()); + enterRule(_localctx, 4, RULE_dropMaskRule); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(63); + match(DROP); + setState(64); + match(MASK); + setState(66); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==TABLE) { + { + setState(65); + match(TABLE); + } + } + + setState(68); + match(RULE); + setState(70); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==IF) { + { + setState(69); + ifExists(); + } + } + + setState(72); + ruleName(); + setState(77); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA_) { + { + { + setState(73); + match(COMMA_); + setState(74); + ruleName(); + } + } + setState(79); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class MaskRuleDefinitionContext extends ParserRuleContext { + public RuleNameContext ruleName() { + return getRuleContext(RuleNameContext.class,0); + } + public List LP_() { return getTokens(RDLStatementParser.LP_); } + public TerminalNode LP_(int i) { + return getToken(RDLStatementParser.LP_, i); + } + public TerminalNode COLUMNS() { return getToken(RDLStatementParser.COLUMNS, 0); } + public List columnDefinition() { + return getRuleContexts(ColumnDefinitionContext.class); + } + public ColumnDefinitionContext columnDefinition(int i) { + return getRuleContext(ColumnDefinitionContext.class,i); + } + public List RP_() { return getTokens(RDLStatementParser.RP_); } + public TerminalNode RP_(int i) { + return getToken(RDLStatementParser.RP_, i); + } + public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } + public TerminalNode COMMA_(int i) { + return getToken(RDLStatementParser.COMMA_, i); + } + public MaskRuleDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_maskRuleDefinition; } + } + + public final MaskRuleDefinitionContext maskRuleDefinition() throws RecognitionException { + MaskRuleDefinitionContext _localctx = new MaskRuleDefinitionContext(_ctx, getState()); + enterRule(_localctx, 6, RULE_maskRuleDefinition); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(80); + ruleName(); + setState(81); + match(LP_); + setState(82); + match(COLUMNS); + setState(83); + match(LP_); + setState(84); + columnDefinition(); + setState(89); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA_) { + { + { + setState(85); + match(COMMA_); + setState(86); + columnDefinition(); + } + } + setState(91); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(92); + match(RP_); + setState(93); + match(RP_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ColumnDefinitionContext extends ParserRuleContext { + public TerminalNode LP_() { return getToken(RDLStatementParser.LP_, 0); } + public TerminalNode NAME() { return getToken(RDLStatementParser.NAME, 0); } + public TerminalNode EQ_() { return getToken(RDLStatementParser.EQ_, 0); } + public ColumnNameContext columnName() { + return getRuleContext(ColumnNameContext.class,0); + } + public TerminalNode COMMA_() { return getToken(RDLStatementParser.COMMA_, 0); } + public AlgorithmDefinitionContext algorithmDefinition() { + return getRuleContext(AlgorithmDefinitionContext.class,0); + } + public TerminalNode RP_() { return getToken(RDLStatementParser.RP_, 0); } + public ColumnDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_columnDefinition; } + } + + public final ColumnDefinitionContext columnDefinition() throws RecognitionException { + ColumnDefinitionContext _localctx = new ColumnDefinitionContext(_ctx, getState()); + enterRule(_localctx, 8, RULE_columnDefinition); + try { + enterOuterAlt(_localctx, 1); + { + setState(95); + match(LP_); + setState(96); + match(NAME); + setState(97); + match(EQ_); + setState(98); + columnName(); + setState(99); + match(COMMA_); + setState(100); + algorithmDefinition(); + setState(101); + match(RP_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ColumnNameContext extends ParserRuleContext { + public TerminalNode IDENTIFIER_() { return getToken(RDLStatementParser.IDENTIFIER_, 0); } + public ColumnNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_columnName; } + } + + public final ColumnNameContext columnName() throws RecognitionException { + ColumnNameContext _localctx = new ColumnNameContext(_ctx, getState()); + enterRule(_localctx, 10, RULE_columnName); + try { + enterOuterAlt(_localctx, 1); + { + setState(103); + match(IDENTIFIER_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class IfExistsContext extends ParserRuleContext { + public TerminalNode IF() { return getToken(RDLStatementParser.IF, 0); } + public TerminalNode EXISTS() { return getToken(RDLStatementParser.EXISTS, 0); } + public IfExistsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ifExists; } + } + + public final IfExistsContext ifExists() throws RecognitionException { + IfExistsContext _localctx = new IfExistsContext(_ctx, getState()); + enterRule(_localctx, 12, RULE_ifExists); + try { + enterOuterAlt(_localctx, 1); + { + setState(105); + match(IF); + setState(106); + match(EXISTS); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class IfNotExistsContext extends ParserRuleContext { + public TerminalNode IF() { return getToken(RDLStatementParser.IF, 0); } + public TerminalNode NOT() { return getToken(RDLStatementParser.NOT, 0); } + public TerminalNode EXISTS() { return getToken(RDLStatementParser.EXISTS, 0); } + public IfNotExistsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ifNotExists; } + } + + public final IfNotExistsContext ifNotExists() throws RecognitionException { + IfNotExistsContext _localctx = new IfNotExistsContext(_ctx, getState()); + enterRule(_localctx, 14, RULE_ifNotExists); + try { + enterOuterAlt(_localctx, 1); + { + setState(108); + match(IF); + setState(109); + match(NOT); + setState(110); + match(EXISTS); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class LiteralContext extends ParserRuleContext { + public TerminalNode STRING_() { return getToken(RDLStatementParser.STRING_, 0); } + public TerminalNode INT_() { return getToken(RDLStatementParser.INT_, 0); } + public TerminalNode MINUS_() { return getToken(RDLStatementParser.MINUS_, 0); } + public TerminalNode TRUE() { return getToken(RDLStatementParser.TRUE, 0); } + public TerminalNode FALSE() { return getToken(RDLStatementParser.FALSE, 0); } + public LiteralContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_literal; } + } + + public final LiteralContext literal() throws RecognitionException { + LiteralContext _localctx = new LiteralContext(_ctx, getState()); + enterRule(_localctx, 16, RULE_literal); + int _la; + try { + setState(119); + _errHandler.sync(this); + switch (_input.LA(1)) { + case STRING_: + enterOuterAlt(_localctx, 1); + { + setState(112); + match(STRING_); + } + break; + case MINUS_: + case INT_: + enterOuterAlt(_localctx, 2); + { + setState(114); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==MINUS_) { + { + setState(113); + match(MINUS_); + } + } + + setState(116); + match(INT_); + } + break; + case TRUE: + enterOuterAlt(_localctx, 3); + { + setState(117); + match(TRUE); + } + break; + case FALSE: + enterOuterAlt(_localctx, 4); + { + setState(118); + match(FALSE); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AlgorithmDefinitionContext extends ParserRuleContext { + public TerminalNode TYPE() { return getToken(RDLStatementParser.TYPE, 0); } + public TerminalNode LP_() { return getToken(RDLStatementParser.LP_, 0); } + public TerminalNode NAME() { return getToken(RDLStatementParser.NAME, 0); } + public TerminalNode EQ_() { return getToken(RDLStatementParser.EQ_, 0); } + public AlgorithmTypeNameContext algorithmTypeName() { + return getRuleContext(AlgorithmTypeNameContext.class,0); + } + public TerminalNode RP_() { return getToken(RDLStatementParser.RP_, 0); } + public TerminalNode COMMA_() { return getToken(RDLStatementParser.COMMA_, 0); } + public PropertiesDefinitionContext propertiesDefinition() { + return getRuleContext(PropertiesDefinitionContext.class,0); + } + public AlgorithmDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_algorithmDefinition; } + } + + public final AlgorithmDefinitionContext algorithmDefinition() throws RecognitionException { + AlgorithmDefinitionContext _localctx = new AlgorithmDefinitionContext(_ctx, getState()); + enterRule(_localctx, 18, RULE_algorithmDefinition); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(121); + match(TYPE); + setState(122); + match(LP_); + setState(123); + match(NAME); + setState(124); + match(EQ_); + setState(125); + algorithmTypeName(); + setState(128); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==COMMA_) { + { + setState(126); + match(COMMA_); + setState(127); + propertiesDefinition(); + } + } + + setState(130); + match(RP_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AlgorithmTypeNameContext extends ParserRuleContext { + public TerminalNode STRING_() { return getToken(RDLStatementParser.STRING_, 0); } + public BuildInMaskAlgorithmTypeContext buildInMaskAlgorithmType() { + return getRuleContext(BuildInMaskAlgorithmTypeContext.class,0); + } + public AlgorithmTypeNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_algorithmTypeName; } + } + + public final AlgorithmTypeNameContext algorithmTypeName() throws RecognitionException { + AlgorithmTypeNameContext _localctx = new AlgorithmTypeNameContext(_ctx, getState()); + enterRule(_localctx, 20, RULE_algorithmTypeName); + try { + setState(134); + _errHandler.sync(this); + switch (_input.LA(1)) { + case STRING_: + enterOuterAlt(_localctx, 1); + { + setState(132); + match(STRING_); + } + break; + case MD5: + case KEEP_FIRST_N_LAST_M: + case KEEP_FROM_X_TO_Y: + case MASK_FIRST_N_LAST_M: + case MASK_FROM_X_TO_Y: + case MASK_BEFORE_SPECIAL_CHARS: + case MASK_AFTER_SPECIAL_CHARS: + case PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE: + case MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE: + case LANDLINE_NUMBER_RANDOM_REPLACE: + case TELEPHONE_RANDOM_REPLACE: + case UNIFIED_CREDIT_CODE_RANDOM_REPLACE: + case GENERIC_TABLE_RANDOM_REPLACE: + enterOuterAlt(_localctx, 2); + { + setState(133); + buildInMaskAlgorithmType(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class BuildInMaskAlgorithmTypeContext extends ParserRuleContext { + public TerminalNode MD5() { return getToken(RDLStatementParser.MD5, 0); } + public TerminalNode KEEP_FIRST_N_LAST_M() { return getToken(RDLStatementParser.KEEP_FIRST_N_LAST_M, 0); } + public TerminalNode KEEP_FROM_X_TO_Y() { return getToken(RDLStatementParser.KEEP_FROM_X_TO_Y, 0); } + public TerminalNode MASK_FIRST_N_LAST_M() { return getToken(RDLStatementParser.MASK_FIRST_N_LAST_M, 0); } + public TerminalNode MASK_FROM_X_TO_Y() { return getToken(RDLStatementParser.MASK_FROM_X_TO_Y, 0); } + public TerminalNode MASK_BEFORE_SPECIAL_CHARS() { return getToken(RDLStatementParser.MASK_BEFORE_SPECIAL_CHARS, 0); } + public TerminalNode MASK_AFTER_SPECIAL_CHARS() { return getToken(RDLStatementParser.MASK_AFTER_SPECIAL_CHARS, 0); } + public TerminalNode PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE() { return getToken(RDLStatementParser.PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE, 0); } + public TerminalNode MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE() { return getToken(RDLStatementParser.MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE, 0); } + public TerminalNode LANDLINE_NUMBER_RANDOM_REPLACE() { return getToken(RDLStatementParser.LANDLINE_NUMBER_RANDOM_REPLACE, 0); } + public TerminalNode TELEPHONE_RANDOM_REPLACE() { return getToken(RDLStatementParser.TELEPHONE_RANDOM_REPLACE, 0); } + public TerminalNode UNIFIED_CREDIT_CODE_RANDOM_REPLACE() { return getToken(RDLStatementParser.UNIFIED_CREDIT_CODE_RANDOM_REPLACE, 0); } + public TerminalNode GENERIC_TABLE_RANDOM_REPLACE() { return getToken(RDLStatementParser.GENERIC_TABLE_RANDOM_REPLACE, 0); } + public BuildInMaskAlgorithmTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_buildInMaskAlgorithmType; } + } + + public final BuildInMaskAlgorithmTypeContext buildInMaskAlgorithmType() throws RecognitionException { + BuildInMaskAlgorithmTypeContext _localctx = new BuildInMaskAlgorithmTypeContext(_ctx, getState()); + enterRule(_localctx, 22, RULE_buildInMaskAlgorithmType); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(136); + _la = _input.LA(1); + if ( !(((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (MD5 - 64)) | (1L << (KEEP_FIRST_N_LAST_M - 64)) | (1L << (KEEP_FROM_X_TO_Y - 64)) | (1L << (MASK_FIRST_N_LAST_M - 64)) | (1L << (MASK_FROM_X_TO_Y - 64)) | (1L << (MASK_BEFORE_SPECIAL_CHARS - 64)) | (1L << (MASK_AFTER_SPECIAL_CHARS - 64)) | (1L << (PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE - 64)) | (1L << (MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE - 64)) | (1L << (LANDLINE_NUMBER_RANDOM_REPLACE - 64)) | (1L << (TELEPHONE_RANDOM_REPLACE - 64)) | (1L << (UNIFIED_CREDIT_CODE_RANDOM_REPLACE - 64)) | (1L << (GENERIC_TABLE_RANDOM_REPLACE - 64)))) != 0)) ) { + _errHandler.recoverInline(this); + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PropertiesDefinitionContext extends ParserRuleContext { + public TerminalNode PROPERTIES() { return getToken(RDLStatementParser.PROPERTIES, 0); } + public TerminalNode LP_() { return getToken(RDLStatementParser.LP_, 0); } + public TerminalNode RP_() { return getToken(RDLStatementParser.RP_, 0); } + public PropertiesContext properties() { + return getRuleContext(PropertiesContext.class,0); + } + public PropertiesDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_propertiesDefinition; } + } + + public final PropertiesDefinitionContext propertiesDefinition() throws RecognitionException { + PropertiesDefinitionContext _localctx = new PropertiesDefinitionContext(_ctx, getState()); + enterRule(_localctx, 24, RULE_propertiesDefinition); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(138); + match(PROPERTIES); + setState(139); + match(LP_); + setState(141); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==STRING_) { + { + setState(140); + properties(); + } + } + + setState(143); + match(RP_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PropertiesContext extends ParserRuleContext { + public List property() { + return getRuleContexts(PropertyContext.class); + } + public PropertyContext property(int i) { + return getRuleContext(PropertyContext.class,i); + } + public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } + public TerminalNode COMMA_(int i) { + return getToken(RDLStatementParser.COMMA_, i); + } + public PropertiesContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_properties; } + } + + public final PropertiesContext properties() throws RecognitionException { + PropertiesContext _localctx = new PropertiesContext(_ctx, getState()); + enterRule(_localctx, 26, RULE_properties); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(145); + property(); + setState(150); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA_) { + { + { + setState(146); + match(COMMA_); + setState(147); + property(); + } + } + setState(152); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PropertyContext extends ParserRuleContext { + public Token key; + public LiteralContext value; + public TerminalNode EQ_() { return getToken(RDLStatementParser.EQ_, 0); } + public TerminalNode STRING_() { return getToken(RDLStatementParser.STRING_, 0); } + public LiteralContext literal() { + return getRuleContext(LiteralContext.class,0); + } + public PropertyContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_property; } + } + + public final PropertyContext property() throws RecognitionException { + PropertyContext _localctx = new PropertyContext(_ctx, getState()); + enterRule(_localctx, 28, RULE_property); + try { + enterOuterAlt(_localctx, 1); + { + setState(153); + ((PropertyContext)_localctx).key = match(STRING_); + setState(154); + match(EQ_); + setState(155); + ((PropertyContext)_localctx).value = literal(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleNameContext extends ParserRuleContext { + public TerminalNode IDENTIFIER_() { return getToken(RDLStatementParser.IDENTIFIER_, 0); } + public RuleNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleName; } + } + + public final RuleNameContext ruleName() throws RecognitionException { + RuleNameContext _localctx = new RuleNameContext(_ctx, getState()); + enterRule(_localctx, 30, RULE_ruleName); + try { + enterOuterAlt(_localctx, 1); + { + setState(157); + match(IDENTIFIER_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3W\u00a2\4\2\t\2\4"+ + "\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t"+ + "\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\3\2\3\2\3"+ + "\2\5\2&\n\2\3\2\3\2\5\2*\n\2\3\2\3\2\3\2\7\2/\n\2\f\2\16\2\62\13\2\3\3"+ + "\3\3\3\3\5\3\67\n\3\3\3\3\3\3\3\3\3\7\3=\n\3\f\3\16\3@\13\3\3\4\3\4\3"+ + "\4\5\4E\n\4\3\4\3\4\5\4I\n\4\3\4\3\4\3\4\7\4N\n\4\f\4\16\4Q\13\4\3\5\3"+ + "\5\3\5\3\5\3\5\3\5\3\5\7\5Z\n\5\f\5\16\5]\13\5\3\5\3\5\3\5\3\6\3\6\3\6"+ + "\3\6\3\6\3\6\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\t\3\t\3\t\3\t\3\n\3\n\5\nu"+ + "\n\n\3\n\3\n\3\n\5\nz\n\n\3\13\3\13\3\13\3\13\3\13\3\13\3\13\5\13\u0083"+ + "\n\13\3\13\3\13\3\f\3\f\5\f\u0089\n\f\3\r\3\r\3\16\3\16\3\16\5\16\u0090"+ + "\n\16\3\16\3\16\3\17\3\17\3\17\7\17\u0097\n\17\f\17\16\17\u009a\13\17"+ + "\3\20\3\20\3\20\3\20\3\21\3\21\3\21\2\2\22\2\4\6\b\n\f\16\20\22\24\26"+ + "\30\32\34\36 \2\3\3\2BN\2\u00a2\2\"\3\2\2\2\4\63\3\2\2\2\6A\3\2\2\2\b"+ + "R\3\2\2\2\na\3\2\2\2\fi\3\2\2\2\16k\3\2\2\2\20n\3\2\2\2\22y\3\2\2\2\24"+ + "{\3\2\2\2\26\u0088\3\2\2\2\30\u008a\3\2\2\2\32\u008c\3\2\2\2\34\u0093"+ + "\3\2\2\2\36\u009b\3\2\2\2 \u009f\3\2\2\2\"#\7\60\2\2#%\7\66\2\2$&\7<\2"+ + "\2%$\3\2\2\2%&\3\2\2\2&\'\3\2\2\2\')\7\64\2\2(*\5\20\t\2)(\3\2\2\2)*\3"+ + "\2\2\2*+\3\2\2\2+\60\5\b\5\2,-\7$\2\2-/\5\b\5\2.,\3\2\2\2/\62\3\2\2\2"+ + "\60.\3\2\2\2\60\61\3\2\2\2\61\3\3\2\2\2\62\60\3\2\2\2\63\64\7\61\2\2\64"+ + "\66\7\66\2\2\65\67\7<\2\2\66\65\3\2\2\2\66\67\3\2\2\2\678\3\2\2\289\7"+ + "\64\2\29>\5\b\5\2:;\7$\2\2;=\5\b\5\2<:\3\2\2\2=@\3\2\2\2><\3\2\2\2>?\3"+ + "\2\2\2?\5\3\2\2\2@>\3\2\2\2AB\7\62\2\2BD\7\66\2\2CE\7<\2\2DC\3\2\2\2D"+ + "E\3\2\2\2EF\3\2\2\2FH\7\64\2\2GI\5\16\b\2HG\3\2\2\2HI\3\2\2\2IJ\3\2\2"+ + "\2JO\5 \21\2KL\7$\2\2LN\5 \21\2MK\3\2\2\2NQ\3\2\2\2OM\3\2\2\2OP\3\2\2"+ + "\2P\7\3\2\2\2QO\3\2\2\2RS\5 \21\2ST\7\36\2\2TU\7=\2\2UV\7\36\2\2V[\5\n"+ + "\6\2WX\7$\2\2XZ\5\n\6\2YW\3\2\2\2Z]\3\2\2\2[Y\3\2\2\2[\\\3\2\2\2\\^\3"+ + "\2\2\2][\3\2\2\2^_\7\37\2\2_`\7\37\2\2`\t\3\2\2\2ab\7\36\2\2bc\78\2\2"+ + "cd\7\27\2\2de\5\f\7\2ef\7$\2\2fg\5\24\13\2gh\7\37\2\2h\13\3\2\2\2ij\7"+ + "Q\2\2j\r\3\2\2\2kl\7>\2\2lm\7?\2\2m\17\3\2\2\2no\7>\2\2op\7A\2\2pq\7?"+ + "\2\2q\21\3\2\2\2rz\7R\2\2su\7\17\2\2ts\3\2\2\2tu\3\2\2\2uv\3\2\2\2vz\7"+ + "S\2\2wz\7.\2\2xz\7/\2\2yr\3\2\2\2yt\3\2\2\2yw\3\2\2\2yx\3\2\2\2z\23\3"+ + "\2\2\2{|\7\67\2\2|}\7\36\2\2}~\78\2\2~\177\7\27\2\2\177\u0082\5\26\f\2"+ + "\u0080\u0081\7$\2\2\u0081\u0083\5\32\16\2\u0082\u0080\3\2\2\2\u0082\u0083"+ + "\3\2\2\2\u0083\u0084\3\2\2\2\u0084\u0085\7\37\2\2\u0085\25\3\2\2\2\u0086"+ + "\u0089\7R\2\2\u0087\u0089\5\30\r\2\u0088\u0086\3\2\2\2\u0088\u0087\3\2"+ + "\2\2\u0089\27\3\2\2\2\u008a\u008b\t\2\2\2\u008b\31\3\2\2\2\u008c\u008d"+ + "\79\2\2\u008d\u008f\7\36\2\2\u008e\u0090\5\34\17\2\u008f\u008e\3\2\2\2"+ + "\u008f\u0090\3\2\2\2\u0090\u0091\3\2\2\2\u0091\u0092\7\37\2\2\u0092\33"+ + "\3\2\2\2\u0093\u0098\5\36\20\2\u0094\u0095\7$\2\2\u0095\u0097\5\36\20"+ + "\2\u0096\u0094\3\2\2\2\u0097\u009a\3\2\2\2\u0098\u0096\3\2\2\2\u0098\u0099"+ + "\3\2\2\2\u0099\35\3\2\2\2\u009a\u0098\3\2\2\2\u009b\u009c\7R\2\2\u009c"+ + "\u009d\7\27\2\2\u009d\u009e\5\22\n\2\u009e\37\3\2\2\2\u009f\u00a0\7Q\2"+ + "\2\u00a0!\3\2\2\2\21%)\60\66>DHO[ty\u0082\u0088\u008f\u0098"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatement.interp b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatement.interp new file mode 100644 index 00000000..07d225b8 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatement.interp @@ -0,0 +1,192 @@ +token literal names: +null +'&&' +'||' +'!' +'~' +'|' +'&' +'<<' +'>>' +'^' +'%' +':' +'+' +'-' +'*' +'/' +'\\' +'.' +'.*' +'<=>' +'==' +'=' +null +'>' +'>=' +'<' +'<=' +'#' +'(' +')' +'{' +'}' +'[' +']' +',' +'"' +'\'' +'`' +'?' +'@' +';' +'->>' +'_' +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +'DO NOT MATCH ANY THING, JUST FOR GENERATOR' +null +null +null +null +null +null +null + +token symbolic names: +null +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ +WS +TRUE +FALSE +CREATE +ALTER +DROP +SHOW +RULE +FROM +MASK +TYPE +NAME +PROPERTIES +COLUMN +RULES +TABLE +COLUMNS +IF +EXISTS +COUNT +NOT +MD5 +KEEP_FIRST_N_LAST_M +KEEP_FROM_X_TO_Y +MASK_FIRST_N_LAST_M +MASK_FROM_X_TO_Y +MASK_BEFORE_SPECIAL_CHARS +MASK_AFTER_SPECIAL_CHARS +PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE +MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE +LANDLINE_NUMBER_RANDOM_REPLACE +TELEPHONE_RANDOM_REPLACE +UNIFIED_CREDIT_CODE_RANDOM_REPLACE +GENERIC_TABLE_RANDOM_REPLACE +ADDRESS_RANDOM_REPLACE +FOR_GENERATOR +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ + +rule names: +showMaskRules +countMaskRule +databaseName +literal +algorithmDefinition +algorithmTypeName +buildInMaskAlgorithmType +propertiesDefinition +properties +property +ruleName + + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 87, 95, 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, 3, 2, 3, 2, 3, 2, 5, 2, 28, 10, 2, 3, 2, 3, 2, 3, 2, 5, 2, 33, 10, 2, 3, 2, 3, 2, 5, 2, 37, 10, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 44, 10, 3, 3, 4, 3, 4, 3, 5, 3, 5, 5, 5, 50, 10, 5, 3, 5, 3, 5, 3, 5, 5, 5, 55, 10, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 5, 6, 64, 10, 6, 3, 6, 3, 6, 3, 7, 3, 7, 5, 7, 70, 10, 7, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 5, 9, 77, 10, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 10, 7, 10, 84, 10, 10, 12, 10, 14, 10, 87, 11, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 2, 2, 13, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 2, 3, 3, 2, 66, 78, 2, 95, 2, 24, 3, 2, 2, 2, 4, 38, 3, 2, 2, 2, 6, 45, 3, 2, 2, 2, 8, 54, 3, 2, 2, 2, 10, 56, 3, 2, 2, 2, 12, 69, 3, 2, 2, 2, 14, 71, 3, 2, 2, 2, 16, 73, 3, 2, 2, 2, 18, 80, 3, 2, 2, 2, 20, 88, 3, 2, 2, 2, 22, 92, 3, 2, 2, 2, 24, 25, 7, 51, 2, 2, 25, 27, 7, 54, 2, 2, 26, 28, 7, 60, 2, 2, 27, 26, 3, 2, 2, 2, 27, 28, 3, 2, 2, 2, 28, 32, 3, 2, 2, 2, 29, 30, 7, 52, 2, 2, 30, 33, 5, 22, 12, 2, 31, 33, 7, 59, 2, 2, 32, 29, 3, 2, 2, 2, 32, 31, 3, 2, 2, 2, 33, 36, 3, 2, 2, 2, 34, 35, 7, 53, 2, 2, 35, 37, 5, 6, 4, 2, 36, 34, 3, 2, 2, 2, 36, 37, 3, 2, 2, 2, 37, 3, 3, 2, 2, 2, 38, 39, 7, 64, 2, 2, 39, 40, 7, 54, 2, 2, 40, 43, 7, 52, 2, 2, 41, 42, 7, 53, 2, 2, 42, 44, 5, 6, 4, 2, 43, 41, 3, 2, 2, 2, 43, 44, 3, 2, 2, 2, 44, 5, 3, 2, 2, 2, 45, 46, 7, 81, 2, 2, 46, 7, 3, 2, 2, 2, 47, 55, 7, 82, 2, 2, 48, 50, 7, 15, 2, 2, 49, 48, 3, 2, 2, 2, 49, 50, 3, 2, 2, 2, 50, 51, 3, 2, 2, 2, 51, 55, 7, 83, 2, 2, 52, 55, 7, 46, 2, 2, 53, 55, 7, 47, 2, 2, 54, 47, 3, 2, 2, 2, 54, 49, 3, 2, 2, 2, 54, 52, 3, 2, 2, 2, 54, 53, 3, 2, 2, 2, 55, 9, 3, 2, 2, 2, 56, 57, 7, 55, 2, 2, 57, 58, 7, 30, 2, 2, 58, 59, 7, 56, 2, 2, 59, 60, 7, 23, 2, 2, 60, 63, 5, 12, 7, 2, 61, 62, 7, 36, 2, 2, 62, 64, 5, 16, 9, 2, 63, 61, 3, 2, 2, 2, 63, 64, 3, 2, 2, 2, 64, 65, 3, 2, 2, 2, 65, 66, 7, 31, 2, 2, 66, 11, 3, 2, 2, 2, 67, 70, 7, 82, 2, 2, 68, 70, 5, 14, 8, 2, 69, 67, 3, 2, 2, 2, 69, 68, 3, 2, 2, 2, 70, 13, 3, 2, 2, 2, 71, 72, 9, 2, 2, 2, 72, 15, 3, 2, 2, 2, 73, 74, 7, 57, 2, 2, 74, 76, 7, 30, 2, 2, 75, 77, 5, 18, 10, 2, 76, 75, 3, 2, 2, 2, 76, 77, 3, 2, 2, 2, 77, 78, 3, 2, 2, 2, 78, 79, 7, 31, 2, 2, 79, 17, 3, 2, 2, 2, 80, 85, 5, 20, 11, 2, 81, 82, 7, 36, 2, 2, 82, 84, 5, 20, 11, 2, 83, 81, 3, 2, 2, 2, 84, 87, 3, 2, 2, 2, 85, 83, 3, 2, 2, 2, 85, 86, 3, 2, 2, 2, 86, 19, 3, 2, 2, 2, 87, 85, 3, 2, 2, 2, 88, 89, 7, 82, 2, 2, 89, 90, 7, 23, 2, 2, 90, 91, 5, 8, 5, 2, 91, 21, 3, 2, 2, 2, 92, 93, 7, 81, 2, 2, 93, 23, 3, 2, 2, 2, 12, 27, 32, 36, 43, 49, 54, 63, 69, 76, 85] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatement.tokens b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatement.tokens new file mode 100644 index 00000000..8f82b7ee --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatement.tokens @@ -0,0 +1,127 @@ +AND_=1 +OR_=2 +NOT_=3 +TILDE_=4 +VERTICALBAR_=5 +AMPERSAND_=6 +SIGNEDLEFTSHIFT_=7 +SIGNEDRIGHTSHIFT_=8 +CARET_=9 +MOD_=10 +COLON_=11 +PLUS_=12 +MINUS_=13 +ASTERISK_=14 +SLASH_=15 +BACKSLASH_=16 +DOT_=17 +DOTASTERISK_=18 +SAFEEQ_=19 +DEQ_=20 +EQ_=21 +NEQ_=22 +GT_=23 +GTE_=24 +LT_=25 +LTE_=26 +POUND_=27 +LP_=28 +RP_=29 +LBE_=30 +RBE_=31 +LBT_=32 +RBT_=33 +COMMA_=34 +DQ_=35 +SQ_=36 +BQ_=37 +QUESTION_=38 +AT_=39 +SEMI_=40 +JSONSEPARATOR_=41 +UL_=42 +WS=43 +TRUE=44 +FALSE=45 +CREATE=46 +ALTER=47 +DROP=48 +SHOW=49 +RULE=50 +FROM=51 +MASK=52 +TYPE=53 +NAME=54 +PROPERTIES=55 +COLUMN=56 +RULES=57 +TABLE=58 +COLUMNS=59 +IF=60 +EXISTS=61 +COUNT=62 +NOT=63 +MD5=64 +KEEP_FIRST_N_LAST_M=65 +KEEP_FROM_X_TO_Y=66 +MASK_FIRST_N_LAST_M=67 +MASK_FROM_X_TO_Y=68 +MASK_BEFORE_SPECIAL_CHARS=69 +MASK_AFTER_SPECIAL_CHARS=70 +PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE=71 +MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE=72 +LANDLINE_NUMBER_RANDOM_REPLACE=73 +TELEPHONE_RANDOM_REPLACE=74 +UNIFIED_CREDIT_CODE_RANDOM_REPLACE=75 +GENERIC_TABLE_RANDOM_REPLACE=76 +ADDRESS_RANDOM_REPLACE=77 +FOR_GENERATOR=78 +IDENTIFIER_=79 +STRING_=80 +INT_=81 +HEX_=82 +NUMBER_=83 +HEXDIGIT_=84 +BITNUM_=85 +'&&'=1 +'||'=2 +'!'=3 +'~'=4 +'|'=5 +'&'=6 +'<<'=7 +'>>'=8 +'^'=9 +'%'=10 +':'=11 +'+'=12 +'-'=13 +'*'=14 +'/'=15 +'\\'=16 +'.'=17 +'.*'=18 +'<=>'=19 +'=='=20 +'='=21 +'>'=23 +'>='=24 +'<'=25 +'<='=26 +'#'=27 +'('=28 +')'=29 +'{'=30 +'}'=31 +'['=32 +']'=33 +','=34 +'"'=35 +'\''=36 +'`'=37 +'?'=38 +'@'=39 +';'=40 +'->>'=41 +'_'=42 +'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=78 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementLexer.interp b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementLexer.interp new file mode 100644 index 00000000..925a75d6 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementLexer.interp @@ -0,0 +1,298 @@ +token literal names: +null +'&&' +'||' +'!' +'~' +'|' +'&' +'<<' +'>>' +'^' +'%' +':' +'+' +'-' +'*' +'/' +'\\' +'.' +'.*' +'<=>' +'==' +'=' +null +'>' +'>=' +'<' +'<=' +'#' +'(' +')' +'{' +'}' +'[' +']' +',' +'"' +'\'' +'`' +'?' +'@' +';' +'->>' +'_' +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +'DO NOT MATCH ANY THING, JUST FOR GENERATOR' +null +null +null +null +null +null +null + +token symbolic names: +null +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ +WS +TRUE +FALSE +CREATE +ALTER +DROP +SHOW +RULE +FROM +MASK +TYPE +NAME +PROPERTIES +COLUMN +RULES +TABLE +COLUMNS +IF +EXISTS +COUNT +NOT +MD5 +KEEP_FIRST_N_LAST_M +KEEP_FROM_X_TO_Y +MASK_FIRST_N_LAST_M +MASK_FROM_X_TO_Y +MASK_BEFORE_SPECIAL_CHARS +MASK_AFTER_SPECIAL_CHARS +PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE +MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE +LANDLINE_NUMBER_RANDOM_REPLACE +TELEPHONE_RANDOM_REPLACE +UNIFIED_CREDIT_CODE_RANDOM_REPLACE +GENERIC_TABLE_RANDOM_REPLACE +ADDRESS_RANDOM_REPLACE +FOR_GENERATOR +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ + +rule names: +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ +WS +TRUE +FALSE +CREATE +ALTER +DROP +SHOW +RULE +FROM +MASK +TYPE +NAME +PROPERTIES +COLUMN +RULES +TABLE +COLUMNS +IF +EXISTS +COUNT +NOT +MD5 +KEEP_FIRST_N_LAST_M +KEEP_FROM_X_TO_Y +MASK_FIRST_N_LAST_M +MASK_FROM_X_TO_Y +MASK_BEFORE_SPECIAL_CHARS +MASK_AFTER_SPECIAL_CHARS +PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE +MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE +LANDLINE_NUMBER_RANDOM_REPLACE +TELEPHONE_RANDOM_REPLACE +UNIFIED_CREDIT_CODE_RANDOM_REPLACE +GENERIC_TABLE_RANDOM_REPLACE +ADDRESS_RANDOM_REPLACE +FOR_GENERATOR +A +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y +Z +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 87, 1012, 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, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 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, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 280, 10, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 44, 6, 44, 327, 10, 44, 13, 44, 14, 44, 328, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 64, 3, 65, 3, 65, 3, 65, 3, 65, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 80, 3, 80, 3, 81, 3, 81, 3, 82, 3, 82, 3, 83, 3, 83, 3, 84, 3, 84, 3, 85, 3, 85, 3, 86, 3, 86, 3, 87, 3, 87, 3, 88, 3, 88, 3, 89, 3, 89, 3, 90, 3, 90, 3, 91, 3, 91, 3, 92, 3, 92, 3, 93, 3, 93, 3, 94, 3, 94, 3, 95, 3, 95, 3, 96, 3, 96, 3, 97, 3, 97, 3, 98, 3, 98, 3, 99, 3, 99, 3, 100, 3, 100, 3, 101, 3, 101, 3, 102, 3, 102, 3, 103, 3, 103, 3, 104, 3, 104, 3, 105, 3, 105, 3, 106, 7, 106, 898, 10, 106, 12, 106, 14, 106, 901, 11, 106, 3, 106, 6, 106, 904, 10, 106, 13, 106, 14, 106, 905, 3, 106, 7, 106, 909, 10, 106, 12, 106, 14, 106, 912, 11, 106, 3, 106, 3, 106, 6, 106, 916, 10, 106, 13, 106, 14, 106, 917, 3, 106, 3, 106, 5, 106, 922, 10, 106, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 7, 107, 930, 10, 107, 12, 107, 14, 107, 933, 11, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 7, 107, 943, 10, 107, 12, 107, 14, 107, 946, 11, 107, 3, 107, 3, 107, 5, 107, 950, 10, 107, 3, 108, 6, 108, 953, 10, 108, 13, 108, 14, 108, 954, 3, 109, 3, 109, 3, 110, 5, 110, 960, 10, 110, 3, 110, 5, 110, 963, 10, 110, 3, 110, 3, 110, 3, 110, 3, 110, 5, 110, 969, 10, 110, 3, 110, 3, 110, 5, 110, 973, 10, 110, 3, 111, 3, 111, 3, 111, 3, 111, 6, 111, 979, 10, 111, 13, 111, 14, 111, 980, 3, 111, 3, 111, 3, 111, 6, 111, 986, 10, 111, 13, 111, 14, 111, 987, 3, 111, 3, 111, 5, 111, 992, 10, 111, 3, 112, 3, 112, 3, 112, 3, 112, 6, 112, 998, 10, 112, 13, 112, 14, 112, 999, 3, 112, 3, 112, 3, 112, 6, 112, 1005, 10, 112, 13, 112, 14, 112, 1006, 3, 112, 3, 112, 5, 112, 1011, 10, 112, 4, 899, 905, 2, 113, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, 91, 47, 93, 48, 95, 49, 97, 50, 99, 51, 101, 52, 103, 53, 105, 54, 107, 55, 109, 56, 111, 57, 113, 58, 115, 59, 117, 60, 119, 61, 121, 62, 123, 63, 125, 64, 127, 65, 129, 66, 131, 67, 133, 68, 135, 69, 137, 70, 139, 71, 141, 72, 143, 73, 145, 74, 147, 75, 149, 76, 151, 77, 153, 78, 155, 79, 157, 80, 159, 2, 161, 2, 163, 2, 165, 2, 167, 2, 169, 2, 171, 2, 173, 2, 175, 2, 177, 2, 179, 2, 181, 2, 183, 2, 185, 2, 187, 2, 189, 2, 191, 2, 193, 2, 195, 2, 197, 2, 199, 2, 201, 2, 203, 2, 205, 2, 207, 2, 209, 2, 211, 81, 213, 82, 215, 83, 217, 84, 219, 85, 221, 86, 223, 87, 3, 2, 37, 5, 2, 11, 12, 15, 15, 34, 34, 3, 2, 55, 55, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 7, 2, 38, 38, 50, 59, 67, 92, 97, 97, 99, 124, 6, 2, 38, 38, 67, 92, 97, 97, 99, 124, 3, 2, 98, 98, 4, 2, 36, 36, 94, 94, 4, 2, 41, 41, 94, 94, 3, 2, 50, 59, 5, 2, 50, 59, 67, 72, 99, 104, 2, 1011, 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, 211, 3, 2, 2, 2, 2, 213, 3, 2, 2, 2, 2, 215, 3, 2, 2, 2, 2, 217, 3, 2, 2, 2, 2, 219, 3, 2, 2, 2, 2, 221, 3, 2, 2, 2, 2, 223, 3, 2, 2, 2, 3, 225, 3, 2, 2, 2, 5, 228, 3, 2, 2, 2, 7, 231, 3, 2, 2, 2, 9, 233, 3, 2, 2, 2, 11, 235, 3, 2, 2, 2, 13, 237, 3, 2, 2, 2, 15, 239, 3, 2, 2, 2, 17, 242, 3, 2, 2, 2, 19, 245, 3, 2, 2, 2, 21, 247, 3, 2, 2, 2, 23, 249, 3, 2, 2, 2, 25, 251, 3, 2, 2, 2, 27, 253, 3, 2, 2, 2, 29, 255, 3, 2, 2, 2, 31, 257, 3, 2, 2, 2, 33, 259, 3, 2, 2, 2, 35, 261, 3, 2, 2, 2, 37, 263, 3, 2, 2, 2, 39, 266, 3, 2, 2, 2, 41, 270, 3, 2, 2, 2, 43, 273, 3, 2, 2, 2, 45, 279, 3, 2, 2, 2, 47, 281, 3, 2, 2, 2, 49, 283, 3, 2, 2, 2, 51, 286, 3, 2, 2, 2, 53, 288, 3, 2, 2, 2, 55, 291, 3, 2, 2, 2, 57, 293, 3, 2, 2, 2, 59, 295, 3, 2, 2, 2, 61, 297, 3, 2, 2, 2, 63, 299, 3, 2, 2, 2, 65, 301, 3, 2, 2, 2, 67, 303, 3, 2, 2, 2, 69, 305, 3, 2, 2, 2, 71, 307, 3, 2, 2, 2, 73, 309, 3, 2, 2, 2, 75, 311, 3, 2, 2, 2, 77, 313, 3, 2, 2, 2, 79, 315, 3, 2, 2, 2, 81, 317, 3, 2, 2, 2, 83, 319, 3, 2, 2, 2, 85, 323, 3, 2, 2, 2, 87, 326, 3, 2, 2, 2, 89, 332, 3, 2, 2, 2, 91, 337, 3, 2, 2, 2, 93, 343, 3, 2, 2, 2, 95, 350, 3, 2, 2, 2, 97, 356, 3, 2, 2, 2, 99, 361, 3, 2, 2, 2, 101, 366, 3, 2, 2, 2, 103, 371, 3, 2, 2, 2, 105, 376, 3, 2, 2, 2, 107, 381, 3, 2, 2, 2, 109, 386, 3, 2, 2, 2, 111, 391, 3, 2, 2, 2, 113, 402, 3, 2, 2, 2, 115, 409, 3, 2, 2, 2, 117, 415, 3, 2, 2, 2, 119, 421, 3, 2, 2, 2, 121, 429, 3, 2, 2, 2, 123, 432, 3, 2, 2, 2, 125, 439, 3, 2, 2, 2, 127, 445, 3, 2, 2, 2, 129, 449, 3, 2, 2, 2, 131, 453, 3, 2, 2, 2, 133, 473, 3, 2, 2, 2, 135, 490, 3, 2, 2, 2, 137, 510, 3, 2, 2, 2, 139, 527, 3, 2, 2, 2, 141, 553, 3, 2, 2, 2, 143, 578, 3, 2, 2, 2, 145, 618, 3, 2, 2, 2, 147, 658, 3, 2, 2, 2, 149, 689, 3, 2, 2, 2, 151, 714, 3, 2, 2, 2, 153, 749, 3, 2, 2, 2, 155, 778, 3, 2, 2, 2, 157, 801, 3, 2, 2, 2, 159, 844, 3, 2, 2, 2, 161, 846, 3, 2, 2, 2, 163, 848, 3, 2, 2, 2, 165, 850, 3, 2, 2, 2, 167, 852, 3, 2, 2, 2, 169, 854, 3, 2, 2, 2, 171, 856, 3, 2, 2, 2, 173, 858, 3, 2, 2, 2, 175, 860, 3, 2, 2, 2, 177, 862, 3, 2, 2, 2, 179, 864, 3, 2, 2, 2, 181, 866, 3, 2, 2, 2, 183, 868, 3, 2, 2, 2, 185, 870, 3, 2, 2, 2, 187, 872, 3, 2, 2, 2, 189, 874, 3, 2, 2, 2, 191, 876, 3, 2, 2, 2, 193, 878, 3, 2, 2, 2, 195, 880, 3, 2, 2, 2, 197, 882, 3, 2, 2, 2, 199, 884, 3, 2, 2, 2, 201, 886, 3, 2, 2, 2, 203, 888, 3, 2, 2, 2, 205, 890, 3, 2, 2, 2, 207, 892, 3, 2, 2, 2, 209, 894, 3, 2, 2, 2, 211, 921, 3, 2, 2, 2, 213, 949, 3, 2, 2, 2, 215, 952, 3, 2, 2, 2, 217, 956, 3, 2, 2, 2, 219, 959, 3, 2, 2, 2, 221, 991, 3, 2, 2, 2, 223, 1010, 3, 2, 2, 2, 225, 226, 7, 40, 2, 2, 226, 227, 7, 40, 2, 2, 227, 4, 3, 2, 2, 2, 228, 229, 7, 126, 2, 2, 229, 230, 7, 126, 2, 2, 230, 6, 3, 2, 2, 2, 231, 232, 7, 35, 2, 2, 232, 8, 3, 2, 2, 2, 233, 234, 7, 128, 2, 2, 234, 10, 3, 2, 2, 2, 235, 236, 7, 126, 2, 2, 236, 12, 3, 2, 2, 2, 237, 238, 7, 40, 2, 2, 238, 14, 3, 2, 2, 2, 239, 240, 7, 62, 2, 2, 240, 241, 7, 62, 2, 2, 241, 16, 3, 2, 2, 2, 242, 243, 7, 64, 2, 2, 243, 244, 7, 64, 2, 2, 244, 18, 3, 2, 2, 2, 245, 246, 7, 96, 2, 2, 246, 20, 3, 2, 2, 2, 247, 248, 7, 39, 2, 2, 248, 22, 3, 2, 2, 2, 249, 250, 7, 60, 2, 2, 250, 24, 3, 2, 2, 2, 251, 252, 7, 45, 2, 2, 252, 26, 3, 2, 2, 2, 253, 254, 7, 47, 2, 2, 254, 28, 3, 2, 2, 2, 255, 256, 7, 44, 2, 2, 256, 30, 3, 2, 2, 2, 257, 258, 7, 49, 2, 2, 258, 32, 3, 2, 2, 2, 259, 260, 7, 94, 2, 2, 260, 34, 3, 2, 2, 2, 261, 262, 7, 48, 2, 2, 262, 36, 3, 2, 2, 2, 263, 264, 7, 48, 2, 2, 264, 265, 7, 44, 2, 2, 265, 38, 3, 2, 2, 2, 266, 267, 7, 62, 2, 2, 267, 268, 7, 63, 2, 2, 268, 269, 7, 64, 2, 2, 269, 40, 3, 2, 2, 2, 270, 271, 7, 63, 2, 2, 271, 272, 7, 63, 2, 2, 272, 42, 3, 2, 2, 2, 273, 274, 7, 63, 2, 2, 274, 44, 3, 2, 2, 2, 275, 276, 7, 62, 2, 2, 276, 280, 7, 64, 2, 2, 277, 278, 7, 35, 2, 2, 278, 280, 7, 63, 2, 2, 279, 275, 3, 2, 2, 2, 279, 277, 3, 2, 2, 2, 280, 46, 3, 2, 2, 2, 281, 282, 7, 64, 2, 2, 282, 48, 3, 2, 2, 2, 283, 284, 7, 64, 2, 2, 284, 285, 7, 63, 2, 2, 285, 50, 3, 2, 2, 2, 286, 287, 7, 62, 2, 2, 287, 52, 3, 2, 2, 2, 288, 289, 7, 62, 2, 2, 289, 290, 7, 63, 2, 2, 290, 54, 3, 2, 2, 2, 291, 292, 7, 37, 2, 2, 292, 56, 3, 2, 2, 2, 293, 294, 7, 42, 2, 2, 294, 58, 3, 2, 2, 2, 295, 296, 7, 43, 2, 2, 296, 60, 3, 2, 2, 2, 297, 298, 7, 125, 2, 2, 298, 62, 3, 2, 2, 2, 299, 300, 7, 127, 2, 2, 300, 64, 3, 2, 2, 2, 301, 302, 7, 93, 2, 2, 302, 66, 3, 2, 2, 2, 303, 304, 7, 95, 2, 2, 304, 68, 3, 2, 2, 2, 305, 306, 7, 46, 2, 2, 306, 70, 3, 2, 2, 2, 307, 308, 7, 36, 2, 2, 308, 72, 3, 2, 2, 2, 309, 310, 7, 41, 2, 2, 310, 74, 3, 2, 2, 2, 311, 312, 7, 98, 2, 2, 312, 76, 3, 2, 2, 2, 313, 314, 7, 65, 2, 2, 314, 78, 3, 2, 2, 2, 315, 316, 7, 66, 2, 2, 316, 80, 3, 2, 2, 2, 317, 318, 7, 61, 2, 2, 318, 82, 3, 2, 2, 2, 319, 320, 7, 47, 2, 2, 320, 321, 7, 64, 2, 2, 321, 322, 7, 64, 2, 2, 322, 84, 3, 2, 2, 2, 323, 324, 7, 97, 2, 2, 324, 86, 3, 2, 2, 2, 325, 327, 9, 2, 2, 2, 326, 325, 3, 2, 2, 2, 327, 328, 3, 2, 2, 2, 328, 326, 3, 2, 2, 2, 328, 329, 3, 2, 2, 2, 329, 330, 3, 2, 2, 2, 330, 331, 8, 44, 2, 2, 331, 88, 3, 2, 2, 2, 332, 333, 5, 197, 99, 2, 333, 334, 5, 193, 97, 2, 334, 335, 5, 199, 100, 2, 335, 336, 5, 167, 84, 2, 336, 90, 3, 2, 2, 2, 337, 338, 5, 169, 85, 2, 338, 339, 5, 159, 80, 2, 339, 340, 5, 181, 91, 2, 340, 341, 5, 195, 98, 2, 341, 342, 5, 167, 84, 2, 342, 92, 3, 2, 2, 2, 343, 344, 5, 163, 82, 2, 344, 345, 5, 193, 97, 2, 345, 346, 5, 167, 84, 2, 346, 347, 5, 159, 80, 2, 347, 348, 5, 197, 99, 2, 348, 349, 5, 167, 84, 2, 349, 94, 3, 2, 2, 2, 350, 351, 5, 159, 80, 2, 351, 352, 5, 181, 91, 2, 352, 353, 5, 197, 99, 2, 353, 354, 5, 167, 84, 2, 354, 355, 5, 193, 97, 2, 355, 96, 3, 2, 2, 2, 356, 357, 5, 165, 83, 2, 357, 358, 5, 193, 97, 2, 358, 359, 5, 187, 94, 2, 359, 360, 5, 189, 95, 2, 360, 98, 3, 2, 2, 2, 361, 362, 5, 195, 98, 2, 362, 363, 5, 173, 87, 2, 363, 364, 5, 187, 94, 2, 364, 365, 5, 203, 102, 2, 365, 100, 3, 2, 2, 2, 366, 367, 5, 193, 97, 2, 367, 368, 5, 199, 100, 2, 368, 369, 5, 181, 91, 2, 369, 370, 5, 167, 84, 2, 370, 102, 3, 2, 2, 2, 371, 372, 5, 169, 85, 2, 372, 373, 5, 193, 97, 2, 373, 374, 5, 187, 94, 2, 374, 375, 5, 183, 92, 2, 375, 104, 3, 2, 2, 2, 376, 377, 5, 183, 92, 2, 377, 378, 5, 159, 80, 2, 378, 379, 5, 195, 98, 2, 379, 380, 5, 179, 90, 2, 380, 106, 3, 2, 2, 2, 381, 382, 5, 197, 99, 2, 382, 383, 5, 207, 104, 2, 383, 384, 5, 189, 95, 2, 384, 385, 5, 167, 84, 2, 385, 108, 3, 2, 2, 2, 386, 387, 5, 185, 93, 2, 387, 388, 5, 159, 80, 2, 388, 389, 5, 183, 92, 2, 389, 390, 5, 167, 84, 2, 390, 110, 3, 2, 2, 2, 391, 392, 5, 189, 95, 2, 392, 393, 5, 193, 97, 2, 393, 394, 5, 187, 94, 2, 394, 395, 5, 189, 95, 2, 395, 396, 5, 167, 84, 2, 396, 397, 5, 193, 97, 2, 397, 398, 5, 197, 99, 2, 398, 399, 5, 175, 88, 2, 399, 400, 5, 167, 84, 2, 400, 401, 5, 195, 98, 2, 401, 112, 3, 2, 2, 2, 402, 403, 5, 163, 82, 2, 403, 404, 5, 187, 94, 2, 404, 405, 5, 181, 91, 2, 405, 406, 5, 199, 100, 2, 406, 407, 5, 183, 92, 2, 407, 408, 5, 185, 93, 2, 408, 114, 3, 2, 2, 2, 409, 410, 5, 193, 97, 2, 410, 411, 5, 199, 100, 2, 411, 412, 5, 181, 91, 2, 412, 413, 5, 167, 84, 2, 413, 414, 5, 195, 98, 2, 414, 116, 3, 2, 2, 2, 415, 416, 5, 197, 99, 2, 416, 417, 5, 159, 80, 2, 417, 418, 5, 161, 81, 2, 418, 419, 5, 181, 91, 2, 419, 420, 5, 167, 84, 2, 420, 118, 3, 2, 2, 2, 421, 422, 5, 163, 82, 2, 422, 423, 5, 187, 94, 2, 423, 424, 5, 181, 91, 2, 424, 425, 5, 199, 100, 2, 425, 426, 5, 183, 92, 2, 426, 427, 5, 185, 93, 2, 427, 428, 5, 195, 98, 2, 428, 120, 3, 2, 2, 2, 429, 430, 5, 175, 88, 2, 430, 431, 5, 169, 85, 2, 431, 122, 3, 2, 2, 2, 432, 433, 5, 167, 84, 2, 433, 434, 5, 205, 103, 2, 434, 435, 5, 175, 88, 2, 435, 436, 5, 195, 98, 2, 436, 437, 5, 197, 99, 2, 437, 438, 5, 195, 98, 2, 438, 124, 3, 2, 2, 2, 439, 440, 5, 163, 82, 2, 440, 441, 5, 187, 94, 2, 441, 442, 5, 199, 100, 2, 442, 443, 5, 185, 93, 2, 443, 444, 5, 197, 99, 2, 444, 126, 3, 2, 2, 2, 445, 446, 5, 185, 93, 2, 446, 447, 5, 187, 94, 2, 447, 448, 5, 197, 99, 2, 448, 128, 3, 2, 2, 2, 449, 450, 5, 183, 92, 2, 450, 451, 5, 165, 83, 2, 451, 452, 9, 3, 2, 2, 452, 130, 3, 2, 2, 2, 453, 454, 5, 179, 90, 2, 454, 455, 5, 167, 84, 2, 455, 456, 5, 167, 84, 2, 456, 457, 5, 189, 95, 2, 457, 458, 5, 85, 43, 2, 458, 459, 5, 169, 85, 2, 459, 460, 5, 175, 88, 2, 460, 461, 5, 193, 97, 2, 461, 462, 5, 195, 98, 2, 462, 463, 5, 197, 99, 2, 463, 464, 5, 85, 43, 2, 464, 465, 5, 185, 93, 2, 465, 466, 5, 85, 43, 2, 466, 467, 5, 181, 91, 2, 467, 468, 5, 159, 80, 2, 468, 469, 5, 195, 98, 2, 469, 470, 5, 197, 99, 2, 470, 471, 5, 85, 43, 2, 471, 472, 5, 183, 92, 2, 472, 132, 3, 2, 2, 2, 473, 474, 5, 179, 90, 2, 474, 475, 5, 167, 84, 2, 475, 476, 5, 167, 84, 2, 476, 477, 5, 189, 95, 2, 477, 478, 5, 85, 43, 2, 478, 479, 5, 169, 85, 2, 479, 480, 5, 193, 97, 2, 480, 481, 5, 187, 94, 2, 481, 482, 5, 183, 92, 2, 482, 483, 5, 85, 43, 2, 483, 484, 5, 205, 103, 2, 484, 485, 5, 85, 43, 2, 485, 486, 5, 197, 99, 2, 486, 487, 5, 187, 94, 2, 487, 488, 5, 85, 43, 2, 488, 489, 5, 207, 104, 2, 489, 134, 3, 2, 2, 2, 490, 491, 5, 183, 92, 2, 491, 492, 5, 159, 80, 2, 492, 493, 5, 195, 98, 2, 493, 494, 5, 179, 90, 2, 494, 495, 5, 85, 43, 2, 495, 496, 5, 169, 85, 2, 496, 497, 5, 175, 88, 2, 497, 498, 5, 193, 97, 2, 498, 499, 5, 195, 98, 2, 499, 500, 5, 197, 99, 2, 500, 501, 5, 85, 43, 2, 501, 502, 5, 185, 93, 2, 502, 503, 5, 85, 43, 2, 503, 504, 5, 181, 91, 2, 504, 505, 5, 159, 80, 2, 505, 506, 5, 195, 98, 2, 506, 507, 5, 197, 99, 2, 507, 508, 5, 85, 43, 2, 508, 509, 5, 183, 92, 2, 509, 136, 3, 2, 2, 2, 510, 511, 5, 183, 92, 2, 511, 512, 5, 159, 80, 2, 512, 513, 5, 195, 98, 2, 513, 514, 5, 179, 90, 2, 514, 515, 5, 85, 43, 2, 515, 516, 5, 169, 85, 2, 516, 517, 5, 193, 97, 2, 517, 518, 5, 187, 94, 2, 518, 519, 5, 183, 92, 2, 519, 520, 5, 85, 43, 2, 520, 521, 5, 205, 103, 2, 521, 522, 5, 85, 43, 2, 522, 523, 5, 197, 99, 2, 523, 524, 5, 187, 94, 2, 524, 525, 5, 85, 43, 2, 525, 526, 5, 207, 104, 2, 526, 138, 3, 2, 2, 2, 527, 528, 5, 183, 92, 2, 528, 529, 5, 159, 80, 2, 529, 530, 5, 195, 98, 2, 530, 531, 5, 179, 90, 2, 531, 532, 5, 85, 43, 2, 532, 533, 5, 161, 81, 2, 533, 534, 5, 167, 84, 2, 534, 535, 5, 169, 85, 2, 535, 536, 5, 187, 94, 2, 536, 537, 5, 193, 97, 2, 537, 538, 5, 167, 84, 2, 538, 539, 5, 85, 43, 2, 539, 540, 5, 195, 98, 2, 540, 541, 5, 189, 95, 2, 541, 542, 5, 167, 84, 2, 542, 543, 5, 163, 82, 2, 543, 544, 5, 175, 88, 2, 544, 545, 5, 159, 80, 2, 545, 546, 5, 181, 91, 2, 546, 547, 5, 85, 43, 2, 547, 548, 5, 163, 82, 2, 548, 549, 5, 173, 87, 2, 549, 550, 5, 159, 80, 2, 550, 551, 5, 193, 97, 2, 551, 552, 5, 195, 98, 2, 552, 140, 3, 2, 2, 2, 553, 554, 5, 183, 92, 2, 554, 555, 5, 159, 80, 2, 555, 556, 5, 195, 98, 2, 556, 557, 5, 179, 90, 2, 557, 558, 5, 85, 43, 2, 558, 559, 5, 159, 80, 2, 559, 560, 5, 169, 85, 2, 560, 561, 5, 197, 99, 2, 561, 562, 5, 167, 84, 2, 562, 563, 5, 193, 97, 2, 563, 564, 5, 85, 43, 2, 564, 565, 5, 195, 98, 2, 565, 566, 5, 189, 95, 2, 566, 567, 5, 167, 84, 2, 567, 568, 5, 163, 82, 2, 568, 569, 5, 175, 88, 2, 569, 570, 5, 159, 80, 2, 570, 571, 5, 181, 91, 2, 571, 572, 5, 85, 43, 2, 572, 573, 5, 163, 82, 2, 573, 574, 5, 173, 87, 2, 574, 575, 5, 159, 80, 2, 575, 576, 5, 193, 97, 2, 576, 577, 5, 195, 98, 2, 577, 142, 3, 2, 2, 2, 578, 579, 5, 189, 95, 2, 579, 580, 5, 167, 84, 2, 580, 581, 5, 193, 97, 2, 581, 582, 5, 195, 98, 2, 582, 583, 5, 187, 94, 2, 583, 584, 5, 185, 93, 2, 584, 585, 5, 159, 80, 2, 585, 586, 5, 181, 91, 2, 586, 587, 5, 85, 43, 2, 587, 588, 5, 175, 88, 2, 588, 589, 5, 165, 83, 2, 589, 590, 5, 167, 84, 2, 590, 591, 5, 185, 93, 2, 591, 592, 5, 197, 99, 2, 592, 593, 5, 175, 88, 2, 593, 594, 5, 197, 99, 2, 594, 595, 5, 207, 104, 2, 595, 596, 5, 85, 43, 2, 596, 597, 5, 185, 93, 2, 597, 598, 5, 199, 100, 2, 598, 599, 5, 183, 92, 2, 599, 600, 5, 161, 81, 2, 600, 601, 5, 167, 84, 2, 601, 602, 5, 193, 97, 2, 602, 603, 5, 85, 43, 2, 603, 604, 5, 193, 97, 2, 604, 605, 5, 159, 80, 2, 605, 606, 5, 185, 93, 2, 606, 607, 5, 165, 83, 2, 607, 608, 5, 187, 94, 2, 608, 609, 5, 183, 92, 2, 609, 610, 5, 85, 43, 2, 610, 611, 5, 193, 97, 2, 611, 612, 5, 167, 84, 2, 612, 613, 5, 189, 95, 2, 613, 614, 5, 181, 91, 2, 614, 615, 5, 159, 80, 2, 615, 616, 5, 163, 82, 2, 616, 617, 5, 167, 84, 2, 617, 144, 3, 2, 2, 2, 618, 619, 5, 183, 92, 2, 619, 620, 5, 175, 88, 2, 620, 621, 5, 181, 91, 2, 621, 622, 5, 175, 88, 2, 622, 623, 5, 197, 99, 2, 623, 624, 5, 159, 80, 2, 624, 625, 5, 193, 97, 2, 625, 626, 5, 207, 104, 2, 626, 627, 5, 85, 43, 2, 627, 628, 5, 175, 88, 2, 628, 629, 5, 165, 83, 2, 629, 630, 5, 167, 84, 2, 630, 631, 5, 185, 93, 2, 631, 632, 5, 197, 99, 2, 632, 633, 5, 175, 88, 2, 633, 634, 5, 197, 99, 2, 634, 635, 5, 207, 104, 2, 635, 636, 5, 85, 43, 2, 636, 637, 5, 185, 93, 2, 637, 638, 5, 199, 100, 2, 638, 639, 5, 183, 92, 2, 639, 640, 5, 161, 81, 2, 640, 641, 5, 167, 84, 2, 641, 642, 5, 193, 97, 2, 642, 643, 5, 85, 43, 2, 643, 644, 5, 193, 97, 2, 644, 645, 5, 159, 80, 2, 645, 646, 5, 185, 93, 2, 646, 647, 5, 165, 83, 2, 647, 648, 5, 187, 94, 2, 648, 649, 5, 183, 92, 2, 649, 650, 5, 85, 43, 2, 650, 651, 5, 193, 97, 2, 651, 652, 5, 167, 84, 2, 652, 653, 5, 189, 95, 2, 653, 654, 5, 181, 91, 2, 654, 655, 5, 159, 80, 2, 655, 656, 5, 163, 82, 2, 656, 657, 5, 167, 84, 2, 657, 146, 3, 2, 2, 2, 658, 659, 5, 181, 91, 2, 659, 660, 5, 159, 80, 2, 660, 661, 5, 185, 93, 2, 661, 662, 5, 165, 83, 2, 662, 663, 5, 181, 91, 2, 663, 664, 5, 175, 88, 2, 664, 665, 5, 185, 93, 2, 665, 666, 5, 167, 84, 2, 666, 667, 5, 85, 43, 2, 667, 668, 5, 185, 93, 2, 668, 669, 5, 199, 100, 2, 669, 670, 5, 183, 92, 2, 670, 671, 5, 161, 81, 2, 671, 672, 5, 167, 84, 2, 672, 673, 5, 193, 97, 2, 673, 674, 5, 85, 43, 2, 674, 675, 5, 193, 97, 2, 675, 676, 5, 159, 80, 2, 676, 677, 5, 185, 93, 2, 677, 678, 5, 165, 83, 2, 678, 679, 5, 187, 94, 2, 679, 680, 5, 183, 92, 2, 680, 681, 5, 85, 43, 2, 681, 682, 5, 193, 97, 2, 682, 683, 5, 167, 84, 2, 683, 684, 5, 189, 95, 2, 684, 685, 5, 181, 91, 2, 685, 686, 5, 159, 80, 2, 686, 687, 5, 163, 82, 2, 687, 688, 5, 167, 84, 2, 688, 148, 3, 2, 2, 2, 689, 690, 5, 197, 99, 2, 690, 691, 5, 167, 84, 2, 691, 692, 5, 181, 91, 2, 692, 693, 5, 167, 84, 2, 693, 694, 5, 189, 95, 2, 694, 695, 5, 173, 87, 2, 695, 696, 5, 187, 94, 2, 696, 697, 5, 185, 93, 2, 697, 698, 5, 167, 84, 2, 698, 699, 5, 85, 43, 2, 699, 700, 5, 193, 97, 2, 700, 701, 5, 159, 80, 2, 701, 702, 5, 185, 93, 2, 702, 703, 5, 165, 83, 2, 703, 704, 5, 187, 94, 2, 704, 705, 5, 183, 92, 2, 705, 706, 5, 85, 43, 2, 706, 707, 5, 193, 97, 2, 707, 708, 5, 167, 84, 2, 708, 709, 5, 189, 95, 2, 709, 710, 5, 181, 91, 2, 710, 711, 5, 159, 80, 2, 711, 712, 5, 163, 82, 2, 712, 713, 5, 167, 84, 2, 713, 150, 3, 2, 2, 2, 714, 715, 5, 199, 100, 2, 715, 716, 5, 185, 93, 2, 716, 717, 5, 175, 88, 2, 717, 718, 5, 169, 85, 2, 718, 719, 5, 175, 88, 2, 719, 720, 5, 167, 84, 2, 720, 721, 5, 165, 83, 2, 721, 722, 5, 85, 43, 2, 722, 723, 5, 163, 82, 2, 723, 724, 5, 193, 97, 2, 724, 725, 5, 167, 84, 2, 725, 726, 5, 165, 83, 2, 726, 727, 5, 175, 88, 2, 727, 728, 5, 197, 99, 2, 728, 729, 5, 85, 43, 2, 729, 730, 5, 163, 82, 2, 730, 731, 5, 187, 94, 2, 731, 732, 5, 165, 83, 2, 732, 733, 5, 167, 84, 2, 733, 734, 5, 85, 43, 2, 734, 735, 5, 193, 97, 2, 735, 736, 5, 159, 80, 2, 736, 737, 5, 185, 93, 2, 737, 738, 5, 165, 83, 2, 738, 739, 5, 187, 94, 2, 739, 740, 5, 183, 92, 2, 740, 741, 5, 85, 43, 2, 741, 742, 5, 193, 97, 2, 742, 743, 5, 167, 84, 2, 743, 744, 5, 189, 95, 2, 744, 745, 5, 181, 91, 2, 745, 746, 5, 159, 80, 2, 746, 747, 5, 163, 82, 2, 747, 748, 5, 167, 84, 2, 748, 152, 3, 2, 2, 2, 749, 750, 5, 171, 86, 2, 750, 751, 5, 167, 84, 2, 751, 752, 5, 185, 93, 2, 752, 753, 5, 167, 84, 2, 753, 754, 5, 193, 97, 2, 754, 755, 5, 175, 88, 2, 755, 756, 5, 163, 82, 2, 756, 757, 5, 85, 43, 2, 757, 758, 5, 197, 99, 2, 758, 759, 5, 159, 80, 2, 759, 760, 5, 161, 81, 2, 760, 761, 5, 181, 91, 2, 761, 762, 5, 167, 84, 2, 762, 763, 5, 85, 43, 2, 763, 764, 5, 193, 97, 2, 764, 765, 5, 159, 80, 2, 765, 766, 5, 185, 93, 2, 766, 767, 5, 165, 83, 2, 767, 768, 5, 187, 94, 2, 768, 769, 5, 183, 92, 2, 769, 770, 5, 85, 43, 2, 770, 771, 5, 193, 97, 2, 771, 772, 5, 167, 84, 2, 772, 773, 5, 189, 95, 2, 773, 774, 5, 181, 91, 2, 774, 775, 5, 159, 80, 2, 775, 776, 5, 163, 82, 2, 776, 777, 5, 167, 84, 2, 777, 154, 3, 2, 2, 2, 778, 779, 5, 159, 80, 2, 779, 780, 5, 165, 83, 2, 780, 781, 5, 165, 83, 2, 781, 782, 5, 193, 97, 2, 782, 783, 5, 167, 84, 2, 783, 784, 5, 195, 98, 2, 784, 785, 5, 195, 98, 2, 785, 786, 5, 85, 43, 2, 786, 787, 5, 193, 97, 2, 787, 788, 5, 159, 80, 2, 788, 789, 5, 185, 93, 2, 789, 790, 5, 165, 83, 2, 790, 791, 5, 187, 94, 2, 791, 792, 5, 183, 92, 2, 792, 793, 5, 85, 43, 2, 793, 794, 5, 193, 97, 2, 794, 795, 5, 167, 84, 2, 795, 796, 5, 189, 95, 2, 796, 797, 5, 181, 91, 2, 797, 798, 5, 159, 80, 2, 798, 799, 5, 163, 82, 2, 799, 800, 5, 167, 84, 2, 800, 156, 3, 2, 2, 2, 801, 802, 7, 70, 2, 2, 802, 803, 7, 81, 2, 2, 803, 804, 7, 34, 2, 2, 804, 805, 7, 80, 2, 2, 805, 806, 7, 81, 2, 2, 806, 807, 7, 86, 2, 2, 807, 808, 7, 34, 2, 2, 808, 809, 7, 79, 2, 2, 809, 810, 7, 67, 2, 2, 810, 811, 7, 86, 2, 2, 811, 812, 7, 69, 2, 2, 812, 813, 7, 74, 2, 2, 813, 814, 7, 34, 2, 2, 814, 815, 7, 67, 2, 2, 815, 816, 7, 80, 2, 2, 816, 817, 7, 91, 2, 2, 817, 818, 7, 34, 2, 2, 818, 819, 7, 86, 2, 2, 819, 820, 7, 74, 2, 2, 820, 821, 7, 75, 2, 2, 821, 822, 7, 80, 2, 2, 822, 823, 7, 73, 2, 2, 823, 824, 7, 46, 2, 2, 824, 825, 7, 34, 2, 2, 825, 826, 7, 76, 2, 2, 826, 827, 7, 87, 2, 2, 827, 828, 7, 85, 2, 2, 828, 829, 7, 86, 2, 2, 829, 830, 7, 34, 2, 2, 830, 831, 7, 72, 2, 2, 831, 832, 7, 81, 2, 2, 832, 833, 7, 84, 2, 2, 833, 834, 7, 34, 2, 2, 834, 835, 7, 73, 2, 2, 835, 836, 7, 71, 2, 2, 836, 837, 7, 80, 2, 2, 837, 838, 7, 71, 2, 2, 838, 839, 7, 84, 2, 2, 839, 840, 7, 67, 2, 2, 840, 841, 7, 86, 2, 2, 841, 842, 7, 81, 2, 2, 842, 843, 7, 84, 2, 2, 843, 158, 3, 2, 2, 2, 844, 845, 9, 4, 2, 2, 845, 160, 3, 2, 2, 2, 846, 847, 9, 5, 2, 2, 847, 162, 3, 2, 2, 2, 848, 849, 9, 6, 2, 2, 849, 164, 3, 2, 2, 2, 850, 851, 9, 7, 2, 2, 851, 166, 3, 2, 2, 2, 852, 853, 9, 8, 2, 2, 853, 168, 3, 2, 2, 2, 854, 855, 9, 9, 2, 2, 855, 170, 3, 2, 2, 2, 856, 857, 9, 10, 2, 2, 857, 172, 3, 2, 2, 2, 858, 859, 9, 11, 2, 2, 859, 174, 3, 2, 2, 2, 860, 861, 9, 12, 2, 2, 861, 176, 3, 2, 2, 2, 862, 863, 9, 13, 2, 2, 863, 178, 3, 2, 2, 2, 864, 865, 9, 14, 2, 2, 865, 180, 3, 2, 2, 2, 866, 867, 9, 15, 2, 2, 867, 182, 3, 2, 2, 2, 868, 869, 9, 16, 2, 2, 869, 184, 3, 2, 2, 2, 870, 871, 9, 17, 2, 2, 871, 186, 3, 2, 2, 2, 872, 873, 9, 18, 2, 2, 873, 188, 3, 2, 2, 2, 874, 875, 9, 19, 2, 2, 875, 190, 3, 2, 2, 2, 876, 877, 9, 20, 2, 2, 877, 192, 3, 2, 2, 2, 878, 879, 9, 21, 2, 2, 879, 194, 3, 2, 2, 2, 880, 881, 9, 22, 2, 2, 881, 196, 3, 2, 2, 2, 882, 883, 9, 23, 2, 2, 883, 198, 3, 2, 2, 2, 884, 885, 9, 24, 2, 2, 885, 200, 3, 2, 2, 2, 886, 887, 9, 25, 2, 2, 887, 202, 3, 2, 2, 2, 888, 889, 9, 26, 2, 2, 889, 204, 3, 2, 2, 2, 890, 891, 9, 27, 2, 2, 891, 206, 3, 2, 2, 2, 892, 893, 9, 28, 2, 2, 893, 208, 3, 2, 2, 2, 894, 895, 9, 29, 2, 2, 895, 210, 3, 2, 2, 2, 896, 898, 9, 30, 2, 2, 897, 896, 3, 2, 2, 2, 898, 901, 3, 2, 2, 2, 899, 900, 3, 2, 2, 2, 899, 897, 3, 2, 2, 2, 900, 903, 3, 2, 2, 2, 901, 899, 3, 2, 2, 2, 902, 904, 9, 31, 2, 2, 903, 902, 3, 2, 2, 2, 904, 905, 3, 2, 2, 2, 905, 906, 3, 2, 2, 2, 905, 903, 3, 2, 2, 2, 906, 910, 3, 2, 2, 2, 907, 909, 9, 30, 2, 2, 908, 907, 3, 2, 2, 2, 909, 912, 3, 2, 2, 2, 910, 908, 3, 2, 2, 2, 910, 911, 3, 2, 2, 2, 911, 922, 3, 2, 2, 2, 912, 910, 3, 2, 2, 2, 913, 915, 5, 75, 38, 2, 914, 916, 10, 32, 2, 2, 915, 914, 3, 2, 2, 2, 916, 917, 3, 2, 2, 2, 917, 915, 3, 2, 2, 2, 917, 918, 3, 2, 2, 2, 918, 919, 3, 2, 2, 2, 919, 920, 5, 75, 38, 2, 920, 922, 3, 2, 2, 2, 921, 899, 3, 2, 2, 2, 921, 913, 3, 2, 2, 2, 922, 212, 3, 2, 2, 2, 923, 931, 5, 71, 36, 2, 924, 925, 7, 94, 2, 2, 925, 930, 11, 2, 2, 2, 926, 927, 7, 36, 2, 2, 927, 930, 7, 36, 2, 2, 928, 930, 10, 33, 2, 2, 929, 924, 3, 2, 2, 2, 929, 926, 3, 2, 2, 2, 929, 928, 3, 2, 2, 2, 930, 933, 3, 2, 2, 2, 931, 929, 3, 2, 2, 2, 931, 932, 3, 2, 2, 2, 932, 934, 3, 2, 2, 2, 933, 931, 3, 2, 2, 2, 934, 935, 5, 71, 36, 2, 935, 950, 3, 2, 2, 2, 936, 944, 5, 73, 37, 2, 937, 938, 7, 94, 2, 2, 938, 943, 11, 2, 2, 2, 939, 940, 7, 41, 2, 2, 940, 943, 7, 41, 2, 2, 941, 943, 10, 34, 2, 2, 942, 937, 3, 2, 2, 2, 942, 939, 3, 2, 2, 2, 942, 941, 3, 2, 2, 2, 943, 946, 3, 2, 2, 2, 944, 942, 3, 2, 2, 2, 944, 945, 3, 2, 2, 2, 945, 947, 3, 2, 2, 2, 946, 944, 3, 2, 2, 2, 947, 948, 5, 73, 37, 2, 948, 950, 3, 2, 2, 2, 949, 923, 3, 2, 2, 2, 949, 936, 3, 2, 2, 2, 950, 214, 3, 2, 2, 2, 951, 953, 9, 35, 2, 2, 952, 951, 3, 2, 2, 2, 953, 954, 3, 2, 2, 2, 954, 952, 3, 2, 2, 2, 954, 955, 3, 2, 2, 2, 955, 216, 3, 2, 2, 2, 956, 957, 9, 36, 2, 2, 957, 218, 3, 2, 2, 2, 958, 960, 5, 215, 108, 2, 959, 958, 3, 2, 2, 2, 959, 960, 3, 2, 2, 2, 960, 962, 3, 2, 2, 2, 961, 963, 5, 35, 18, 2, 962, 961, 3, 2, 2, 2, 962, 963, 3, 2, 2, 2, 963, 964, 3, 2, 2, 2, 964, 972, 5, 215, 108, 2, 965, 968, 5, 167, 84, 2, 966, 969, 5, 25, 13, 2, 967, 969, 5, 27, 14, 2, 968, 966, 3, 2, 2, 2, 968, 967, 3, 2, 2, 2, 968, 969, 3, 2, 2, 2, 969, 970, 3, 2, 2, 2, 970, 971, 5, 215, 108, 2, 971, 973, 3, 2, 2, 2, 972, 965, 3, 2, 2, 2, 972, 973, 3, 2, 2, 2, 973, 220, 3, 2, 2, 2, 974, 975, 7, 50, 2, 2, 975, 976, 7, 122, 2, 2, 976, 978, 3, 2, 2, 2, 977, 979, 5, 217, 109, 2, 978, 977, 3, 2, 2, 2, 979, 980, 3, 2, 2, 2, 980, 978, 3, 2, 2, 2, 980, 981, 3, 2, 2, 2, 981, 992, 3, 2, 2, 2, 982, 983, 7, 90, 2, 2, 983, 985, 5, 73, 37, 2, 984, 986, 5, 217, 109, 2, 985, 984, 3, 2, 2, 2, 986, 987, 3, 2, 2, 2, 987, 985, 3, 2, 2, 2, 987, 988, 3, 2, 2, 2, 988, 989, 3, 2, 2, 2, 989, 990, 5, 73, 37, 2, 990, 992, 3, 2, 2, 2, 991, 974, 3, 2, 2, 2, 991, 982, 3, 2, 2, 2, 992, 222, 3, 2, 2, 2, 993, 994, 7, 50, 2, 2, 994, 995, 7, 100, 2, 2, 995, 997, 3, 2, 2, 2, 996, 998, 4, 50, 51, 2, 997, 996, 3, 2, 2, 2, 998, 999, 3, 2, 2, 2, 999, 997, 3, 2, 2, 2, 999, 1000, 3, 2, 2, 2, 1000, 1011, 3, 2, 2, 2, 1001, 1002, 5, 161, 81, 2, 1002, 1004, 5, 73, 37, 2, 1003, 1005, 4, 50, 51, 2, 1004, 1003, 3, 2, 2, 2, 1005, 1006, 3, 2, 2, 2, 1006, 1004, 3, 2, 2, 2, 1006, 1007, 3, 2, 2, 2, 1007, 1008, 3, 2, 2, 2, 1008, 1009, 5, 73, 37, 2, 1009, 1011, 3, 2, 2, 2, 1010, 993, 3, 2, 2, 2, 1010, 1001, 3, 2, 2, 2, 1011, 224, 3, 2, 2, 2, 26, 2, 279, 328, 899, 905, 910, 917, 921, 929, 931, 942, 944, 949, 954, 959, 962, 968, 972, 980, 987, 991, 999, 1006, 1010, 3, 8, 2, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementLexer.java b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementLexer.java new file mode 100644 index 00000000..25a884ee --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementLexer.java @@ -0,0 +1,515 @@ +// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/mask/RQLStatement.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.misc.*; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class RQLStatementLexer extends Lexer { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, + SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, + ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, + DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, + LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, + SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, + WS=43, TRUE=44, FALSE=45, CREATE=46, ALTER=47, DROP=48, SHOW=49, RULE=50, + FROM=51, MASK=52, TYPE=53, NAME=54, PROPERTIES=55, COLUMN=56, RULES=57, + TABLE=58, COLUMNS=59, IF=60, EXISTS=61, COUNT=62, NOT=63, MD5=64, KEEP_FIRST_N_LAST_M=65, + KEEP_FROM_X_TO_Y=66, MASK_FIRST_N_LAST_M=67, MASK_FROM_X_TO_Y=68, MASK_BEFORE_SPECIAL_CHARS=69, + MASK_AFTER_SPECIAL_CHARS=70, PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE=71, + MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE=72, LANDLINE_NUMBER_RANDOM_REPLACE=73, + TELEPHONE_RANDOM_REPLACE=74, UNIFIED_CREDIT_CODE_RANDOM_REPLACE=75, GENERIC_TABLE_RANDOM_REPLACE=76, + ADDRESS_RANDOM_REPLACE=77, FOR_GENERATOR=78, IDENTIFIER_=79, STRING_=80, + INT_=81, HEX_=82, NUMBER_=83, HEXDIGIT_=84, BITNUM_=85; + public static String[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + + public static String[] modeNames = { + "DEFAULT_MODE" + }; + + private static String[] makeRuleNames() { + return new String[] { + "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", + "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", + "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", + "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", + "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", + "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", "FALSE", "CREATE", "ALTER", + "DROP", "SHOW", "RULE", "FROM", "MASK", "TYPE", "NAME", "PROPERTIES", + "COLUMN", "RULES", "TABLE", "COLUMNS", "IF", "EXISTS", "COUNT", "NOT", + "MD5", "KEEP_FIRST_N_LAST_M", "KEEP_FROM_X_TO_Y", "MASK_FIRST_N_LAST_M", + "MASK_FROM_X_TO_Y", "MASK_BEFORE_SPECIAL_CHARS", "MASK_AFTER_SPECIAL_CHARS", + "PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE", "MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE", + "LANDLINE_NUMBER_RANDOM_REPLACE", "TELEPHONE_RANDOM_REPLACE", "UNIFIED_CREDIT_CODE_RANDOM_REPLACE", + "GENERIC_TABLE_RANDOM_REPLACE", "ADDRESS_RANDOM_REPLACE", "FOR_GENERATOR", + "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", + "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "IDENTIFIER_", + "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", + "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", + "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", + "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", + "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", + "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", + "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", + "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", + "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", + "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", + "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", "FROM", "MASK", "TYPE", + "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", "COLUMNS", "IF", "EXISTS", + "COUNT", "NOT", "MD5", "KEEP_FIRST_N_LAST_M", "KEEP_FROM_X_TO_Y", "MASK_FIRST_N_LAST_M", + "MASK_FROM_X_TO_Y", "MASK_BEFORE_SPECIAL_CHARS", "MASK_AFTER_SPECIAL_CHARS", + "PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE", "MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE", + "LANDLINE_NUMBER_RANDOM_REPLACE", "TELEPHONE_RANDOM_REPLACE", "UNIFIED_CREDIT_CODE_RANDOM_REPLACE", + "GENERIC_TABLE_RANDOM_REPLACE", "ADDRESS_RANDOM_REPLACE", "FOR_GENERATOR", + "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + + public RQLStatementLexer(CharStream input) { + super(input); + _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + @Override + public String getGrammarFileName() { return "RQLStatement.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public String[] getChannelNames() { return channelNames; } + + @Override + public String[] getModeNames() { return modeNames; } + + @Override + public ATN getATN() { return _ATN; } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2W\u03f4\b\1\4\2\t"+ + "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ + "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ + "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ + "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ + "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ + ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ + "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ + "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+ + "\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+ + "\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+ + "`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\4k\t"+ + "k\4l\tl\4m\tm\4n\tn\4o\to\4p\tp\3\2\3\2\3\2\3\3\3\3\3\3\3\4\3\4\3\5\3"+ + "\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\t\3\t\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3"+ + "\r\3\r\3\16\3\16\3\17\3\17\3\20\3\20\3\21\3\21\3\22\3\22\3\23\3\23\3\23"+ + "\3\24\3\24\3\24\3\24\3\25\3\25\3\25\3\26\3\26\3\27\3\27\3\27\3\27\5\27"+ + "\u0118\n\27\3\30\3\30\3\31\3\31\3\31\3\32\3\32\3\33\3\33\3\33\3\34\3\34"+ + "\3\35\3\35\3\36\3\36\3\37\3\37\3 \3 \3!\3!\3\"\3\"\3#\3#\3$\3$\3%\3%\3"+ + "&\3&\3\'\3\'\3(\3(\3)\3)\3*\3*\3*\3*\3+\3+\3,\6,\u0147\n,\r,\16,\u0148"+ + "\3,\3,\3-\3-\3-\3-\3-\3.\3.\3.\3.\3.\3.\3/\3/\3/\3/\3/\3/\3/\3\60\3\60"+ + "\3\60\3\60\3\60\3\60\3\61\3\61\3\61\3\61\3\61\3\62\3\62\3\62\3\62\3\62"+ + "\3\63\3\63\3\63\3\63\3\63\3\64\3\64\3\64\3\64\3\64\3\65\3\65\3\65\3\65"+ + "\3\65\3\66\3\66\3\66\3\66\3\66\3\67\3\67\3\67\3\67\3\67\38\38\38\38\3"+ + "8\38\38\38\38\38\38\39\39\39\39\39\39\39\3:\3:\3:\3:\3:\3:\3;\3;\3;\3"+ + ";\3;\3;\3<\3<\3<\3<\3<\3<\3<\3<\3=\3=\3=\3>\3>\3>\3>\3>\3>\3>\3?\3?\3"+ + "?\3?\3?\3?\3@\3@\3@\3@\3A\3A\3A\3A\3B\3B\3B\3B\3B\3B\3B\3B\3B\3B\3B\3"+ + "B\3B\3B\3B\3B\3B\3B\3B\3B\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3"+ + "C\3C\3C\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3"+ + "E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3F\3F\3F\3F\3F\3F\3"+ + "F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3G\3G\3G\3"+ + "G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3H\3"+ + "H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3"+ + "H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3I\3I\3I\3I\3I\3I\3I\3"+ + "I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3"+ + "I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3"+ + "J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3K\3K\3K\3K\3K\3"+ + "K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3L\3L\3L\3"+ + "L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3"+ + "L\3L\3L\3L\3L\3L\3L\3L\3L\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3"+ + "M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3N\3N\3N\3N\3N\3N\3N\3N\3"+ + "N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3O\3O\3O\3O\3O\3O\3O\3O\3"+ + "O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3"+ + "O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3P\3P\3Q\3Q\3R\3R\3S\3S\3T\3T\3U\3"+ + "U\3V\3V\3W\3W\3X\3X\3Y\3Y\3Z\3Z\3[\3[\3\\\3\\\3]\3]\3^\3^\3_\3_\3`\3`"+ + "\3a\3a\3b\3b\3c\3c\3d\3d\3e\3e\3f\3f\3g\3g\3h\3h\3i\3i\3j\7j\u0382\nj"+ + "\fj\16j\u0385\13j\3j\6j\u0388\nj\rj\16j\u0389\3j\7j\u038d\nj\fj\16j\u0390"+ + "\13j\3j\3j\6j\u0394\nj\rj\16j\u0395\3j\3j\5j\u039a\nj\3k\3k\3k\3k\3k\3"+ + "k\7k\u03a2\nk\fk\16k\u03a5\13k\3k\3k\3k\3k\3k\3k\3k\3k\7k\u03af\nk\fk"+ + "\16k\u03b2\13k\3k\3k\5k\u03b6\nk\3l\6l\u03b9\nl\rl\16l\u03ba\3m\3m\3n"+ + "\5n\u03c0\nn\3n\5n\u03c3\nn\3n\3n\3n\3n\5n\u03c9\nn\3n\3n\5n\u03cd\nn"+ + "\3o\3o\3o\3o\6o\u03d3\no\ro\16o\u03d4\3o\3o\3o\6o\u03da\no\ro\16o\u03db"+ + "\3o\3o\5o\u03e0\no\3p\3p\3p\3p\6p\u03e6\np\rp\16p\u03e7\3p\3p\3p\6p\u03ed"+ + "\np\rp\16p\u03ee\3p\3p\5p\u03f3\np\4\u0383\u0389\2q\3\3\5\4\7\5\t\6\13"+ + "\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\35\20\37\21!\22#\23%\24\'"+ + "\25)\26+\27-\30/\31\61\32\63\33\65\34\67\359\36;\37= ?!A\"C#E$G%I&K\'"+ + "M(O)Q*S+U,W-Y.[/]\60_\61a\62c\63e\64g\65i\66k\67m8o9q:s;u{?}@\177"+ + "A\u0081B\u0083C\u0085D\u0087E\u0089F\u008bG\u008dH\u008fI\u0091J\u0093"+ + "K\u0095L\u0097M\u0099N\u009bO\u009dP\u009f\2\u00a1\2\u00a3\2\u00a5\2\u00a7"+ + "\2\u00a9\2\u00ab\2\u00ad\2\u00af\2\u00b1\2\u00b3\2\u00b5\2\u00b7\2\u00b9"+ + "\2\u00bb\2\u00bd\2\u00bf\2\u00c1\2\u00c3\2\u00c5\2\u00c7\2\u00c9\2\u00cb"+ + "\2\u00cd\2\u00cf\2\u00d1\2\u00d3Q\u00d5R\u00d7S\u00d9T\u00dbU\u00ddV\u00df"+ + "W\3\2%\5\2\13\f\17\17\"\"\3\2\67\67\4\2CCcc\4\2DDdd\4\2EEee\4\2FFff\4"+ + "\2GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4\2LLll\4\2MMmm\4\2NNnn\4\2OOo"+ + "o\4\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4\2TTtt\4\2UUuu\4\2VVvv\4\2WWww\4\2"+ + "XXxx\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\||\7\2&&\62;C\\aac|\6\2&&C\\aac|\3"+ + "\2bb\4\2$$^^\4\2))^^\3\2\62;\5\2\62;CHch\2\u03f3\2\3\3\2\2\2\2\5\3\2\2"+ + "\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17\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\31\3\2\2\2\2\33\3\2"+ + "\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2\2\2%\3\2\2\2\2\'\3"+ + "\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\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\29\3\2\2\2\2;\3\2\2\2\2=\3\2\2\2\2?\3"+ + "\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2\2I\3\2\2\2\2K\3\2\2"+ + "\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2\2\2\2W\3\2\2\2\2"+ + "Y\3\2\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3\2\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3"+ + "\2\2\2\2g\3\2\2\2\2i\3\2\2\2\2k\3\2\2\2\2m\3\2\2\2\2o\3\2\2\2\2q\3\2\2"+ + "\2\2s\3\2\2\2\2u\3\2\2\2\2w\3\2\2\2\2y\3\2\2\2\2{\3\2\2\2\2}\3\2\2\2\2"+ + "\177\3\2\2\2\2\u0081\3\2\2\2\2\u0083\3\2\2\2\2\u0085\3\2\2\2\2\u0087\3"+ + "\2\2\2\2\u0089\3\2\2\2\2\u008b\3\2\2\2\2\u008d\3\2\2\2\2\u008f\3\2\2\2"+ + "\2\u0091\3\2\2\2\2\u0093\3\2\2\2\2\u0095\3\2\2\2\2\u0097\3\2\2\2\2\u0099"+ + "\3\2\2\2\2\u009b\3\2\2\2\2\u009d\3\2\2\2\2\u00d3\3\2\2\2\2\u00d5\3\2\2"+ + "\2\2\u00d7\3\2\2\2\2\u00d9\3\2\2\2\2\u00db\3\2\2\2\2\u00dd\3\2\2\2\2\u00df"+ + "\3\2\2\2\3\u00e1\3\2\2\2\5\u00e4\3\2\2\2\7\u00e7\3\2\2\2\t\u00e9\3\2\2"+ + "\2\13\u00eb\3\2\2\2\r\u00ed\3\2\2\2\17\u00ef\3\2\2\2\21\u00f2\3\2\2\2"+ + "\23\u00f5\3\2\2\2\25\u00f7\3\2\2\2\27\u00f9\3\2\2\2\31\u00fb\3\2\2\2\33"+ + "\u00fd\3\2\2\2\35\u00ff\3\2\2\2\37\u0101\3\2\2\2!\u0103\3\2\2\2#\u0105"+ + "\3\2\2\2%\u0107\3\2\2\2\'\u010a\3\2\2\2)\u010e\3\2\2\2+\u0111\3\2\2\2"+ + "-\u0117\3\2\2\2/\u0119\3\2\2\2\61\u011b\3\2\2\2\63\u011e\3\2\2\2\65\u0120"+ + "\3\2\2\2\67\u0123\3\2\2\29\u0125\3\2\2\2;\u0127\3\2\2\2=\u0129\3\2\2\2"+ + "?\u012b\3\2\2\2A\u012d\3\2\2\2C\u012f\3\2\2\2E\u0131\3\2\2\2G\u0133\3"+ + "\2\2\2I\u0135\3\2\2\2K\u0137\3\2\2\2M\u0139\3\2\2\2O\u013b\3\2\2\2Q\u013d"+ + "\3\2\2\2S\u013f\3\2\2\2U\u0143\3\2\2\2W\u0146\3\2\2\2Y\u014c\3\2\2\2["+ + "\u0151\3\2\2\2]\u0157\3\2\2\2_\u015e\3\2\2\2a\u0164\3\2\2\2c\u0169\3\2"+ + "\2\2e\u016e\3\2\2\2g\u0173\3\2\2\2i\u0178\3\2\2\2k\u017d\3\2\2\2m\u0182"+ + "\3\2\2\2o\u0187\3\2\2\2q\u0192\3\2\2\2s\u0199\3\2\2\2u\u019f\3\2\2\2w"+ + "\u01a5\3\2\2\2y\u01ad\3\2\2\2{\u01b0\3\2\2\2}\u01b7\3\2\2\2\177\u01bd"+ + "\3\2\2\2\u0081\u01c1\3\2\2\2\u0083\u01c5\3\2\2\2\u0085\u01d9\3\2\2\2\u0087"+ + "\u01ea\3\2\2\2\u0089\u01fe\3\2\2\2\u008b\u020f\3\2\2\2\u008d\u0229\3\2"+ + "\2\2\u008f\u0242\3\2\2\2\u0091\u026a\3\2\2\2\u0093\u0292\3\2\2\2\u0095"+ + "\u02b1\3\2\2\2\u0097\u02ca\3\2\2\2\u0099\u02ed\3\2\2\2\u009b\u030a\3\2"+ + "\2\2\u009d\u0321\3\2\2\2\u009f\u034c\3\2\2\2\u00a1\u034e\3\2\2\2\u00a3"+ + "\u0350\3\2\2\2\u00a5\u0352\3\2\2\2\u00a7\u0354\3\2\2\2\u00a9\u0356\3\2"+ + "\2\2\u00ab\u0358\3\2\2\2\u00ad\u035a\3\2\2\2\u00af\u035c\3\2\2\2\u00b1"+ + "\u035e\3\2\2\2\u00b3\u0360\3\2\2\2\u00b5\u0362\3\2\2\2\u00b7\u0364\3\2"+ + "\2\2\u00b9\u0366\3\2\2\2\u00bb\u0368\3\2\2\2\u00bd\u036a\3\2\2\2\u00bf"+ + "\u036c\3\2\2\2\u00c1\u036e\3\2\2\2\u00c3\u0370\3\2\2\2\u00c5\u0372\3\2"+ + "\2\2\u00c7\u0374\3\2\2\2\u00c9\u0376\3\2\2\2\u00cb\u0378\3\2\2\2\u00cd"+ + "\u037a\3\2\2\2\u00cf\u037c\3\2\2\2\u00d1\u037e\3\2\2\2\u00d3\u0399\3\2"+ + "\2\2\u00d5\u03b5\3\2\2\2\u00d7\u03b8\3\2\2\2\u00d9\u03bc\3\2\2\2\u00db"+ + "\u03bf\3\2\2\2\u00dd\u03df\3\2\2\2\u00df\u03f2\3\2\2\2\u00e1\u00e2\7("+ + "\2\2\u00e2\u00e3\7(\2\2\u00e3\4\3\2\2\2\u00e4\u00e5\7~\2\2\u00e5\u00e6"+ + "\7~\2\2\u00e6\6\3\2\2\2\u00e7\u00e8\7#\2\2\u00e8\b\3\2\2\2\u00e9\u00ea"+ + "\7\u0080\2\2\u00ea\n\3\2\2\2\u00eb\u00ec\7~\2\2\u00ec\f\3\2\2\2\u00ed"+ + "\u00ee\7(\2\2\u00ee\16\3\2\2\2\u00ef\u00f0\7>\2\2\u00f0\u00f1\7>\2\2\u00f1"+ + "\20\3\2\2\2\u00f2\u00f3\7@\2\2\u00f3\u00f4\7@\2\2\u00f4\22\3\2\2\2\u00f5"+ + "\u00f6\7`\2\2\u00f6\24\3\2\2\2\u00f7\u00f8\7\'\2\2\u00f8\26\3\2\2\2\u00f9"+ + "\u00fa\7<\2\2\u00fa\30\3\2\2\2\u00fb\u00fc\7-\2\2\u00fc\32\3\2\2\2\u00fd"+ + "\u00fe\7/\2\2\u00fe\34\3\2\2\2\u00ff\u0100\7,\2\2\u0100\36\3\2\2\2\u0101"+ + "\u0102\7\61\2\2\u0102 \3\2\2\2\u0103\u0104\7^\2\2\u0104\"\3\2\2\2\u0105"+ + "\u0106\7\60\2\2\u0106$\3\2\2\2\u0107\u0108\7\60\2\2\u0108\u0109\7,\2\2"+ + "\u0109&\3\2\2\2\u010a\u010b\7>\2\2\u010b\u010c\7?\2\2\u010c\u010d\7@\2"+ + "\2\u010d(\3\2\2\2\u010e\u010f\7?\2\2\u010f\u0110\7?\2\2\u0110*\3\2\2\2"+ + "\u0111\u0112\7?\2\2\u0112,\3\2\2\2\u0113\u0114\7>\2\2\u0114\u0118\7@\2"+ + "\2\u0115\u0116\7#\2\2\u0116\u0118\7?\2\2\u0117\u0113\3\2\2\2\u0117\u0115"+ + "\3\2\2\2\u0118.\3\2\2\2\u0119\u011a\7@\2\2\u011a\60\3\2\2\2\u011b\u011c"+ + "\7@\2\2\u011c\u011d\7?\2\2\u011d\62\3\2\2\2\u011e\u011f\7>\2\2\u011f\64"+ + "\3\2\2\2\u0120\u0121\7>\2\2\u0121\u0122\7?\2\2\u0122\66\3\2\2\2\u0123"+ + "\u0124\7%\2\2\u01248\3\2\2\2\u0125\u0126\7*\2\2\u0126:\3\2\2\2\u0127\u0128"+ + "\7+\2\2\u0128<\3\2\2\2\u0129\u012a\7}\2\2\u012a>\3\2\2\2\u012b\u012c\7"+ + "\177\2\2\u012c@\3\2\2\2\u012d\u012e\7]\2\2\u012eB\3\2\2\2\u012f\u0130"+ + "\7_\2\2\u0130D\3\2\2\2\u0131\u0132\7.\2\2\u0132F\3\2\2\2\u0133\u0134\7"+ + "$\2\2\u0134H\3\2\2\2\u0135\u0136\7)\2\2\u0136J\3\2\2\2\u0137\u0138\7b"+ + "\2\2\u0138L\3\2\2\2\u0139\u013a\7A\2\2\u013aN\3\2\2\2\u013b\u013c\7B\2"+ + "\2\u013cP\3\2\2\2\u013d\u013e\7=\2\2\u013eR\3\2\2\2\u013f\u0140\7/\2\2"+ + "\u0140\u0141\7@\2\2\u0141\u0142\7@\2\2\u0142T\3\2\2\2\u0143\u0144\7a\2"+ + "\2\u0144V\3\2\2\2\u0145\u0147\t\2\2\2\u0146\u0145\3\2\2\2\u0147\u0148"+ + "\3\2\2\2\u0148\u0146\3\2\2\2\u0148\u0149\3\2\2\2\u0149\u014a\3\2\2\2\u014a"+ + "\u014b\b,\2\2\u014bX\3\2\2\2\u014c\u014d\5\u00c5c\2\u014d\u014e\5\u00c1"+ + "a\2\u014e\u014f\5\u00c7d\2\u014f\u0150\5\u00a7T\2\u0150Z\3\2\2\2\u0151"+ + "\u0152\5\u00a9U\2\u0152\u0153\5\u009fP\2\u0153\u0154\5\u00b5[\2\u0154"+ + "\u0155\5\u00c3b\2\u0155\u0156\5\u00a7T\2\u0156\\\3\2\2\2\u0157\u0158\5"+ + "\u00a3R\2\u0158\u0159\5\u00c1a\2\u0159\u015a\5\u00a7T\2\u015a\u015b\5"+ + "\u009fP\2\u015b\u015c\5\u00c5c\2\u015c\u015d\5\u00a7T\2\u015d^\3\2\2\2"+ + "\u015e\u015f\5\u009fP\2\u015f\u0160\5\u00b5[\2\u0160\u0161\5\u00c5c\2"+ + "\u0161\u0162\5\u00a7T\2\u0162\u0163\5\u00c1a\2\u0163`\3\2\2\2\u0164\u0165"+ + "\5\u00a5S\2\u0165\u0166\5\u00c1a\2\u0166\u0167\5\u00bb^\2\u0167\u0168"+ + "\5\u00bd_\2\u0168b\3\2\2\2\u0169\u016a\5\u00c3b\2\u016a\u016b\5\u00ad"+ + "W\2\u016b\u016c\5\u00bb^\2\u016c\u016d\5\u00cbf\2\u016dd\3\2\2\2\u016e"+ + "\u016f\5\u00c1a\2\u016f\u0170\5\u00c7d\2\u0170\u0171\5\u00b5[\2\u0171"+ + "\u0172\5\u00a7T\2\u0172f\3\2\2\2\u0173\u0174\5\u00a9U\2\u0174\u0175\5"+ + "\u00c1a\2\u0175\u0176\5\u00bb^\2\u0176\u0177\5\u00b7\\\2\u0177h\3\2\2"+ + "\2\u0178\u0179\5\u00b7\\\2\u0179\u017a\5\u009fP\2\u017a\u017b\5\u00c3"+ + "b\2\u017b\u017c\5\u00b3Z\2\u017cj\3\2\2\2\u017d\u017e\5\u00c5c\2\u017e"+ + "\u017f\5\u00cfh\2\u017f\u0180\5\u00bd_\2\u0180\u0181\5\u00a7T\2\u0181"+ + "l\3\2\2\2\u0182\u0183\5\u00b9]\2\u0183\u0184\5\u009fP\2\u0184\u0185\5"+ + "\u00b7\\\2\u0185\u0186\5\u00a7T\2\u0186n\3\2\2\2\u0187\u0188\5\u00bd_"+ + "\2\u0188\u0189\5\u00c1a\2\u0189\u018a\5\u00bb^\2\u018a\u018b\5\u00bd_"+ + "\2\u018b\u018c\5\u00a7T\2\u018c\u018d\5\u00c1a\2\u018d\u018e\5\u00c5c"+ + "\2\u018e\u018f\5\u00afX\2\u018f\u0190\5\u00a7T\2\u0190\u0191\5\u00c3b"+ + "\2\u0191p\3\2\2\2\u0192\u0193\5\u00a3R\2\u0193\u0194\5\u00bb^\2\u0194"+ + "\u0195\5\u00b5[\2\u0195\u0196\5\u00c7d\2\u0196\u0197\5\u00b7\\\2\u0197"+ + "\u0198\5\u00b9]\2\u0198r\3\2\2\2\u0199\u019a\5\u00c1a\2\u019a\u019b\5"+ + "\u00c7d\2\u019b\u019c\5\u00b5[\2\u019c\u019d\5\u00a7T\2\u019d\u019e\5"+ + "\u00c3b\2\u019et\3\2\2\2\u019f\u01a0\5\u00c5c\2\u01a0\u01a1\5\u009fP\2"+ + "\u01a1\u01a2\5\u00a1Q\2\u01a2\u01a3\5\u00b5[\2\u01a3\u01a4\5\u00a7T\2"+ + "\u01a4v\3\2\2\2\u01a5\u01a6\5\u00a3R\2\u01a6\u01a7\5\u00bb^\2\u01a7\u01a8"+ + "\5\u00b5[\2\u01a8\u01a9\5\u00c7d\2\u01a9\u01aa\5\u00b7\\\2\u01aa\u01ab"+ + "\5\u00b9]\2\u01ab\u01ac\5\u00c3b\2\u01acx\3\2\2\2\u01ad\u01ae\5\u00af"+ + "X\2\u01ae\u01af\5\u00a9U\2\u01afz\3\2\2\2\u01b0\u01b1\5\u00a7T\2\u01b1"+ + "\u01b2\5\u00cdg\2\u01b2\u01b3\5\u00afX\2\u01b3\u01b4\5\u00c3b\2\u01b4"+ + "\u01b5\5\u00c5c\2\u01b5\u01b6\5\u00c3b\2\u01b6|\3\2\2\2\u01b7\u01b8\5"+ + "\u00a3R\2\u01b8\u01b9\5\u00bb^\2\u01b9\u01ba\5\u00c7d\2\u01ba\u01bb\5"+ + "\u00b9]\2\u01bb\u01bc\5\u00c5c\2\u01bc~\3\2\2\2\u01bd\u01be\5\u00b9]\2"+ + "\u01be\u01bf\5\u00bb^\2\u01bf\u01c0\5\u00c5c\2\u01c0\u0080\3\2\2\2\u01c1"+ + "\u01c2\5\u00b7\\\2\u01c2\u01c3\5\u00a5S\2\u01c3\u01c4\t\3\2\2\u01c4\u0082"+ + "\3\2\2\2\u01c5\u01c6\5\u00b3Z\2\u01c6\u01c7\5\u00a7T\2\u01c7\u01c8\5\u00a7"+ + "T\2\u01c8\u01c9\5\u00bd_\2\u01c9\u01ca\5U+\2\u01ca\u01cb\5\u00a9U\2\u01cb"+ + "\u01cc\5\u00afX\2\u01cc\u01cd\5\u00c1a\2\u01cd\u01ce\5\u00c3b\2\u01ce"+ + "\u01cf\5\u00c5c\2\u01cf\u01d0\5U+\2\u01d0\u01d1\5\u00b9]\2\u01d1\u01d2"+ + "\5U+\2\u01d2\u01d3\5\u00b5[\2\u01d3\u01d4\5\u009fP\2\u01d4\u01d5\5\u00c3"+ + "b\2\u01d5\u01d6\5\u00c5c\2\u01d6\u01d7\5U+\2\u01d7\u01d8\5\u00b7\\\2\u01d8"+ + "\u0084\3\2\2\2\u01d9\u01da\5\u00b3Z\2\u01da\u01db\5\u00a7T\2\u01db\u01dc"+ + "\5\u00a7T\2\u01dc\u01dd\5\u00bd_\2\u01dd\u01de\5U+\2\u01de\u01df\5\u00a9"+ + "U\2\u01df\u01e0\5\u00c1a\2\u01e0\u01e1\5\u00bb^\2\u01e1\u01e2\5\u00b7"+ + "\\\2\u01e2\u01e3\5U+\2\u01e3\u01e4\5\u00cdg\2\u01e4\u01e5\5U+\2\u01e5"+ + "\u01e6\5\u00c5c\2\u01e6\u01e7\5\u00bb^\2\u01e7\u01e8\5U+\2\u01e8\u01e9"+ + "\5\u00cfh\2\u01e9\u0086\3\2\2\2\u01ea\u01eb\5\u00b7\\\2\u01eb\u01ec\5"+ + "\u009fP\2\u01ec\u01ed\5\u00c3b\2\u01ed\u01ee\5\u00b3Z\2\u01ee\u01ef\5"+ + "U+\2\u01ef\u01f0\5\u00a9U\2\u01f0\u01f1\5\u00afX\2\u01f1\u01f2\5\u00c1"+ + "a\2\u01f2\u01f3\5\u00c3b\2\u01f3\u01f4\5\u00c5c\2\u01f4\u01f5\5U+\2\u01f5"+ + "\u01f6\5\u00b9]\2\u01f6\u01f7\5U+\2\u01f7\u01f8\5\u00b5[\2\u01f8\u01f9"+ + "\5\u009fP\2\u01f9\u01fa\5\u00c3b\2\u01fa\u01fb\5\u00c5c\2\u01fb\u01fc"+ + "\5U+\2\u01fc\u01fd\5\u00b7\\\2\u01fd\u0088\3\2\2\2\u01fe\u01ff\5\u00b7"+ + "\\\2\u01ff\u0200\5\u009fP\2\u0200\u0201\5\u00c3b\2\u0201\u0202\5\u00b3"+ + "Z\2\u0202\u0203\5U+\2\u0203\u0204\5\u00a9U\2\u0204\u0205\5\u00c1a\2\u0205"+ + "\u0206\5\u00bb^\2\u0206\u0207\5\u00b7\\\2\u0207\u0208\5U+\2\u0208\u0209"+ + "\5\u00cdg\2\u0209\u020a\5U+\2\u020a\u020b\5\u00c5c\2\u020b\u020c\5\u00bb"+ + "^\2\u020c\u020d\5U+\2\u020d\u020e\5\u00cfh\2\u020e\u008a\3\2\2\2\u020f"+ + "\u0210\5\u00b7\\\2\u0210\u0211\5\u009fP\2\u0211\u0212\5\u00c3b\2\u0212"+ + "\u0213\5\u00b3Z\2\u0213\u0214\5U+\2\u0214\u0215\5\u00a1Q\2\u0215\u0216"+ + "\5\u00a7T\2\u0216\u0217\5\u00a9U\2\u0217\u0218\5\u00bb^\2\u0218\u0219"+ + "\5\u00c1a\2\u0219\u021a\5\u00a7T\2\u021a\u021b\5U+\2\u021b\u021c\5\u00c3"+ + "b\2\u021c\u021d\5\u00bd_\2\u021d\u021e\5\u00a7T\2\u021e\u021f\5\u00a3"+ + "R\2\u021f\u0220\5\u00afX\2\u0220\u0221\5\u009fP\2\u0221\u0222\5\u00b5"+ + "[\2\u0222\u0223\5U+\2\u0223\u0224\5\u00a3R\2\u0224\u0225\5\u00adW\2\u0225"+ + "\u0226\5\u009fP\2\u0226\u0227\5\u00c1a\2\u0227\u0228\5\u00c3b\2\u0228"+ + "\u008c\3\2\2\2\u0229\u022a\5\u00b7\\\2\u022a\u022b\5\u009fP\2\u022b\u022c"+ + "\5\u00c3b\2\u022c\u022d\5\u00b3Z\2\u022d\u022e\5U+\2\u022e\u022f\5\u009f"+ + "P\2\u022f\u0230\5\u00a9U\2\u0230\u0231\5\u00c5c\2\u0231\u0232\5\u00a7"+ + "T\2\u0232\u0233\5\u00c1a\2\u0233\u0234\5U+\2\u0234\u0235\5\u00c3b\2\u0235"+ + "\u0236\5\u00bd_\2\u0236\u0237\5\u00a7T\2\u0237\u0238\5\u00a3R\2\u0238"+ + "\u0239\5\u00afX\2\u0239\u023a\5\u009fP\2\u023a\u023b\5\u00b5[\2\u023b"+ + "\u023c\5U+\2\u023c\u023d\5\u00a3R\2\u023d\u023e\5\u00adW\2\u023e\u023f"+ + "\5\u009fP\2\u023f\u0240\5\u00c1a\2\u0240\u0241\5\u00c3b\2\u0241\u008e"+ + "\3\2\2\2\u0242\u0243\5\u00bd_\2\u0243\u0244\5\u00a7T\2\u0244\u0245\5\u00c1"+ + "a\2\u0245\u0246\5\u00c3b\2\u0246\u0247\5\u00bb^\2\u0247\u0248\5\u00b9"+ + "]\2\u0248\u0249\5\u009fP\2\u0249\u024a\5\u00b5[\2\u024a\u024b\5U+\2\u024b"+ + "\u024c\5\u00afX\2\u024c\u024d\5\u00a5S\2\u024d\u024e\5\u00a7T\2\u024e"+ + "\u024f\5\u00b9]\2\u024f\u0250\5\u00c5c\2\u0250\u0251\5\u00afX\2\u0251"+ + "\u0252\5\u00c5c\2\u0252\u0253\5\u00cfh\2\u0253\u0254\5U+\2\u0254\u0255"+ + "\5\u00b9]\2\u0255\u0256\5\u00c7d\2\u0256\u0257\5\u00b7\\\2\u0257\u0258"+ + "\5\u00a1Q\2\u0258\u0259\5\u00a7T\2\u0259\u025a\5\u00c1a\2\u025a\u025b"+ + "\5U+\2\u025b\u025c\5\u00c1a\2\u025c\u025d\5\u009fP\2\u025d\u025e\5\u00b9"+ + "]\2\u025e\u025f\5\u00a5S\2\u025f\u0260\5\u00bb^\2\u0260\u0261\5\u00b7"+ + "\\\2\u0261\u0262\5U+\2\u0262\u0263\5\u00c1a\2\u0263\u0264\5\u00a7T\2\u0264"+ + "\u0265\5\u00bd_\2\u0265\u0266\5\u00b5[\2\u0266\u0267\5\u009fP\2\u0267"+ + "\u0268\5\u00a3R\2\u0268\u0269\5\u00a7T\2\u0269\u0090\3\2\2\2\u026a\u026b"+ + "\5\u00b7\\\2\u026b\u026c\5\u00afX\2\u026c\u026d\5\u00b5[\2\u026d\u026e"+ + "\5\u00afX\2\u026e\u026f\5\u00c5c\2\u026f\u0270\5\u009fP\2\u0270\u0271"+ + "\5\u00c1a\2\u0271\u0272\5\u00cfh\2\u0272\u0273\5U+\2\u0273\u0274\5\u00af"+ + "X\2\u0274\u0275\5\u00a5S\2\u0275\u0276\5\u00a7T\2\u0276\u0277\5\u00b9"+ + "]\2\u0277\u0278\5\u00c5c\2\u0278\u0279\5\u00afX\2\u0279\u027a\5\u00c5"+ + "c\2\u027a\u027b\5\u00cfh\2\u027b\u027c\5U+\2\u027c\u027d\5\u00b9]\2\u027d"+ + "\u027e\5\u00c7d\2\u027e\u027f\5\u00b7\\\2\u027f\u0280\5\u00a1Q\2\u0280"+ + "\u0281\5\u00a7T\2\u0281\u0282\5\u00c1a\2\u0282\u0283\5U+\2\u0283\u0284"+ + "\5\u00c1a\2\u0284\u0285\5\u009fP\2\u0285\u0286\5\u00b9]\2\u0286\u0287"+ + "\5\u00a5S\2\u0287\u0288\5\u00bb^\2\u0288\u0289\5\u00b7\\\2\u0289\u028a"+ + "\5U+\2\u028a\u028b\5\u00c1a\2\u028b\u028c\5\u00a7T\2\u028c\u028d\5\u00bd"+ + "_\2\u028d\u028e\5\u00b5[\2\u028e\u028f\5\u009fP\2\u028f\u0290\5\u00a3"+ + "R\2\u0290\u0291\5\u00a7T\2\u0291\u0092\3\2\2\2\u0292\u0293\5\u00b5[\2"+ + "\u0293\u0294\5\u009fP\2\u0294\u0295\5\u00b9]\2\u0295\u0296\5\u00a5S\2"+ + "\u0296\u0297\5\u00b5[\2\u0297\u0298\5\u00afX\2\u0298\u0299\5\u00b9]\2"+ + "\u0299\u029a\5\u00a7T\2\u029a\u029b\5U+\2\u029b\u029c\5\u00b9]\2\u029c"+ + "\u029d\5\u00c7d\2\u029d\u029e\5\u00b7\\\2\u029e\u029f\5\u00a1Q\2\u029f"+ + "\u02a0\5\u00a7T\2\u02a0\u02a1\5\u00c1a\2\u02a1\u02a2\5U+\2\u02a2\u02a3"+ + "\5\u00c1a\2\u02a3\u02a4\5\u009fP\2\u02a4\u02a5\5\u00b9]\2\u02a5\u02a6"+ + "\5\u00a5S\2\u02a6\u02a7\5\u00bb^\2\u02a7\u02a8\5\u00b7\\\2\u02a8\u02a9"+ + "\5U+\2\u02a9\u02aa\5\u00c1a\2\u02aa\u02ab\5\u00a7T\2\u02ab\u02ac\5\u00bd"+ + "_\2\u02ac\u02ad\5\u00b5[\2\u02ad\u02ae\5\u009fP\2\u02ae\u02af\5\u00a3"+ + "R\2\u02af\u02b0\5\u00a7T\2\u02b0\u0094\3\2\2\2\u02b1\u02b2\5\u00c5c\2"+ + "\u02b2\u02b3\5\u00a7T\2\u02b3\u02b4\5\u00b5[\2\u02b4\u02b5\5\u00a7T\2"+ + "\u02b5\u02b6\5\u00bd_\2\u02b6\u02b7\5\u00adW\2\u02b7\u02b8\5\u00bb^\2"+ + "\u02b8\u02b9\5\u00b9]\2\u02b9\u02ba\5\u00a7T\2\u02ba\u02bb\5U+\2\u02bb"+ + "\u02bc\5\u00c1a\2\u02bc\u02bd\5\u009fP\2\u02bd\u02be\5\u00b9]\2\u02be"+ + "\u02bf\5\u00a5S\2\u02bf\u02c0\5\u00bb^\2\u02c0\u02c1\5\u00b7\\\2\u02c1"+ + "\u02c2\5U+\2\u02c2\u02c3\5\u00c1a\2\u02c3\u02c4\5\u00a7T\2\u02c4\u02c5"+ + "\5\u00bd_\2\u02c5\u02c6\5\u00b5[\2\u02c6\u02c7\5\u009fP\2\u02c7\u02c8"+ + "\5\u00a3R\2\u02c8\u02c9\5\u00a7T\2\u02c9\u0096\3\2\2\2\u02ca\u02cb\5\u00c7"+ + "d\2\u02cb\u02cc\5\u00b9]\2\u02cc\u02cd\5\u00afX\2\u02cd\u02ce\5\u00a9"+ + "U\2\u02ce\u02cf\5\u00afX\2\u02cf\u02d0\5\u00a7T\2\u02d0\u02d1\5\u00a5"+ + "S\2\u02d1\u02d2\5U+\2\u02d2\u02d3\5\u00a3R\2\u02d3\u02d4\5\u00c1a\2\u02d4"+ + "\u02d5\5\u00a7T\2\u02d5\u02d6\5\u00a5S\2\u02d6\u02d7\5\u00afX\2\u02d7"+ + "\u02d8\5\u00c5c\2\u02d8\u02d9\5U+\2\u02d9\u02da\5\u00a3R\2\u02da\u02db"+ + "\5\u00bb^\2\u02db\u02dc\5\u00a5S\2\u02dc\u02dd\5\u00a7T\2\u02dd\u02de"+ + "\5U+\2\u02de\u02df\5\u00c1a\2\u02df\u02e0\5\u009fP\2\u02e0\u02e1\5\u00b9"+ + "]\2\u02e1\u02e2\5\u00a5S\2\u02e2\u02e3\5\u00bb^\2\u02e3\u02e4\5\u00b7"+ + "\\\2\u02e4\u02e5\5U+\2\u02e5\u02e6\5\u00c1a\2\u02e6\u02e7\5\u00a7T\2\u02e7"+ + "\u02e8\5\u00bd_\2\u02e8\u02e9\5\u00b5[\2\u02e9\u02ea\5\u009fP\2\u02ea"+ + "\u02eb\5\u00a3R\2\u02eb\u02ec\5\u00a7T\2\u02ec\u0098\3\2\2\2\u02ed\u02ee"+ + "\5\u00abV\2\u02ee\u02ef\5\u00a7T\2\u02ef\u02f0\5\u00b9]\2\u02f0\u02f1"+ + "\5\u00a7T\2\u02f1\u02f2\5\u00c1a\2\u02f2\u02f3\5\u00afX\2\u02f3\u02f4"+ + "\5\u00a3R\2\u02f4\u02f5\5U+\2\u02f5\u02f6\5\u00c5c\2\u02f6\u02f7\5\u009f"+ + "P\2\u02f7\u02f8\5\u00a1Q\2\u02f8\u02f9\5\u00b5[\2\u02f9\u02fa\5\u00a7"+ + "T\2\u02fa\u02fb\5U+\2\u02fb\u02fc\5\u00c1a\2\u02fc\u02fd\5\u009fP\2\u02fd"+ + "\u02fe\5\u00b9]\2\u02fe\u02ff\5\u00a5S\2\u02ff\u0300\5\u00bb^\2\u0300"+ + "\u0301\5\u00b7\\\2\u0301\u0302\5U+\2\u0302\u0303\5\u00c1a\2\u0303\u0304"+ + "\5\u00a7T\2\u0304\u0305\5\u00bd_\2\u0305\u0306\5\u00b5[\2\u0306\u0307"+ + "\5\u009fP\2\u0307\u0308\5\u00a3R\2\u0308\u0309\5\u00a7T\2\u0309\u009a"+ + "\3\2\2\2\u030a\u030b\5\u009fP\2\u030b\u030c\5\u00a5S\2\u030c\u030d\5\u00a5"+ + "S\2\u030d\u030e\5\u00c1a\2\u030e\u030f\5\u00a7T\2\u030f\u0310\5\u00c3"+ + "b\2\u0310\u0311\5\u00c3b\2\u0311\u0312\5U+\2\u0312\u0313\5\u00c1a\2\u0313"+ + "\u0314\5\u009fP\2\u0314\u0315\5\u00b9]\2\u0315\u0316\5\u00a5S\2\u0316"+ + "\u0317\5\u00bb^\2\u0317\u0318\5\u00b7\\\2\u0318\u0319\5U+\2\u0319\u031a"+ + "\5\u00c1a\2\u031a\u031b\5\u00a7T\2\u031b\u031c\5\u00bd_\2\u031c\u031d"+ + "\5\u00b5[\2\u031d\u031e\5\u009fP\2\u031e\u031f\5\u00a3R\2\u031f\u0320"+ + "\5\u00a7T\2\u0320\u009c\3\2\2\2\u0321\u0322\7F\2\2\u0322\u0323\7Q\2\2"+ + "\u0323\u0324\7\"\2\2\u0324\u0325\7P\2\2\u0325\u0326\7Q\2\2\u0326\u0327"+ + "\7V\2\2\u0327\u0328\7\"\2\2\u0328\u0329\7O\2\2\u0329\u032a\7C\2\2\u032a"+ + "\u032b\7V\2\2\u032b\u032c\7E\2\2\u032c\u032d\7J\2\2\u032d\u032e\7\"\2"+ + "\2\u032e\u032f\7C\2\2\u032f\u0330\7P\2\2\u0330\u0331\7[\2\2\u0331\u0332"+ + "\7\"\2\2\u0332\u0333\7V\2\2\u0333\u0334\7J\2\2\u0334\u0335\7K\2\2\u0335"+ + "\u0336\7P\2\2\u0336\u0337\7I\2\2\u0337\u0338\7.\2\2\u0338\u0339\7\"\2"+ + "\2\u0339\u033a\7L\2\2\u033a\u033b\7W\2\2\u033b\u033c\7U\2\2\u033c\u033d"+ + "\7V\2\2\u033d\u033e\7\"\2\2\u033e\u033f\7H\2\2\u033f\u0340\7Q\2\2\u0340"+ + "\u0341\7T\2\2\u0341\u0342\7\"\2\2\u0342\u0343\7I\2\2\u0343\u0344\7G\2"+ + "\2\u0344\u0345\7P\2\2\u0345\u0346\7G\2\2\u0346\u0347\7T\2\2\u0347\u0348"+ + "\7C\2\2\u0348\u0349\7V\2\2\u0349\u034a\7Q\2\2\u034a\u034b\7T\2\2\u034b"+ + "\u009e\3\2\2\2\u034c\u034d\t\4\2\2\u034d\u00a0\3\2\2\2\u034e\u034f\t\5"+ + "\2\2\u034f\u00a2\3\2\2\2\u0350\u0351\t\6\2\2\u0351\u00a4\3\2\2\2\u0352"+ + "\u0353\t\7\2\2\u0353\u00a6\3\2\2\2\u0354\u0355\t\b\2\2\u0355\u00a8\3\2"+ + "\2\2\u0356\u0357\t\t\2\2\u0357\u00aa\3\2\2\2\u0358\u0359\t\n\2\2\u0359"+ + "\u00ac\3\2\2\2\u035a\u035b\t\13\2\2\u035b\u00ae\3\2\2\2\u035c\u035d\t"+ + "\f\2\2\u035d\u00b0\3\2\2\2\u035e\u035f\t\r\2\2\u035f\u00b2\3\2\2\2\u0360"+ + "\u0361\t\16\2\2\u0361\u00b4\3\2\2\2\u0362\u0363\t\17\2\2\u0363\u00b6\3"+ + "\2\2\2\u0364\u0365\t\20\2\2\u0365\u00b8\3\2\2\2\u0366\u0367\t\21\2\2\u0367"+ + "\u00ba\3\2\2\2\u0368\u0369\t\22\2\2\u0369\u00bc\3\2\2\2\u036a\u036b\t"+ + "\23\2\2\u036b\u00be\3\2\2\2\u036c\u036d\t\24\2\2\u036d\u00c0\3\2\2\2\u036e"+ + "\u036f\t\25\2\2\u036f\u00c2\3\2\2\2\u0370\u0371\t\26\2\2\u0371\u00c4\3"+ + "\2\2\2\u0372\u0373\t\27\2\2\u0373\u00c6\3\2\2\2\u0374\u0375\t\30\2\2\u0375"+ + "\u00c8\3\2\2\2\u0376\u0377\t\31\2\2\u0377\u00ca\3\2\2\2\u0378\u0379\t"+ + "\32\2\2\u0379\u00cc\3\2\2\2\u037a\u037b\t\33\2\2\u037b\u00ce\3\2\2\2\u037c"+ + "\u037d\t\34\2\2\u037d\u00d0\3\2\2\2\u037e\u037f\t\35\2\2\u037f\u00d2\3"+ + "\2\2\2\u0380\u0382\t\36\2\2\u0381\u0380\3\2\2\2\u0382\u0385\3\2\2\2\u0383"+ + "\u0384\3\2\2\2\u0383\u0381\3\2\2\2\u0384\u0387\3\2\2\2\u0385\u0383\3\2"+ + "\2\2\u0386\u0388\t\37\2\2\u0387\u0386\3\2\2\2\u0388\u0389\3\2\2\2\u0389"+ + "\u038a\3\2\2\2\u0389\u0387\3\2\2\2\u038a\u038e\3\2\2\2\u038b\u038d\t\36"+ + "\2\2\u038c\u038b\3\2\2\2\u038d\u0390\3\2\2\2\u038e\u038c\3\2\2\2\u038e"+ + "\u038f\3\2\2\2\u038f\u039a\3\2\2\2\u0390\u038e\3\2\2\2\u0391\u0393\5K"+ + "&\2\u0392\u0394\n \2\2\u0393\u0392\3\2\2\2\u0394\u0395\3\2\2\2\u0395\u0393"+ + "\3\2\2\2\u0395\u0396\3\2\2\2\u0396\u0397\3\2\2\2\u0397\u0398\5K&\2\u0398"+ + "\u039a\3\2\2\2\u0399\u0383\3\2\2\2\u0399\u0391\3\2\2\2\u039a\u00d4\3\2"+ + "\2\2\u039b\u03a3\5G$\2\u039c\u039d\7^\2\2\u039d\u03a2\13\2\2\2\u039e\u039f"+ + "\7$\2\2\u039f\u03a2\7$\2\2\u03a0\u03a2\n!\2\2\u03a1\u039c\3\2\2\2\u03a1"+ + "\u039e\3\2\2\2\u03a1\u03a0\3\2\2\2\u03a2\u03a5\3\2\2\2\u03a3\u03a1\3\2"+ + "\2\2\u03a3\u03a4\3\2\2\2\u03a4\u03a6\3\2\2\2\u03a5\u03a3\3\2\2\2\u03a6"+ + "\u03a7\5G$\2\u03a7\u03b6\3\2\2\2\u03a8\u03b0\5I%\2\u03a9\u03aa\7^\2\2"+ + "\u03aa\u03af\13\2\2\2\u03ab\u03ac\7)\2\2\u03ac\u03af\7)\2\2\u03ad\u03af"+ + "\n\"\2\2\u03ae\u03a9\3\2\2\2\u03ae\u03ab\3\2\2\2\u03ae\u03ad\3\2\2\2\u03af"+ + "\u03b2\3\2\2\2\u03b0\u03ae\3\2\2\2\u03b0\u03b1\3\2\2\2\u03b1\u03b3\3\2"+ + "\2\2\u03b2\u03b0\3\2\2\2\u03b3\u03b4\5I%\2\u03b4\u03b6\3\2\2\2\u03b5\u039b"+ + "\3\2\2\2\u03b5\u03a8\3\2\2\2\u03b6\u00d6\3\2\2\2\u03b7\u03b9\t#\2\2\u03b8"+ + "\u03b7\3\2\2\2\u03b9\u03ba\3\2\2\2\u03ba\u03b8\3\2\2\2\u03ba\u03bb\3\2"+ + "\2\2\u03bb\u00d8\3\2\2\2\u03bc\u03bd\t$\2\2\u03bd\u00da\3\2\2\2\u03be"+ + "\u03c0\5\u00d7l\2\u03bf\u03be\3\2\2\2\u03bf\u03c0\3\2\2\2\u03c0\u03c2"+ + "\3\2\2\2\u03c1\u03c3\5#\22\2\u03c2\u03c1\3\2\2\2\u03c2\u03c3\3\2\2\2\u03c3"+ + "\u03c4\3\2\2\2\u03c4\u03cc\5\u00d7l\2\u03c5\u03c8\5\u00a7T\2\u03c6\u03c9"+ + "\5\31\r\2\u03c7\u03c9\5\33\16\2\u03c8\u03c6\3\2\2\2\u03c8\u03c7\3\2\2"+ + "\2\u03c8\u03c9\3\2\2\2\u03c9\u03ca\3\2\2\2\u03ca\u03cb\5\u00d7l\2\u03cb"+ + "\u03cd\3\2\2\2\u03cc\u03c5\3\2\2\2\u03cc\u03cd\3\2\2\2\u03cd\u00dc\3\2"+ + "\2\2\u03ce\u03cf\7\62\2\2\u03cf\u03d0\7z\2\2\u03d0\u03d2\3\2\2\2\u03d1"+ + "\u03d3\5\u00d9m\2\u03d2\u03d1\3\2\2\2\u03d3\u03d4\3\2\2\2\u03d4\u03d2"+ + "\3\2\2\2\u03d4\u03d5\3\2\2\2\u03d5\u03e0\3\2\2\2\u03d6\u03d7\7Z\2\2\u03d7"+ + "\u03d9\5I%\2\u03d8\u03da\5\u00d9m\2\u03d9\u03d8\3\2\2\2\u03da\u03db\3"+ + "\2\2\2\u03db\u03d9\3\2\2\2\u03db\u03dc\3\2\2\2\u03dc\u03dd\3\2\2\2\u03dd"+ + "\u03de\5I%\2\u03de\u03e0\3\2\2\2\u03df\u03ce\3\2\2\2\u03df\u03d6\3\2\2"+ + "\2\u03e0\u00de\3\2\2\2\u03e1\u03e2\7\62\2\2\u03e2\u03e3\7d\2\2\u03e3\u03e5"+ + "\3\2\2\2\u03e4\u03e6\4\62\63\2\u03e5\u03e4\3\2\2\2\u03e6\u03e7\3\2\2\2"+ + "\u03e7\u03e5\3\2\2\2\u03e7\u03e8\3\2\2\2\u03e8\u03f3\3\2\2\2\u03e9\u03ea"+ + "\5\u00a1Q\2\u03ea\u03ec\5I%\2\u03eb\u03ed\4\62\63\2\u03ec\u03eb\3\2\2"+ + "\2\u03ed\u03ee\3\2\2\2\u03ee\u03ec\3\2\2\2\u03ee\u03ef\3\2\2\2\u03ef\u03f0"+ + "\3\2\2\2\u03f0\u03f1\5I%\2\u03f1\u03f3\3\2\2\2\u03f2\u03e1\3\2\2\2\u03f2"+ + "\u03e9\3\2\2\2\u03f3\u00e0\3\2\2\2\32\2\u0117\u0148\u0383\u0389\u038e"+ + "\u0395\u0399\u03a1\u03a3\u03ae\u03b0\u03b5\u03ba\u03bf\u03c2\u03c8\u03cc"+ + "\u03d4\u03db\u03df\u03e7\u03ee\u03f2\3\b\2\2"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementLexer.tokens b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementLexer.tokens new file mode 100644 index 00000000..8f82b7ee --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementLexer.tokens @@ -0,0 +1,127 @@ +AND_=1 +OR_=2 +NOT_=3 +TILDE_=4 +VERTICALBAR_=5 +AMPERSAND_=6 +SIGNEDLEFTSHIFT_=7 +SIGNEDRIGHTSHIFT_=8 +CARET_=9 +MOD_=10 +COLON_=11 +PLUS_=12 +MINUS_=13 +ASTERISK_=14 +SLASH_=15 +BACKSLASH_=16 +DOT_=17 +DOTASTERISK_=18 +SAFEEQ_=19 +DEQ_=20 +EQ_=21 +NEQ_=22 +GT_=23 +GTE_=24 +LT_=25 +LTE_=26 +POUND_=27 +LP_=28 +RP_=29 +LBE_=30 +RBE_=31 +LBT_=32 +RBT_=33 +COMMA_=34 +DQ_=35 +SQ_=36 +BQ_=37 +QUESTION_=38 +AT_=39 +SEMI_=40 +JSONSEPARATOR_=41 +UL_=42 +WS=43 +TRUE=44 +FALSE=45 +CREATE=46 +ALTER=47 +DROP=48 +SHOW=49 +RULE=50 +FROM=51 +MASK=52 +TYPE=53 +NAME=54 +PROPERTIES=55 +COLUMN=56 +RULES=57 +TABLE=58 +COLUMNS=59 +IF=60 +EXISTS=61 +COUNT=62 +NOT=63 +MD5=64 +KEEP_FIRST_N_LAST_M=65 +KEEP_FROM_X_TO_Y=66 +MASK_FIRST_N_LAST_M=67 +MASK_FROM_X_TO_Y=68 +MASK_BEFORE_SPECIAL_CHARS=69 +MASK_AFTER_SPECIAL_CHARS=70 +PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE=71 +MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE=72 +LANDLINE_NUMBER_RANDOM_REPLACE=73 +TELEPHONE_RANDOM_REPLACE=74 +UNIFIED_CREDIT_CODE_RANDOM_REPLACE=75 +GENERIC_TABLE_RANDOM_REPLACE=76 +ADDRESS_RANDOM_REPLACE=77 +FOR_GENERATOR=78 +IDENTIFIER_=79 +STRING_=80 +INT_=81 +HEX_=82 +NUMBER_=83 +HEXDIGIT_=84 +BITNUM_=85 +'&&'=1 +'||'=2 +'!'=3 +'~'=4 +'|'=5 +'&'=6 +'<<'=7 +'>>'=8 +'^'=9 +'%'=10 +':'=11 +'+'=12 +'-'=13 +'*'=14 +'/'=15 +'\\'=16 +'.'=17 +'.*'=18 +'<=>'=19 +'=='=20 +'='=21 +'>'=23 +'>='=24 +'<'=25 +'<='=26 +'#'=27 +'('=28 +')'=29 +'{'=30 +'}'=31 +'['=32 +']'=33 +','=34 +'"'=35 +'\''=36 +'`'=37 +'?'=38 +'@'=39 +';'=40 +'->>'=41 +'_'=42 +'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=78 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementParser.java b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementParser.java new file mode 100644 index 00000000..c897da04 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementParser.java @@ -0,0 +1,746 @@ +// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/mask/RQLStatement.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.misc.*; +import org.antlr.v4.runtime.tree.*; +import java.util.List; +import java.util.Iterator; +import java.util.ArrayList; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class RQLStatementParser extends Parser { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, + SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, + ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, + DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, + LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, + SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, + WS=43, TRUE=44, FALSE=45, CREATE=46, ALTER=47, DROP=48, SHOW=49, RULE=50, + FROM=51, MASK=52, TYPE=53, NAME=54, PROPERTIES=55, COLUMN=56, RULES=57, + TABLE=58, COLUMNS=59, IF=60, EXISTS=61, COUNT=62, NOT=63, MD5=64, KEEP_FIRST_N_LAST_M=65, + KEEP_FROM_X_TO_Y=66, MASK_FIRST_N_LAST_M=67, MASK_FROM_X_TO_Y=68, MASK_BEFORE_SPECIAL_CHARS=69, + MASK_AFTER_SPECIAL_CHARS=70, PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE=71, + MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE=72, LANDLINE_NUMBER_RANDOM_REPLACE=73, + TELEPHONE_RANDOM_REPLACE=74, UNIFIED_CREDIT_CODE_RANDOM_REPLACE=75, GENERIC_TABLE_RANDOM_REPLACE=76, + ADDRESS_RANDOM_REPLACE=77, FOR_GENERATOR=78, IDENTIFIER_=79, STRING_=80, + INT_=81, HEX_=82, NUMBER_=83, HEXDIGIT_=84, BITNUM_=85; + public static final int + RULE_showMaskRules = 0, RULE_countMaskRule = 1, RULE_databaseName = 2, + RULE_literal = 3, RULE_algorithmDefinition = 4, RULE_algorithmTypeName = 5, + RULE_buildInMaskAlgorithmType = 6, RULE_propertiesDefinition = 7, RULE_properties = 8, + RULE_property = 9, RULE_ruleName = 10; + private static String[] makeRuleNames() { + return new String[] { + "showMaskRules", "countMaskRule", "databaseName", "literal", "algorithmDefinition", + "algorithmTypeName", "buildInMaskAlgorithmType", "propertiesDefinition", + "properties", "property", "ruleName" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", + "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", + "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", + "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", + "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", + "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", + "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", + "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", + "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", + "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", + "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", "FROM", "MASK", "TYPE", + "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", "COLUMNS", "IF", "EXISTS", + "COUNT", "NOT", "MD5", "KEEP_FIRST_N_LAST_M", "KEEP_FROM_X_TO_Y", "MASK_FIRST_N_LAST_M", + "MASK_FROM_X_TO_Y", "MASK_BEFORE_SPECIAL_CHARS", "MASK_AFTER_SPECIAL_CHARS", + "PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE", "MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE", + "LANDLINE_NUMBER_RANDOM_REPLACE", "TELEPHONE_RANDOM_REPLACE", "UNIFIED_CREDIT_CODE_RANDOM_REPLACE", + "GENERIC_TABLE_RANDOM_REPLACE", "ADDRESS_RANDOM_REPLACE", "FOR_GENERATOR", + "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + @Override + public String getGrammarFileName() { return "RQLStatement.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public ATN getATN() { return _ATN; } + + public RQLStatementParser(TokenStream input) { + super(input); + _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + public static class ShowMaskRulesContext extends ParserRuleContext { + public TerminalNode SHOW() { return getToken(RQLStatementParser.SHOW, 0); } + public TerminalNode MASK() { return getToken(RQLStatementParser.MASK, 0); } + public TerminalNode RULE() { return getToken(RQLStatementParser.RULE, 0); } + public RuleNameContext ruleName() { + return getRuleContext(RuleNameContext.class,0); + } + public TerminalNode RULES() { return getToken(RQLStatementParser.RULES, 0); } + public TerminalNode TABLE() { return getToken(RQLStatementParser.TABLE, 0); } + public TerminalNode FROM() { return getToken(RQLStatementParser.FROM, 0); } + public DatabaseNameContext databaseName() { + return getRuleContext(DatabaseNameContext.class,0); + } + public ShowMaskRulesContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_showMaskRules; } + } + + public final ShowMaskRulesContext showMaskRules() throws RecognitionException { + ShowMaskRulesContext _localctx = new ShowMaskRulesContext(_ctx, getState()); + enterRule(_localctx, 0, RULE_showMaskRules); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(22); + match(SHOW); + setState(23); + match(MASK); + setState(25); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==TABLE) { + { + setState(24); + match(TABLE); + } + } + + setState(30); + _errHandler.sync(this); + switch (_input.LA(1)) { + case RULE: + { + setState(27); + match(RULE); + setState(28); + ruleName(); + } + break; + case RULES: + { + setState(29); + match(RULES); + } + break; + default: + throw new NoViableAltException(this); + } + setState(34); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==FROM) { + { + setState(32); + match(FROM); + setState(33); + databaseName(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class CountMaskRuleContext extends ParserRuleContext { + public TerminalNode COUNT() { return getToken(RQLStatementParser.COUNT, 0); } + public TerminalNode MASK() { return getToken(RQLStatementParser.MASK, 0); } + public TerminalNode RULE() { return getToken(RQLStatementParser.RULE, 0); } + public TerminalNode FROM() { return getToken(RQLStatementParser.FROM, 0); } + public DatabaseNameContext databaseName() { + return getRuleContext(DatabaseNameContext.class,0); + } + public CountMaskRuleContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_countMaskRule; } + } + + public final CountMaskRuleContext countMaskRule() throws RecognitionException { + CountMaskRuleContext _localctx = new CountMaskRuleContext(_ctx, getState()); + enterRule(_localctx, 2, RULE_countMaskRule); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(36); + match(COUNT); + setState(37); + match(MASK); + setState(38); + match(RULE); + setState(41); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==FROM) { + { + setState(39); + match(FROM); + setState(40); + databaseName(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class DatabaseNameContext extends ParserRuleContext { + public TerminalNode IDENTIFIER_() { return getToken(RQLStatementParser.IDENTIFIER_, 0); } + public DatabaseNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_databaseName; } + } + + public final DatabaseNameContext databaseName() throws RecognitionException { + DatabaseNameContext _localctx = new DatabaseNameContext(_ctx, getState()); + enterRule(_localctx, 4, RULE_databaseName); + try { + enterOuterAlt(_localctx, 1); + { + setState(43); + match(IDENTIFIER_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class LiteralContext extends ParserRuleContext { + public TerminalNode STRING_() { return getToken(RQLStatementParser.STRING_, 0); } + public TerminalNode INT_() { return getToken(RQLStatementParser.INT_, 0); } + public TerminalNode MINUS_() { return getToken(RQLStatementParser.MINUS_, 0); } + public TerminalNode TRUE() { return getToken(RQLStatementParser.TRUE, 0); } + public TerminalNode FALSE() { return getToken(RQLStatementParser.FALSE, 0); } + public LiteralContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_literal; } + } + + public final LiteralContext literal() throws RecognitionException { + LiteralContext _localctx = new LiteralContext(_ctx, getState()); + enterRule(_localctx, 6, RULE_literal); + int _la; + try { + setState(52); + _errHandler.sync(this); + switch (_input.LA(1)) { + case STRING_: + enterOuterAlt(_localctx, 1); + { + setState(45); + match(STRING_); + } + break; + case MINUS_: + case INT_: + enterOuterAlt(_localctx, 2); + { + setState(47); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==MINUS_) { + { + setState(46); + match(MINUS_); + } + } + + setState(49); + match(INT_); + } + break; + case TRUE: + enterOuterAlt(_localctx, 3); + { + setState(50); + match(TRUE); + } + break; + case FALSE: + enterOuterAlt(_localctx, 4); + { + setState(51); + match(FALSE); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AlgorithmDefinitionContext extends ParserRuleContext { + public TerminalNode TYPE() { return getToken(RQLStatementParser.TYPE, 0); } + public TerminalNode LP_() { return getToken(RQLStatementParser.LP_, 0); } + public TerminalNode NAME() { return getToken(RQLStatementParser.NAME, 0); } + public TerminalNode EQ_() { return getToken(RQLStatementParser.EQ_, 0); } + public AlgorithmTypeNameContext algorithmTypeName() { + return getRuleContext(AlgorithmTypeNameContext.class,0); + } + public TerminalNode RP_() { return getToken(RQLStatementParser.RP_, 0); } + public TerminalNode COMMA_() { return getToken(RQLStatementParser.COMMA_, 0); } + public PropertiesDefinitionContext propertiesDefinition() { + return getRuleContext(PropertiesDefinitionContext.class,0); + } + public AlgorithmDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_algorithmDefinition; } + } + + public final AlgorithmDefinitionContext algorithmDefinition() throws RecognitionException { + AlgorithmDefinitionContext _localctx = new AlgorithmDefinitionContext(_ctx, getState()); + enterRule(_localctx, 8, RULE_algorithmDefinition); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(54); + match(TYPE); + setState(55); + match(LP_); + setState(56); + match(NAME); + setState(57); + match(EQ_); + setState(58); + algorithmTypeName(); + setState(61); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==COMMA_) { + { + setState(59); + match(COMMA_); + setState(60); + propertiesDefinition(); + } + } + + setState(63); + match(RP_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AlgorithmTypeNameContext extends ParserRuleContext { + public TerminalNode STRING_() { return getToken(RQLStatementParser.STRING_, 0); } + public BuildInMaskAlgorithmTypeContext buildInMaskAlgorithmType() { + return getRuleContext(BuildInMaskAlgorithmTypeContext.class,0); + } + public AlgorithmTypeNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_algorithmTypeName; } + } + + public final AlgorithmTypeNameContext algorithmTypeName() throws RecognitionException { + AlgorithmTypeNameContext _localctx = new AlgorithmTypeNameContext(_ctx, getState()); + enterRule(_localctx, 10, RULE_algorithmTypeName); + try { + setState(67); + _errHandler.sync(this); + switch (_input.LA(1)) { + case STRING_: + enterOuterAlt(_localctx, 1); + { + setState(65); + match(STRING_); + } + break; + case MD5: + case KEEP_FIRST_N_LAST_M: + case KEEP_FROM_X_TO_Y: + case MASK_FIRST_N_LAST_M: + case MASK_FROM_X_TO_Y: + case MASK_BEFORE_SPECIAL_CHARS: + case MASK_AFTER_SPECIAL_CHARS: + case PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE: + case MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE: + case LANDLINE_NUMBER_RANDOM_REPLACE: + case TELEPHONE_RANDOM_REPLACE: + case UNIFIED_CREDIT_CODE_RANDOM_REPLACE: + case GENERIC_TABLE_RANDOM_REPLACE: + enterOuterAlt(_localctx, 2); + { + setState(66); + buildInMaskAlgorithmType(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class BuildInMaskAlgorithmTypeContext extends ParserRuleContext { + public TerminalNode MD5() { return getToken(RQLStatementParser.MD5, 0); } + public TerminalNode KEEP_FIRST_N_LAST_M() { return getToken(RQLStatementParser.KEEP_FIRST_N_LAST_M, 0); } + public TerminalNode KEEP_FROM_X_TO_Y() { return getToken(RQLStatementParser.KEEP_FROM_X_TO_Y, 0); } + public TerminalNode MASK_FIRST_N_LAST_M() { return getToken(RQLStatementParser.MASK_FIRST_N_LAST_M, 0); } + public TerminalNode MASK_FROM_X_TO_Y() { return getToken(RQLStatementParser.MASK_FROM_X_TO_Y, 0); } + public TerminalNode MASK_BEFORE_SPECIAL_CHARS() { return getToken(RQLStatementParser.MASK_BEFORE_SPECIAL_CHARS, 0); } + public TerminalNode MASK_AFTER_SPECIAL_CHARS() { return getToken(RQLStatementParser.MASK_AFTER_SPECIAL_CHARS, 0); } + public TerminalNode PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE() { return getToken(RQLStatementParser.PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE, 0); } + public TerminalNode MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE() { return getToken(RQLStatementParser.MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE, 0); } + public TerminalNode LANDLINE_NUMBER_RANDOM_REPLACE() { return getToken(RQLStatementParser.LANDLINE_NUMBER_RANDOM_REPLACE, 0); } + public TerminalNode TELEPHONE_RANDOM_REPLACE() { return getToken(RQLStatementParser.TELEPHONE_RANDOM_REPLACE, 0); } + public TerminalNode UNIFIED_CREDIT_CODE_RANDOM_REPLACE() { return getToken(RQLStatementParser.UNIFIED_CREDIT_CODE_RANDOM_REPLACE, 0); } + public TerminalNode GENERIC_TABLE_RANDOM_REPLACE() { return getToken(RQLStatementParser.GENERIC_TABLE_RANDOM_REPLACE, 0); } + public BuildInMaskAlgorithmTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_buildInMaskAlgorithmType; } + } + + public final BuildInMaskAlgorithmTypeContext buildInMaskAlgorithmType() throws RecognitionException { + BuildInMaskAlgorithmTypeContext _localctx = new BuildInMaskAlgorithmTypeContext(_ctx, getState()); + enterRule(_localctx, 12, RULE_buildInMaskAlgorithmType); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(69); + _la = _input.LA(1); + if ( !(((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (MD5 - 64)) | (1L << (KEEP_FIRST_N_LAST_M - 64)) | (1L << (KEEP_FROM_X_TO_Y - 64)) | (1L << (MASK_FIRST_N_LAST_M - 64)) | (1L << (MASK_FROM_X_TO_Y - 64)) | (1L << (MASK_BEFORE_SPECIAL_CHARS - 64)) | (1L << (MASK_AFTER_SPECIAL_CHARS - 64)) | (1L << (PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE - 64)) | (1L << (MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE - 64)) | (1L << (LANDLINE_NUMBER_RANDOM_REPLACE - 64)) | (1L << (TELEPHONE_RANDOM_REPLACE - 64)) | (1L << (UNIFIED_CREDIT_CODE_RANDOM_REPLACE - 64)) | (1L << (GENERIC_TABLE_RANDOM_REPLACE - 64)))) != 0)) ) { + _errHandler.recoverInline(this); + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PropertiesDefinitionContext extends ParserRuleContext { + public TerminalNode PROPERTIES() { return getToken(RQLStatementParser.PROPERTIES, 0); } + public TerminalNode LP_() { return getToken(RQLStatementParser.LP_, 0); } + public TerminalNode RP_() { return getToken(RQLStatementParser.RP_, 0); } + public PropertiesContext properties() { + return getRuleContext(PropertiesContext.class,0); + } + public PropertiesDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_propertiesDefinition; } + } + + public final PropertiesDefinitionContext propertiesDefinition() throws RecognitionException { + PropertiesDefinitionContext _localctx = new PropertiesDefinitionContext(_ctx, getState()); + enterRule(_localctx, 14, RULE_propertiesDefinition); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(71); + match(PROPERTIES); + setState(72); + match(LP_); + setState(74); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==STRING_) { + { + setState(73); + properties(); + } + } + + setState(76); + match(RP_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PropertiesContext extends ParserRuleContext { + public List property() { + return getRuleContexts(PropertyContext.class); + } + public PropertyContext property(int i) { + return getRuleContext(PropertyContext.class,i); + } + public List COMMA_() { return getTokens(RQLStatementParser.COMMA_); } + public TerminalNode COMMA_(int i) { + return getToken(RQLStatementParser.COMMA_, i); + } + public PropertiesContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_properties; } + } + + public final PropertiesContext properties() throws RecognitionException { + PropertiesContext _localctx = new PropertiesContext(_ctx, getState()); + enterRule(_localctx, 16, RULE_properties); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(78); + property(); + setState(83); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA_) { + { + { + setState(79); + match(COMMA_); + setState(80); + property(); + } + } + setState(85); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PropertyContext extends ParserRuleContext { + public Token key; + public LiteralContext value; + public TerminalNode EQ_() { return getToken(RQLStatementParser.EQ_, 0); } + public TerminalNode STRING_() { return getToken(RQLStatementParser.STRING_, 0); } + public LiteralContext literal() { + return getRuleContext(LiteralContext.class,0); + } + public PropertyContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_property; } + } + + public final PropertyContext property() throws RecognitionException { + PropertyContext _localctx = new PropertyContext(_ctx, getState()); + enterRule(_localctx, 18, RULE_property); + try { + enterOuterAlt(_localctx, 1); + { + setState(86); + ((PropertyContext)_localctx).key = match(STRING_); + setState(87); + match(EQ_); + setState(88); + ((PropertyContext)_localctx).value = literal(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleNameContext extends ParserRuleContext { + public TerminalNode IDENTIFIER_() { return getToken(RQLStatementParser.IDENTIFIER_, 0); } + public RuleNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleName; } + } + + public final RuleNameContext ruleName() throws RecognitionException { + RuleNameContext _localctx = new RuleNameContext(_ctx, getState()); + enterRule(_localctx, 20, RULE_ruleName); + try { + enterOuterAlt(_localctx, 1); + { + setState(90); + match(IDENTIFIER_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3W_\4\2\t\2\4\3\t\3"+ + "\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\4\f"+ + "\t\f\3\2\3\2\3\2\5\2\34\n\2\3\2\3\2\3\2\5\2!\n\2\3\2\3\2\5\2%\n\2\3\3"+ + "\3\3\3\3\3\3\3\3\5\3,\n\3\3\4\3\4\3\5\3\5\5\5\62\n\5\3\5\3\5\3\5\5\5\67"+ + "\n\5\3\6\3\6\3\6\3\6\3\6\3\6\3\6\5\6@\n\6\3\6\3\6\3\7\3\7\5\7F\n\7\3\b"+ + "\3\b\3\t\3\t\3\t\5\tM\n\t\3\t\3\t\3\n\3\n\3\n\7\nT\n\n\f\n\16\nW\13\n"+ + "\3\13\3\13\3\13\3\13\3\f\3\f\3\f\2\2\r\2\4\6\b\n\f\16\20\22\24\26\2\3"+ + "\3\2BN\2_\2\30\3\2\2\2\4&\3\2\2\2\6-\3\2\2\2\b\66\3\2\2\2\n8\3\2\2\2\f"+ + "E\3\2\2\2\16G\3\2\2\2\20I\3\2\2\2\22P\3\2\2\2\24X\3\2\2\2\26\\\3\2\2\2"+ + "\30\31\7\63\2\2\31\33\7\66\2\2\32\34\7<\2\2\33\32\3\2\2\2\33\34\3\2\2"+ + "\2\34 \3\2\2\2\35\36\7\64\2\2\36!\5\26\f\2\37!\7;\2\2 \35\3\2\2\2 \37"+ + "\3\2\2\2!$\3\2\2\2\"#\7\65\2\2#%\5\6\4\2$\"\3\2\2\2$%\3\2\2\2%\3\3\2\2"+ + "\2&\'\7@\2\2\'(\7\66\2\2(+\7\64\2\2)*\7\65\2\2*,\5\6\4\2+)\3\2\2\2+,\3"+ + "\2\2\2,\5\3\2\2\2-.\7Q\2\2.\7\3\2\2\2/\67\7R\2\2\60\62\7\17\2\2\61\60"+ + "\3\2\2\2\61\62\3\2\2\2\62\63\3\2\2\2\63\67\7S\2\2\64\67\7.\2\2\65\67\7"+ + "/\2\2\66/\3\2\2\2\66\61\3\2\2\2\66\64\3\2\2\2\66\65\3\2\2\2\67\t\3\2\2"+ + "\289\7\67\2\29:\7\36\2\2:;\78\2\2;<\7\27\2\2\7$\2\2>@\5\20"+ + "\t\2?=\3\2\2\2?@\3\2\2\2@A\3\2\2\2AB\7\37\2\2B\13\3\2\2\2CF\7R\2\2DF\5"+ + "\16\b\2EC\3\2\2\2ED\3\2\2\2F\r\3\2\2\2GH\t\2\2\2H\17\3\2\2\2IJ\79\2\2"+ + "JL\7\36\2\2KM\5\22\n\2LK\3\2\2\2LM\3\2\2\2MN\3\2\2\2NO\7\37\2\2O\21\3"+ + "\2\2\2PU\5\24\13\2QR\7$\2\2RT\5\24\13\2SQ\3\2\2\2TW\3\2\2\2US\3\2\2\2"+ + "UV\3\2\2\2V\23\3\2\2\2WU\3\2\2\2XY\7R\2\2YZ\7\27\2\2Z[\5\b\5\2[\25\3\2"+ + "\2\2\\]\7Q\2\2]\27\3\2\2\2\f\33 $+\61\66?ELU"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Symbol.interp b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Symbol.interp new file mode 100644 index 00000000..16be7873 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Symbol.interp @@ -0,0 +1,143 @@ +token literal names: +null +'&&' +'||' +'!' +'~' +'|' +'&' +'<<' +'>>' +'^' +'%' +':' +'+' +'-' +'*' +'/' +'\\' +'.' +'.*' +'<=>' +'==' +'=' +null +'>' +'>=' +'<' +'<=' +'#' +'(' +')' +'{' +'}' +'[' +']' +',' +'"' +'\'' +'`' +'?' +'@' +';' +'->>' +'_' + +token symbolic names: +null +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ + +rule names: +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 44, 187, 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, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 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, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 142, 10, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 2, 2, 44, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 3, 2, 2, 2, 187, 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, 3, 87, 3, 2, 2, 2, 5, 90, 3, 2, 2, 2, 7, 93, 3, 2, 2, 2, 9, 95, 3, 2, 2, 2, 11, 97, 3, 2, 2, 2, 13, 99, 3, 2, 2, 2, 15, 101, 3, 2, 2, 2, 17, 104, 3, 2, 2, 2, 19, 107, 3, 2, 2, 2, 21, 109, 3, 2, 2, 2, 23, 111, 3, 2, 2, 2, 25, 113, 3, 2, 2, 2, 27, 115, 3, 2, 2, 2, 29, 117, 3, 2, 2, 2, 31, 119, 3, 2, 2, 2, 33, 121, 3, 2, 2, 2, 35, 123, 3, 2, 2, 2, 37, 125, 3, 2, 2, 2, 39, 128, 3, 2, 2, 2, 41, 132, 3, 2, 2, 2, 43, 135, 3, 2, 2, 2, 45, 141, 3, 2, 2, 2, 47, 143, 3, 2, 2, 2, 49, 145, 3, 2, 2, 2, 51, 148, 3, 2, 2, 2, 53, 150, 3, 2, 2, 2, 55, 153, 3, 2, 2, 2, 57, 155, 3, 2, 2, 2, 59, 157, 3, 2, 2, 2, 61, 159, 3, 2, 2, 2, 63, 161, 3, 2, 2, 2, 65, 163, 3, 2, 2, 2, 67, 165, 3, 2, 2, 2, 69, 167, 3, 2, 2, 2, 71, 169, 3, 2, 2, 2, 73, 171, 3, 2, 2, 2, 75, 173, 3, 2, 2, 2, 77, 175, 3, 2, 2, 2, 79, 177, 3, 2, 2, 2, 81, 179, 3, 2, 2, 2, 83, 181, 3, 2, 2, 2, 85, 185, 3, 2, 2, 2, 87, 88, 7, 40, 2, 2, 88, 89, 7, 40, 2, 2, 89, 4, 3, 2, 2, 2, 90, 91, 7, 126, 2, 2, 91, 92, 7, 126, 2, 2, 92, 6, 3, 2, 2, 2, 93, 94, 7, 35, 2, 2, 94, 8, 3, 2, 2, 2, 95, 96, 7, 128, 2, 2, 96, 10, 3, 2, 2, 2, 97, 98, 7, 126, 2, 2, 98, 12, 3, 2, 2, 2, 99, 100, 7, 40, 2, 2, 100, 14, 3, 2, 2, 2, 101, 102, 7, 62, 2, 2, 102, 103, 7, 62, 2, 2, 103, 16, 3, 2, 2, 2, 104, 105, 7, 64, 2, 2, 105, 106, 7, 64, 2, 2, 106, 18, 3, 2, 2, 2, 107, 108, 7, 96, 2, 2, 108, 20, 3, 2, 2, 2, 109, 110, 7, 39, 2, 2, 110, 22, 3, 2, 2, 2, 111, 112, 7, 60, 2, 2, 112, 24, 3, 2, 2, 2, 113, 114, 7, 45, 2, 2, 114, 26, 3, 2, 2, 2, 115, 116, 7, 47, 2, 2, 116, 28, 3, 2, 2, 2, 117, 118, 7, 44, 2, 2, 118, 30, 3, 2, 2, 2, 119, 120, 7, 49, 2, 2, 120, 32, 3, 2, 2, 2, 121, 122, 7, 94, 2, 2, 122, 34, 3, 2, 2, 2, 123, 124, 7, 48, 2, 2, 124, 36, 3, 2, 2, 2, 125, 126, 7, 48, 2, 2, 126, 127, 7, 44, 2, 2, 127, 38, 3, 2, 2, 2, 128, 129, 7, 62, 2, 2, 129, 130, 7, 63, 2, 2, 130, 131, 7, 64, 2, 2, 131, 40, 3, 2, 2, 2, 132, 133, 7, 63, 2, 2, 133, 134, 7, 63, 2, 2, 134, 42, 3, 2, 2, 2, 135, 136, 7, 63, 2, 2, 136, 44, 3, 2, 2, 2, 137, 138, 7, 62, 2, 2, 138, 142, 7, 64, 2, 2, 139, 140, 7, 35, 2, 2, 140, 142, 7, 63, 2, 2, 141, 137, 3, 2, 2, 2, 141, 139, 3, 2, 2, 2, 142, 46, 3, 2, 2, 2, 143, 144, 7, 64, 2, 2, 144, 48, 3, 2, 2, 2, 145, 146, 7, 64, 2, 2, 146, 147, 7, 63, 2, 2, 147, 50, 3, 2, 2, 2, 148, 149, 7, 62, 2, 2, 149, 52, 3, 2, 2, 2, 150, 151, 7, 62, 2, 2, 151, 152, 7, 63, 2, 2, 152, 54, 3, 2, 2, 2, 153, 154, 7, 37, 2, 2, 154, 56, 3, 2, 2, 2, 155, 156, 7, 42, 2, 2, 156, 58, 3, 2, 2, 2, 157, 158, 7, 43, 2, 2, 158, 60, 3, 2, 2, 2, 159, 160, 7, 125, 2, 2, 160, 62, 3, 2, 2, 2, 161, 162, 7, 127, 2, 2, 162, 64, 3, 2, 2, 2, 163, 164, 7, 93, 2, 2, 164, 66, 3, 2, 2, 2, 165, 166, 7, 95, 2, 2, 166, 68, 3, 2, 2, 2, 167, 168, 7, 46, 2, 2, 168, 70, 3, 2, 2, 2, 169, 170, 7, 36, 2, 2, 170, 72, 3, 2, 2, 2, 171, 172, 7, 41, 2, 2, 172, 74, 3, 2, 2, 2, 173, 174, 7, 98, 2, 2, 174, 76, 3, 2, 2, 2, 175, 176, 7, 65, 2, 2, 176, 78, 3, 2, 2, 2, 177, 178, 7, 66, 2, 2, 178, 80, 3, 2, 2, 2, 179, 180, 7, 61, 2, 2, 180, 82, 3, 2, 2, 2, 181, 182, 7, 47, 2, 2, 182, 183, 7, 64, 2, 2, 183, 184, 7, 64, 2, 2, 184, 84, 3, 2, 2, 2, 185, 186, 7, 97, 2, 2, 186, 86, 3, 2, 2, 2, 4, 2, 141, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Symbol.java b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Symbol.java new file mode 100644 index 00000000..f01bb772 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Symbol.java @@ -0,0 +1,184 @@ +// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/mask/Symbol.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.misc.*; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class Symbol extends Lexer { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, + SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, + ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, + DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, + LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, + SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42; + public static String[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + + public static String[] modeNames = { + "DEFAULT_MODE" + }; + + private static String[] makeRuleNames() { + return new String[] { + "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", + "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", + "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", + "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", + "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", + "SEMI_", "JSONSEPARATOR_", "UL_" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", + "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", + "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", + "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", + "';'", "'->>'", "'_'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", + "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", + "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", + "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", + "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", + "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + + public Symbol(CharStream input) { + super(input); + _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + @Override + public String getGrammarFileName() { return "Symbol.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public String[] getChannelNames() { return channelNames; } + + @Override + public String[] getModeNames() { return modeNames; } + + @Override + public ATN getATN() { return _ATN; } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2,\u00bb\b\1\4\2\t"+ + "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ + "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ + "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ + "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ + "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\3"+ + "\2\3\2\3\2\3\3\3\3\3\3\3\4\3\4\3\5\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\t"+ + "\3\t\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3\17\3\17\3\20\3"+ + "\20\3\21\3\21\3\22\3\22\3\23\3\23\3\23\3\24\3\24\3\24\3\24\3\25\3\25\3"+ + "\25\3\26\3\26\3\27\3\27\3\27\3\27\5\27\u008e\n\27\3\30\3\30\3\31\3\31"+ + "\3\31\3\32\3\32\3\33\3\33\3\33\3\34\3\34\3\35\3\35\3\36\3\36\3\37\3\37"+ + "\3 \3 \3!\3!\3\"\3\"\3#\3#\3$\3$\3%\3%\3&\3&\3\'\3\'\3(\3(\3)\3)\3*\3"+ + "*\3*\3*\3+\3+\2\2,\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r"+ + "\31\16\33\17\35\20\37\21!\22#\23%\24\'\25)\26+\27-\30/\31\61\32\63\33"+ + "\65\34\67\359\36;\37= ?!A\"C#E$G%I&K\'M(O)Q*S+U,\3\2\2\2\u00bb\2\3\3\2"+ + "\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17"+ + "\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\31\3\2"+ + "\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2\2\2%\3"+ + "\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\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\29\3\2\2\2\2;\3\2\2\2\2"+ + "=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2\2I\3"+ + "\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2\2"+ + "\2\3W\3\2\2\2\5Z\3\2\2\2\7]\3\2\2\2\t_\3\2\2\2\13a\3\2\2\2\rc\3\2\2\2"+ + "\17e\3\2\2\2\21h\3\2\2\2\23k\3\2\2\2\25m\3\2\2\2\27o\3\2\2\2\31q\3\2\2"+ + "\2\33s\3\2\2\2\35u\3\2\2\2\37w\3\2\2\2!y\3\2\2\2#{\3\2\2\2%}\3\2\2\2\'"+ + "\u0080\3\2\2\2)\u0084\3\2\2\2+\u0087\3\2\2\2-\u008d\3\2\2\2/\u008f\3\2"+ + "\2\2\61\u0091\3\2\2\2\63\u0094\3\2\2\2\65\u0096\3\2\2\2\67\u0099\3\2\2"+ + "\29\u009b\3\2\2\2;\u009d\3\2\2\2=\u009f\3\2\2\2?\u00a1\3\2\2\2A\u00a3"+ + "\3\2\2\2C\u00a5\3\2\2\2E\u00a7\3\2\2\2G\u00a9\3\2\2\2I\u00ab\3\2\2\2K"+ + "\u00ad\3\2\2\2M\u00af\3\2\2\2O\u00b1\3\2\2\2Q\u00b3\3\2\2\2S\u00b5\3\2"+ + "\2\2U\u00b9\3\2\2\2WX\7(\2\2XY\7(\2\2Y\4\3\2\2\2Z[\7~\2\2[\\\7~\2\2\\"+ + "\6\3\2\2\2]^\7#\2\2^\b\3\2\2\2_`\7\u0080\2\2`\n\3\2\2\2ab\7~\2\2b\f\3"+ + "\2\2\2cd\7(\2\2d\16\3\2\2\2ef\7>\2\2fg\7>\2\2g\20\3\2\2\2hi\7@\2\2ij\7"+ + "@\2\2j\22\3\2\2\2kl\7`\2\2l\24\3\2\2\2mn\7\'\2\2n\26\3\2\2\2op\7<\2\2"+ + "p\30\3\2\2\2qr\7-\2\2r\32\3\2\2\2st\7/\2\2t\34\3\2\2\2uv\7,\2\2v\36\3"+ + "\2\2\2wx\7\61\2\2x \3\2\2\2yz\7^\2\2z\"\3\2\2\2{|\7\60\2\2|$\3\2\2\2}"+ + "~\7\60\2\2~\177\7,\2\2\177&\3\2\2\2\u0080\u0081\7>\2\2\u0081\u0082\7?"+ + "\2\2\u0082\u0083\7@\2\2\u0083(\3\2\2\2\u0084\u0085\7?\2\2\u0085\u0086"+ + "\7?\2\2\u0086*\3\2\2\2\u0087\u0088\7?\2\2\u0088,\3\2\2\2\u0089\u008a\7"+ + ">\2\2\u008a\u008e\7@\2\2\u008b\u008c\7#\2\2\u008c\u008e\7?\2\2\u008d\u0089"+ + "\3\2\2\2\u008d\u008b\3\2\2\2\u008e.\3\2\2\2\u008f\u0090\7@\2\2\u0090\60"+ + "\3\2\2\2\u0091\u0092\7@\2\2\u0092\u0093\7?\2\2\u0093\62\3\2\2\2\u0094"+ + "\u0095\7>\2\2\u0095\64\3\2\2\2\u0096\u0097\7>\2\2\u0097\u0098\7?\2\2\u0098"+ + "\66\3\2\2\2\u0099\u009a\7%\2\2\u009a8\3\2\2\2\u009b\u009c\7*\2\2\u009c"+ + ":\3\2\2\2\u009d\u009e\7+\2\2\u009e<\3\2\2\2\u009f\u00a0\7}\2\2\u00a0>"+ + "\3\2\2\2\u00a1\u00a2\7\177\2\2\u00a2@\3\2\2\2\u00a3\u00a4\7]\2\2\u00a4"+ + "B\3\2\2\2\u00a5\u00a6\7_\2\2\u00a6D\3\2\2\2\u00a7\u00a8\7.\2\2\u00a8F"+ + "\3\2\2\2\u00a9\u00aa\7$\2\2\u00aaH\3\2\2\2\u00ab\u00ac\7)\2\2\u00acJ\3"+ + "\2\2\2\u00ad\u00ae\7b\2\2\u00aeL\3\2\2\2\u00af\u00b0\7A\2\2\u00b0N\3\2"+ + "\2\2\u00b1\u00b2\7B\2\2\u00b2P\3\2\2\2\u00b3\u00b4\7=\2\2\u00b4R\3\2\2"+ + "\2\u00b5\u00b6\7/\2\2\u00b6\u00b7\7@\2\2\u00b7\u00b8\7@\2\2\u00b8T\3\2"+ + "\2\2\u00b9\u00ba\7a\2\2\u00baV\3\2\2\2\4\2\u008d\2"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Symbol.tokens b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Symbol.tokens new file mode 100644 index 00000000..e2613cd6 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Symbol.tokens @@ -0,0 +1,83 @@ +AND_=1 +OR_=2 +NOT_=3 +TILDE_=4 +VERTICALBAR_=5 +AMPERSAND_=6 +SIGNEDLEFTSHIFT_=7 +SIGNEDRIGHTSHIFT_=8 +CARET_=9 +MOD_=10 +COLON_=11 +PLUS_=12 +MINUS_=13 +ASTERISK_=14 +SLASH_=15 +BACKSLASH_=16 +DOT_=17 +DOTASTERISK_=18 +SAFEEQ_=19 +DEQ_=20 +EQ_=21 +NEQ_=22 +GT_=23 +GTE_=24 +LT_=25 +LTE_=26 +POUND_=27 +LP_=28 +RP_=29 +LBE_=30 +RBE_=31 +LBT_=32 +RBT_=33 +COMMA_=34 +DQ_=35 +SQ_=36 +BQ_=37 +QUESTION_=38 +AT_=39 +SEMI_=40 +JSONSEPARATOR_=41 +UL_=42 +'&&'=1 +'||'=2 +'!'=3 +'~'=4 +'|'=5 +'&'=6 +'<<'=7 +'>>'=8 +'^'=9 +'%'=10 +':'=11 +'+'=12 +'-'=13 +'*'=14 +'/'=15 +'\\'=16 +'.'=17 +'.*'=18 +'<=>'=19 +'=='=20 +'='=21 +'>'=23 +'>='=24 +'<'=25 +'<='=26 +'#'=27 +'('=28 +')'=29 +'{'=30 +'}'=31 +'['=32 +']'=33 +','=34 +'"'=35 +'\''=36 +'`'=37 +'?'=38 +'@'=39 +';'=40 +'->>'=41 +'_'=42 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/Alphabet.g4 b/shardingsphere-operator/pkg/distsql/antlr4/mask/Alphabet.g4 new file mode 100644 index 00000000..1e9e8f00 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/Alphabet.g4 @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +lexer grammar Alphabet; + +FOR_GENERATOR: 'DO NOT MATCH ANY THING, JUST FOR GENERATOR'; + +fragment A: [Aa]; +fragment B: [Bb]; +fragment C: [Cc]; +fragment D: [Dd]; +fragment E: [Ee]; +fragment F: [Ff]; +fragment G: [Gg]; +fragment H: [Hh]; +fragment I: [Ii]; +fragment J: [Jj]; +fragment K: [Kk]; +fragment L: [Ll]; +fragment M: [Mm]; +fragment N: [Nn]; +fragment O: [Oo]; +fragment P: [Pp]; +fragment Q: [Qq]; +fragment R: [Rr]; +fragment S: [Ss]; +fragment T: [Tt]; +fragment U: [Uu]; +fragment V: [Vv]; +fragment W: [Ww]; +fragment X: [Xx]; +fragment Y: [Yy]; +fragment Z: [Zz]; +fragment UL_: '_'; \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/BaseRule.g4 b/shardingsphere-operator/pkg/distsql/antlr4/mask/BaseRule.g4 new file mode 100644 index 00000000..aca9d352 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/BaseRule.g4 @@ -0,0 +1,64 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +grammar BaseRule; + +import Symbol, Keyword, Literals; + +literal + : STRING_ | (MINUS_)? INT_ | TRUE | FALSE + ; + +algorithmDefinition + : TYPE LP_ NAME EQ_ algorithmTypeName (COMMA_ propertiesDefinition)? RP_ + ; + +algorithmTypeName + : STRING_ | buildInMaskAlgorithmType + ; + +buildInMaskAlgorithmType + : MD5 + | KEEP_FIRST_N_LAST_M + | KEEP_FROM_X_TO_Y + | MASK_FIRST_N_LAST_M + | MASK_FROM_X_TO_Y + | MASK_BEFORE_SPECIAL_CHARS + | MASK_AFTER_SPECIAL_CHARS + | PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE + | MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE + | LANDLINE_NUMBER_RANDOM_REPLACE + | TELEPHONE_RANDOM_REPLACE + | UNIFIED_CREDIT_CODE_RANDOM_REPLACE + | GENERIC_TABLE_RANDOM_REPLACE + ; + +propertiesDefinition + : PROPERTIES LP_ properties? RP_ + ; + +properties + : property (COMMA_ property)* + ; + +property + : key=STRING_ EQ_ value=literal + ; + +ruleName + : IDENTIFIER_ + ; \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/Keyword.g4 b/shardingsphere-operator/pkg/distsql/antlr4/mask/Keyword.g4 new file mode 100644 index 00000000..cb250a48 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/Keyword.g4 @@ -0,0 +1,160 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +lexer grammar Keyword; + +import Alphabet; + +WS + : [ \t\r\n] + ->skip + ; + +TRUE + : T R U E + ; + +FALSE + : F A L S E + ; + +CREATE + : C R E A T E + ; + +ALTER + : A L T E R + ; + +DROP + : D R O P + ; + +SHOW + : S H O W + ; + +RULE + : R U L E + ; + +FROM + : F R O M + ; + +MASK + : M A S K + ; + +TYPE + : T Y P E + ; + +NAME + : N A M E + ; + +PROPERTIES + : P R O P E R T I E S + ; + +COLUMN + : C O L U M N + ; + +RULES + : R U L E S + ; + +TABLE + : T A B L E + ; + +COLUMNS + : C O L U M N S + ; + +IF + : I F + ; + +EXISTS + : E X I S T S + ; + +COUNT + : C O U N T + ; + +NOT + : N O T + ; + +MD5 + : M D [5] + ; + +KEEP_FIRST_N_LAST_M + : K E E P UL_ F I R S T UL_ N UL_ L A S T UL_ M + ; + +KEEP_FROM_X_TO_Y + : K E E P UL_ F R O M UL_ X UL_ T O UL_ Y + ; + +MASK_FIRST_N_LAST_M + : M A S K UL_ F I R S T UL_ N UL_ L A S T UL_ M + ; + +MASK_FROM_X_TO_Y + : M A S K UL_ F R O M UL_ X UL_ T O UL_ Y + ; + +MASK_BEFORE_SPECIAL_CHARS + : M A S K UL_ B E F O R E UL_ S P E C I A L UL_ C H A R S + ; + +MASK_AFTER_SPECIAL_CHARS + : M A S K UL_ A F T E R UL_ S P E C I A L UL_ C H A R S + ; + +PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE + : P E R S O N A L UL_ I D E N T I T Y UL_ N U M B E R UL_ R A N D O M UL_ R E P L A C E + ; + +MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE + : M I L I T A R Y UL_ I D E N T I T Y UL_ N U M B E R UL_ R A N D O M UL_ R E P L A C E + ; + +LANDLINE_NUMBER_RANDOM_REPLACE + : L A N D L I N E UL_ N U M B E R UL_ R A N D O M UL_ R E P L A C E + ; + +TELEPHONE_RANDOM_REPLACE + : T E L E P H O N E UL_ R A N D O M UL_ R E P L A C E + ; + +UNIFIED_CREDIT_CODE_RANDOM_REPLACE + : U N I F I E D UL_ C R E D I T UL_ C O D E UL_ R A N D O M UL_ R E P L A C E + ; + +GENERIC_TABLE_RANDOM_REPLACE + : G E N E R I C UL_ T A B L E UL_ R A N D O M UL_ R E P L A C E + ; + +ADDRESS_RANDOM_REPLACE + : A D D R E S S UL_ R A N D O M UL_ R E P L A C E + ; \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/Literals.g4 b/shardingsphere-operator/pkg/distsql/antlr4/mask/Literals.g4 new file mode 100644 index 00000000..fbcf5621 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/Literals.g4 @@ -0,0 +1,50 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +lexer grammar Literals; + +import Alphabet, Symbol; + +IDENTIFIER_ + : [A-Za-z_$0-9]*?[A-Za-z_$]+?[A-Za-z_$0-9]* + | BQ_ ~'`'+ BQ_ + ; + +STRING_ + : (DQ_ ('\\'. | '""' | ~('"' | '\\'))* DQ_) + | (SQ_ ('\\'. | '\'\'' | ~('\'' | '\\'))* SQ_) + ; + +INT_ + : [0-9]+ + ; + +HEX_ + : [0-9a-fA-F] + ; + +NUMBER_ + : INT_? DOT_? INT_ (E (PLUS_ | MINUS_)? INT_)? + ; + +HEXDIGIT_ + : '0x' HEX_+ | 'X' SQ_ HEX_+ SQ_ + ; + +BITNUM_ + : '0b' ('0' | '1')+ | B SQ_ ('0' | '1')+ SQ_ + ; \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/RDLStatement.g4 b/shardingsphere-operator/pkg/distsql/antlr4/mask/RDLStatement.g4 new file mode 100644 index 00000000..5ee11832 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/RDLStatement.g4 @@ -0,0 +1,52 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +grammar RDLStatement; + +import BaseRule; + +createMaskRule + : CREATE MASK TABLE? RULE ifNotExists? maskRuleDefinition (COMMA_ maskRuleDefinition)* + ; + +alterMaskRule + : ALTER MASK TABLE? RULE maskRuleDefinition (COMMA_ maskRuleDefinition)* + ; + +dropMaskRule + : DROP MASK TABLE? RULE ifExists? ruleName (COMMA_ ruleName)* + ; + +maskRuleDefinition + : ruleName LP_ COLUMNS LP_ columnDefinition (COMMA_ columnDefinition)* RP_ RP_ + ; + +columnDefinition + : LP_ NAME EQ_ columnName COMMA_ algorithmDefinition RP_ + ; + +columnName + : IDENTIFIER_ + ; + +ifExists + : IF EXISTS + ; + +ifNotExists + : IF NOT EXISTS + ; \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/RQLStatement.g4 b/shardingsphere-operator/pkg/distsql/antlr4/mask/RQLStatement.g4 new file mode 100644 index 00000000..1180d381 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/RQLStatement.g4 @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +grammar RQLStatement; + +import BaseRule; + +showMaskRules + : SHOW MASK TABLE? (RULE ruleName | RULES) (FROM databaseName)? + ; + +countMaskRule + : COUNT MASK RULE (FROM databaseName)? + ; + +databaseName + : IDENTIFIER_ + ; \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/Symbol.g4 b/shardingsphere-operator/pkg/distsql/antlr4/mask/Symbol.g4 new file mode 100644 index 00000000..237ab032 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/mask/Symbol.g4 @@ -0,0 +1,61 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +lexer grammar Symbol; + +AND_: '&&'; +OR_: '||'; +NOT_: '!'; +TILDE_: '~'; +VERTICALBAR_: '|'; +AMPERSAND_: '&'; +SIGNEDLEFTSHIFT_: '<<'; +SIGNEDRIGHTSHIFT_: '>>'; +CARET_: '^'; +MOD_: '%'; +COLON_: ':'; +PLUS_: '+'; +MINUS_: '-'; +ASTERISK_: '*'; +SLASH_: '/'; +BACKSLASH_: '\\'; +DOT_: '.'; +DOTASTERISK_: '.*'; +SAFEEQ_: '<=>'; +DEQ_: '=='; +EQ_: '='; +NEQ_: '<>' | '!='; +GT_: '>'; +GTE_: '>='; +LT_: '<'; +LTE_: '<='; +POUND_: '#'; +LP_: '('; +RP_: ')'; +LBE_: '{'; +RBE_: '}'; +LBT_: '['; +RBT_: ']'; +COMMA_: ','; +DQ_: '"'; +SQ_: '\''; +BQ_: '`'; +QUESTION_: '?'; +AT_: '@'; +SEMI_: ';'; +JSONSEPARATOR_: '->>'; +UL_: '_'; \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Alphabet.interp b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Alphabet.interp new file mode 100644 index 00000000..edd4b2d1 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Alphabet.interp @@ -0,0 +1,47 @@ +token literal names: +null +'DO NOT MATCH ANY THING, JUST FOR GENERATOR' + +token symbolic names: +null +FOR_GENERATOR + +rule names: +FOR_GENERATOR +A +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y +Z +UL_ + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 3, 156, 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, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 3, 18, 3, 18, 3, 19, 3, 19, 3, 20, 3, 20, 3, 21, 3, 21, 3, 22, 3, 22, 3, 23, 3, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 2, 2, 30, 3, 3, 5, 2, 7, 2, 9, 2, 11, 2, 13, 2, 15, 2, 17, 2, 19, 2, 21, 2, 23, 2, 25, 2, 27, 2, 29, 2, 31, 2, 33, 2, 35, 2, 37, 2, 39, 2, 41, 2, 43, 2, 45, 2, 47, 2, 49, 2, 51, 2, 53, 2, 55, 2, 57, 2, 3, 2, 28, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 2, 128, 2, 3, 3, 2, 2, 2, 3, 59, 3, 2, 2, 2, 5, 102, 3, 2, 2, 2, 7, 104, 3, 2, 2, 2, 9, 106, 3, 2, 2, 2, 11, 108, 3, 2, 2, 2, 13, 110, 3, 2, 2, 2, 15, 112, 3, 2, 2, 2, 17, 114, 3, 2, 2, 2, 19, 116, 3, 2, 2, 2, 21, 118, 3, 2, 2, 2, 23, 120, 3, 2, 2, 2, 25, 122, 3, 2, 2, 2, 27, 124, 3, 2, 2, 2, 29, 126, 3, 2, 2, 2, 31, 128, 3, 2, 2, 2, 33, 130, 3, 2, 2, 2, 35, 132, 3, 2, 2, 2, 37, 134, 3, 2, 2, 2, 39, 136, 3, 2, 2, 2, 41, 138, 3, 2, 2, 2, 43, 140, 3, 2, 2, 2, 45, 142, 3, 2, 2, 2, 47, 144, 3, 2, 2, 2, 49, 146, 3, 2, 2, 2, 51, 148, 3, 2, 2, 2, 53, 150, 3, 2, 2, 2, 55, 152, 3, 2, 2, 2, 57, 154, 3, 2, 2, 2, 59, 60, 7, 70, 2, 2, 60, 61, 7, 81, 2, 2, 61, 62, 7, 34, 2, 2, 62, 63, 7, 80, 2, 2, 63, 64, 7, 81, 2, 2, 64, 65, 7, 86, 2, 2, 65, 66, 7, 34, 2, 2, 66, 67, 7, 79, 2, 2, 67, 68, 7, 67, 2, 2, 68, 69, 7, 86, 2, 2, 69, 70, 7, 69, 2, 2, 70, 71, 7, 74, 2, 2, 71, 72, 7, 34, 2, 2, 72, 73, 7, 67, 2, 2, 73, 74, 7, 80, 2, 2, 74, 75, 7, 91, 2, 2, 75, 76, 7, 34, 2, 2, 76, 77, 7, 86, 2, 2, 77, 78, 7, 74, 2, 2, 78, 79, 7, 75, 2, 2, 79, 80, 7, 80, 2, 2, 80, 81, 7, 73, 2, 2, 81, 82, 7, 46, 2, 2, 82, 83, 7, 34, 2, 2, 83, 84, 7, 76, 2, 2, 84, 85, 7, 87, 2, 2, 85, 86, 7, 85, 2, 2, 86, 87, 7, 86, 2, 2, 87, 88, 7, 34, 2, 2, 88, 89, 7, 72, 2, 2, 89, 90, 7, 81, 2, 2, 90, 91, 7, 84, 2, 2, 91, 92, 7, 34, 2, 2, 92, 93, 7, 73, 2, 2, 93, 94, 7, 71, 2, 2, 94, 95, 7, 80, 2, 2, 95, 96, 7, 71, 2, 2, 96, 97, 7, 84, 2, 2, 97, 98, 7, 67, 2, 2, 98, 99, 7, 86, 2, 2, 99, 100, 7, 81, 2, 2, 100, 101, 7, 84, 2, 2, 101, 4, 3, 2, 2, 2, 102, 103, 9, 2, 2, 2, 103, 6, 3, 2, 2, 2, 104, 105, 9, 3, 2, 2, 105, 8, 3, 2, 2, 2, 106, 107, 9, 4, 2, 2, 107, 10, 3, 2, 2, 2, 108, 109, 9, 5, 2, 2, 109, 12, 3, 2, 2, 2, 110, 111, 9, 6, 2, 2, 111, 14, 3, 2, 2, 2, 112, 113, 9, 7, 2, 2, 113, 16, 3, 2, 2, 2, 114, 115, 9, 8, 2, 2, 115, 18, 3, 2, 2, 2, 116, 117, 9, 9, 2, 2, 117, 20, 3, 2, 2, 2, 118, 119, 9, 10, 2, 2, 119, 22, 3, 2, 2, 2, 120, 121, 9, 11, 2, 2, 121, 24, 3, 2, 2, 2, 122, 123, 9, 12, 2, 2, 123, 26, 3, 2, 2, 2, 124, 125, 9, 13, 2, 2, 125, 28, 3, 2, 2, 2, 126, 127, 9, 14, 2, 2, 127, 30, 3, 2, 2, 2, 128, 129, 9, 15, 2, 2, 129, 32, 3, 2, 2, 2, 130, 131, 9, 16, 2, 2, 131, 34, 3, 2, 2, 2, 132, 133, 9, 17, 2, 2, 133, 36, 3, 2, 2, 2, 134, 135, 9, 18, 2, 2, 135, 38, 3, 2, 2, 2, 136, 137, 9, 19, 2, 2, 137, 40, 3, 2, 2, 2, 138, 139, 9, 20, 2, 2, 139, 42, 3, 2, 2, 2, 140, 141, 9, 21, 2, 2, 141, 44, 3, 2, 2, 2, 142, 143, 9, 22, 2, 2, 143, 46, 3, 2, 2, 2, 144, 145, 9, 23, 2, 2, 145, 48, 3, 2, 2, 2, 146, 147, 9, 24, 2, 2, 147, 50, 3, 2, 2, 2, 148, 149, 9, 25, 2, 2, 149, 52, 3, 2, 2, 2, 150, 151, 9, 26, 2, 2, 151, 54, 3, 2, 2, 2, 152, 153, 9, 27, 2, 2, 153, 56, 3, 2, 2, 2, 154, 155, 7, 97, 2, 2, 155, 58, 3, 2, 2, 2, 3, 2, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Alphabet.java b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Alphabet.java new file mode 100644 index 00000000..31026f14 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Alphabet.java @@ -0,0 +1,154 @@ +// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/Alphabet.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.misc.*; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class Alphabet extends Lexer { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + FOR_GENERATOR=1; + public static String[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + + public static String[] modeNames = { + "DEFAULT_MODE" + }; + + private static String[] makeRuleNames() { + return new String[] { + "FOR_GENERATOR", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", + "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", + "Z", "UL_" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "FOR_GENERATOR" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + + public Alphabet(CharStream input) { + super(input); + _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + @Override + public String getGrammarFileName() { return "Alphabet.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public String[] getChannelNames() { return channelNames; } + + @Override + public String[] getModeNames() { return modeNames; } + + @Override + public ATN getATN() { return _ATN; } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2\3\u009c\b\1\4\2\t"+ + "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ + "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ + "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ + "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3"+ + "\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2"+ + "\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3"+ + "\2\3\3\3\3\3\4\3\4\3\5\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\t\3\t\3\n\3\n\3\13"+ + "\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3\17\3\17\3\20\3\20\3\21\3\21\3\22\3\22"+ + "\3\23\3\23\3\24\3\24\3\25\3\25\3\26\3\26\3\27\3\27\3\30\3\30\3\31\3\31"+ + "\3\32\3\32\3\33\3\33\3\34\3\34\3\35\3\35\2\2\36\3\3\5\2\7\2\t\2\13\2\r"+ + "\2\17\2\21\2\23\2\25\2\27\2\31\2\33\2\35\2\37\2!\2#\2%\2\'\2)\2+\2-\2"+ + "/\2\61\2\63\2\65\2\67\29\2\3\2\34\4\2CCcc\4\2DDdd\4\2EEee\4\2FFff\4\2"+ + "GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4\2LLll\4\2MMmm\4\2NNnn\4\2OOoo\4"+ + "\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4\2TTtt\4\2UUuu\4\2VVvv\4\2WWww\4\2XXx"+ + "x\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\||\2\u0080\2\3\3\2\2\2\3;\3\2\2\2\5f"+ + "\3\2\2\2\7h\3\2\2\2\tj\3\2\2\2\13l\3\2\2\2\rn\3\2\2\2\17p\3\2\2\2\21r"+ + "\3\2\2\2\23t\3\2\2\2\25v\3\2\2\2\27x\3\2\2\2\31z\3\2\2\2\33|\3\2\2\2\35"+ + "~\3\2\2\2\37\u0080\3\2\2\2!\u0082\3\2\2\2#\u0084\3\2\2\2%\u0086\3\2\2"+ + "\2\'\u0088\3\2\2\2)\u008a\3\2\2\2+\u008c\3\2\2\2-\u008e\3\2\2\2/\u0090"+ + "\3\2\2\2\61\u0092\3\2\2\2\63\u0094\3\2\2\2\65\u0096\3\2\2\2\67\u0098\3"+ + "\2\2\29\u009a\3\2\2\2;<\7F\2\2<=\7Q\2\2=>\7\"\2\2>?\7P\2\2?@\7Q\2\2@A"+ + "\7V\2\2AB\7\"\2\2BC\7O\2\2CD\7C\2\2DE\7V\2\2EF\7E\2\2FG\7J\2\2GH\7\"\2"+ + "\2HI\7C\2\2IJ\7P\2\2JK\7[\2\2KL\7\"\2\2LM\7V\2\2MN\7J\2\2NO\7K\2\2OP\7"+ + "P\2\2PQ\7I\2\2QR\7.\2\2RS\7\"\2\2ST\7L\2\2TU\7W\2\2UV\7U\2\2VW\7V\2\2"+ + "WX\7\"\2\2XY\7H\2\2YZ\7Q\2\2Z[\7T\2\2[\\\7\"\2\2\\]\7I\2\2]^\7G\2\2^_"+ + "\7P\2\2_`\7G\2\2`a\7T\2\2ab\7C\2\2bc\7V\2\2cd\7Q\2\2de\7T\2\2e\4\3\2\2"+ + "\2fg\t\2\2\2g\6\3\2\2\2hi\t\3\2\2i\b\3\2\2\2jk\t\4\2\2k\n\3\2\2\2lm\t"+ + "\5\2\2m\f\3\2\2\2no\t\6\2\2o\16\3\2\2\2pq\t\7\2\2q\20\3\2\2\2rs\t\b\2"+ + "\2s\22\3\2\2\2tu\t\t\2\2u\24\3\2\2\2vw\t\n\2\2w\26\3\2\2\2xy\t\13\2\2"+ + "y\30\3\2\2\2z{\t\f\2\2{\32\3\2\2\2|}\t\r\2\2}\34\3\2\2\2~\177\t\16\2\2"+ + "\177\36\3\2\2\2\u0080\u0081\t\17\2\2\u0081 \3\2\2\2\u0082\u0083\t\20\2"+ + "\2\u0083\"\3\2\2\2\u0084\u0085\t\21\2\2\u0085$\3\2\2\2\u0086\u0087\t\22"+ + "\2\2\u0087&\3\2\2\2\u0088\u0089\t\23\2\2\u0089(\3\2\2\2\u008a\u008b\t"+ + "\24\2\2\u008b*\3\2\2\2\u008c\u008d\t\25\2\2\u008d,\3\2\2\2\u008e\u008f"+ + "\t\26\2\2\u008f.\3\2\2\2\u0090\u0091\t\27\2\2\u0091\60\3\2\2\2\u0092\u0093"+ + "\t\30\2\2\u0093\62\3\2\2\2\u0094\u0095\t\31\2\2\u0095\64\3\2\2\2\u0096"+ + "\u0097\t\32\2\2\u0097\66\3\2\2\2\u0098\u0099\t\33\2\2\u00998\3\2\2\2\u009a"+ + "\u009b\7a\2\2\u009b:\3\2\2\2\3\2\2"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Alphabet.tokens b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Alphabet.tokens new file mode 100644 index 00000000..a5be65d8 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Alphabet.tokens @@ -0,0 +1,2 @@ +FOR_GENERATOR=1 +'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=1 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRule.interp b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRule.interp new file mode 100644 index 00000000..7da6825d --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRule.interp @@ -0,0 +1,179 @@ +token literal names: +null +'&&' +'||' +'!' +'~' +'|' +'&' +'<<' +'>>' +'^' +'%' +':' +'+' +'-' +'*' +'/' +'\\' +'.' +'.*' +'<=>' +'==' +'=' +null +'>' +'>=' +'<' +'<=' +'#' +'(' +')' +'{' +'}' +'[' +']' +',' +'"' +'\'' +'`' +'?' +'@' +';' +'->>' +'_' +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +'DO NOT MATCH ANY THING, JUST FOR GENERATOR' +null +null +null +null +null +null +null + +token symbolic names: +null +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ +WS +TRUE +FALSE +CREATE +ALTER +DROP +SHOW +RULE +FROM +READWRITE_SPLITTING +WRITE_STORAGE_UNIT +READ_STORAGE_UNITS +TRANSACTIONAL_READ_QUERY_STRATEGY +TYPE +NAME +PROPERTIES +RULES +RESOURCES +STATUS +ENABLE +DISABLE +READ +IF +EXISTS +COUNT +ROUND_ROBIN +RANDOM +WEIGHT +NOT +FOR_GENERATOR +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ + +rule names: +literal +algorithmDefinition +algorithmTypeName +buildInReadQueryLoadBalanceAlgorithmType +propertiesDefinition +properties +property +databaseName +groupName +storageUnitName + + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 81, 74, 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, 3, 2, 3, 2, 5, 2, 25, 10, 2, 3, 2, 3, 2, 3, 2, 5, 2, 30, 10, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 39, 10, 3, 3, 3, 3, 3, 3, 4, 3, 4, 5, 4, 45, 10, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 5, 6, 52, 10, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 7, 7, 59, 10, 7, 12, 7, 14, 7, 62, 11, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 2, 2, 12, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 2, 3, 3, 2, 70, 72, 2, 71, 2, 29, 3, 2, 2, 2, 4, 31, 3, 2, 2, 2, 6, 44, 3, 2, 2, 2, 8, 46, 3, 2, 2, 2, 10, 48, 3, 2, 2, 2, 12, 55, 3, 2, 2, 2, 14, 63, 3, 2, 2, 2, 16, 67, 3, 2, 2, 2, 18, 69, 3, 2, 2, 2, 20, 71, 3, 2, 2, 2, 22, 30, 7, 76, 2, 2, 23, 25, 7, 15, 2, 2, 24, 23, 3, 2, 2, 2, 24, 25, 3, 2, 2, 2, 25, 26, 3, 2, 2, 2, 26, 30, 7, 77, 2, 2, 27, 30, 7, 46, 2, 2, 28, 30, 7, 47, 2, 2, 29, 22, 3, 2, 2, 2, 29, 24, 3, 2, 2, 2, 29, 27, 3, 2, 2, 2, 29, 28, 3, 2, 2, 2, 30, 3, 3, 2, 2, 2, 31, 32, 7, 58, 2, 2, 32, 33, 7, 30, 2, 2, 33, 34, 7, 59, 2, 2, 34, 35, 7, 23, 2, 2, 35, 38, 5, 6, 4, 2, 36, 37, 7, 36, 2, 2, 37, 39, 5, 10, 6, 2, 38, 36, 3, 2, 2, 2, 38, 39, 3, 2, 2, 2, 39, 40, 3, 2, 2, 2, 40, 41, 7, 31, 2, 2, 41, 5, 3, 2, 2, 2, 42, 45, 7, 76, 2, 2, 43, 45, 5, 8, 5, 2, 44, 42, 3, 2, 2, 2, 44, 43, 3, 2, 2, 2, 45, 7, 3, 2, 2, 2, 46, 47, 9, 2, 2, 2, 47, 9, 3, 2, 2, 2, 48, 49, 7, 60, 2, 2, 49, 51, 7, 30, 2, 2, 50, 52, 5, 12, 7, 2, 51, 50, 3, 2, 2, 2, 51, 52, 3, 2, 2, 2, 52, 53, 3, 2, 2, 2, 53, 54, 7, 31, 2, 2, 54, 11, 3, 2, 2, 2, 55, 60, 5, 14, 8, 2, 56, 57, 7, 36, 2, 2, 57, 59, 5, 14, 8, 2, 58, 56, 3, 2, 2, 2, 59, 62, 3, 2, 2, 2, 60, 58, 3, 2, 2, 2, 60, 61, 3, 2, 2, 2, 61, 13, 3, 2, 2, 2, 62, 60, 3, 2, 2, 2, 63, 64, 7, 76, 2, 2, 64, 65, 7, 23, 2, 2, 65, 66, 5, 2, 2, 2, 66, 15, 3, 2, 2, 2, 67, 68, 7, 75, 2, 2, 68, 17, 3, 2, 2, 2, 69, 70, 7, 75, 2, 2, 70, 19, 3, 2, 2, 2, 71, 72, 7, 75, 2, 2, 72, 21, 3, 2, 2, 2, 8, 24, 29, 38, 44, 51, 60] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRule.tokens b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRule.tokens new file mode 100644 index 00000000..8f1734a8 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRule.tokens @@ -0,0 +1,121 @@ +AND_=1 +OR_=2 +NOT_=3 +TILDE_=4 +VERTICALBAR_=5 +AMPERSAND_=6 +SIGNEDLEFTSHIFT_=7 +SIGNEDRIGHTSHIFT_=8 +CARET_=9 +MOD_=10 +COLON_=11 +PLUS_=12 +MINUS_=13 +ASTERISK_=14 +SLASH_=15 +BACKSLASH_=16 +DOT_=17 +DOTASTERISK_=18 +SAFEEQ_=19 +DEQ_=20 +EQ_=21 +NEQ_=22 +GT_=23 +GTE_=24 +LT_=25 +LTE_=26 +POUND_=27 +LP_=28 +RP_=29 +LBE_=30 +RBE_=31 +LBT_=32 +RBT_=33 +COMMA_=34 +DQ_=35 +SQ_=36 +BQ_=37 +QUESTION_=38 +AT_=39 +SEMI_=40 +JSONSEPARATOR_=41 +UL_=42 +WS=43 +TRUE=44 +FALSE=45 +CREATE=46 +ALTER=47 +DROP=48 +SHOW=49 +RULE=50 +FROM=51 +READWRITE_SPLITTING=52 +WRITE_STORAGE_UNIT=53 +READ_STORAGE_UNITS=54 +TRANSACTIONAL_READ_QUERY_STRATEGY=55 +TYPE=56 +NAME=57 +PROPERTIES=58 +RULES=59 +RESOURCES=60 +STATUS=61 +ENABLE=62 +DISABLE=63 +READ=64 +IF=65 +EXISTS=66 +COUNT=67 +ROUND_ROBIN=68 +RANDOM=69 +WEIGHT=70 +NOT=71 +FOR_GENERATOR=72 +IDENTIFIER_=73 +STRING_=74 +INT_=75 +HEX_=76 +NUMBER_=77 +HEXDIGIT_=78 +BITNUM_=79 +'&&'=1 +'||'=2 +'!'=3 +'~'=4 +'|'=5 +'&'=6 +'<<'=7 +'>>'=8 +'^'=9 +'%'=10 +':'=11 +'+'=12 +'-'=13 +'*'=14 +'/'=15 +'\\'=16 +'.'=17 +'.*'=18 +'<=>'=19 +'=='=20 +'='=21 +'>'=23 +'>='=24 +'<'=25 +'<='=26 +'#'=27 +'('=28 +')'=29 +'{'=30 +'}'=31 +'['=32 +']'=33 +','=34 +'"'=35 +'\''=36 +'`'=37 +'?'=38 +'@'=39 +';'=40 +'->>'=41 +'_'=42 +'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=72 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleLexer.interp b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleLexer.interp new file mode 100644 index 00000000..3301b273 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleLexer.interp @@ -0,0 +1,280 @@ +token literal names: +null +'&&' +'||' +'!' +'~' +'|' +'&' +'<<' +'>>' +'^' +'%' +':' +'+' +'-' +'*' +'/' +'\\' +'.' +'.*' +'<=>' +'==' +'=' +null +'>' +'>=' +'<' +'<=' +'#' +'(' +')' +'{' +'}' +'[' +']' +',' +'"' +'\'' +'`' +'?' +'@' +';' +'->>' +'_' +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +'DO NOT MATCH ANY THING, JUST FOR GENERATOR' +null +null +null +null +null +null +null + +token symbolic names: +null +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ +WS +TRUE +FALSE +CREATE +ALTER +DROP +SHOW +RULE +FROM +READWRITE_SPLITTING +WRITE_STORAGE_UNIT +READ_STORAGE_UNITS +TRANSACTIONAL_READ_QUERY_STRATEGY +TYPE +NAME +PROPERTIES +RULES +RESOURCES +STATUS +ENABLE +DISABLE +READ +IF +EXISTS +COUNT +ROUND_ROBIN +RANDOM +WEIGHT +NOT +FOR_GENERATOR +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ + +rule names: +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ +WS +TRUE +FALSE +CREATE +ALTER +DROP +SHOW +RULE +FROM +READWRITE_SPLITTING +WRITE_STORAGE_UNIT +READ_STORAGE_UNITS +TRANSACTIONAL_READ_QUERY_STRATEGY +TYPE +NAME +PROPERTIES +RULES +RESOURCES +STATUS +ENABLE +DISABLE +READ +IF +EXISTS +COUNT +ROUND_ROBIN +RANDOM +WEIGHT +NOT +FOR_GENERATOR +A +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y +Z +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 81, 777, 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, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 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, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 268, 10, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 44, 6, 44, 315, 10, 44, 13, 44, 14, 44, 316, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 66, 3, 66, 3, 66, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 72, 3, 72, 3, 72, 3, 72, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 74, 3, 74, 3, 75, 3, 75, 3, 76, 3, 76, 3, 77, 3, 77, 3, 78, 3, 78, 3, 79, 3, 79, 3, 80, 3, 80, 3, 81, 3, 81, 3, 82, 3, 82, 3, 83, 3, 83, 3, 84, 3, 84, 3, 85, 3, 85, 3, 86, 3, 86, 3, 87, 3, 87, 3, 88, 3, 88, 3, 89, 3, 89, 3, 90, 3, 90, 3, 91, 3, 91, 3, 92, 3, 92, 3, 93, 3, 93, 3, 94, 3, 94, 3, 95, 3, 95, 3, 96, 3, 96, 3, 97, 3, 97, 3, 98, 3, 98, 3, 99, 3, 99, 3, 100, 7, 100, 663, 10, 100, 12, 100, 14, 100, 666, 11, 100, 3, 100, 6, 100, 669, 10, 100, 13, 100, 14, 100, 670, 3, 100, 7, 100, 674, 10, 100, 12, 100, 14, 100, 677, 11, 100, 3, 100, 3, 100, 6, 100, 681, 10, 100, 13, 100, 14, 100, 682, 3, 100, 3, 100, 5, 100, 687, 10, 100, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 7, 101, 695, 10, 101, 12, 101, 14, 101, 698, 11, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 7, 101, 708, 10, 101, 12, 101, 14, 101, 711, 11, 101, 3, 101, 3, 101, 5, 101, 715, 10, 101, 3, 102, 6, 102, 718, 10, 102, 13, 102, 14, 102, 719, 3, 103, 3, 103, 3, 104, 5, 104, 725, 10, 104, 3, 104, 5, 104, 728, 10, 104, 3, 104, 3, 104, 3, 104, 3, 104, 5, 104, 734, 10, 104, 3, 104, 3, 104, 5, 104, 738, 10, 104, 3, 105, 3, 105, 3, 105, 3, 105, 6, 105, 744, 10, 105, 13, 105, 14, 105, 745, 3, 105, 3, 105, 3, 105, 6, 105, 751, 10, 105, 13, 105, 14, 105, 752, 3, 105, 3, 105, 5, 105, 757, 10, 105, 3, 106, 3, 106, 3, 106, 3, 106, 6, 106, 763, 10, 106, 13, 106, 14, 106, 764, 3, 106, 3, 106, 3, 106, 6, 106, 770, 10, 106, 13, 106, 14, 106, 771, 3, 106, 3, 106, 5, 106, 776, 10, 106, 4, 664, 670, 2, 107, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, 91, 47, 93, 48, 95, 49, 97, 50, 99, 51, 101, 52, 103, 53, 105, 54, 107, 55, 109, 56, 111, 57, 113, 58, 115, 59, 117, 60, 119, 61, 121, 62, 123, 63, 125, 64, 127, 65, 129, 66, 131, 67, 133, 68, 135, 69, 137, 70, 139, 71, 141, 72, 143, 73, 145, 74, 147, 2, 149, 2, 151, 2, 153, 2, 155, 2, 157, 2, 159, 2, 161, 2, 163, 2, 165, 2, 167, 2, 169, 2, 171, 2, 173, 2, 175, 2, 177, 2, 179, 2, 181, 2, 183, 2, 185, 2, 187, 2, 189, 2, 191, 2, 193, 2, 195, 2, 197, 2, 199, 75, 201, 76, 203, 77, 205, 78, 207, 79, 209, 80, 211, 81, 3, 2, 36, 5, 2, 11, 12, 15, 15, 34, 34, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 7, 2, 38, 38, 50, 59, 67, 92, 97, 97, 99, 124, 6, 2, 38, 38, 67, 92, 97, 97, 99, 124, 3, 2, 98, 98, 4, 2, 36, 36, 94, 94, 4, 2, 41, 41, 94, 94, 3, 2, 50, 59, 5, 2, 50, 59, 67, 72, 99, 104, 2, 776, 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, 199, 3, 2, 2, 2, 2, 201, 3, 2, 2, 2, 2, 203, 3, 2, 2, 2, 2, 205, 3, 2, 2, 2, 2, 207, 3, 2, 2, 2, 2, 209, 3, 2, 2, 2, 2, 211, 3, 2, 2, 2, 3, 213, 3, 2, 2, 2, 5, 216, 3, 2, 2, 2, 7, 219, 3, 2, 2, 2, 9, 221, 3, 2, 2, 2, 11, 223, 3, 2, 2, 2, 13, 225, 3, 2, 2, 2, 15, 227, 3, 2, 2, 2, 17, 230, 3, 2, 2, 2, 19, 233, 3, 2, 2, 2, 21, 235, 3, 2, 2, 2, 23, 237, 3, 2, 2, 2, 25, 239, 3, 2, 2, 2, 27, 241, 3, 2, 2, 2, 29, 243, 3, 2, 2, 2, 31, 245, 3, 2, 2, 2, 33, 247, 3, 2, 2, 2, 35, 249, 3, 2, 2, 2, 37, 251, 3, 2, 2, 2, 39, 254, 3, 2, 2, 2, 41, 258, 3, 2, 2, 2, 43, 261, 3, 2, 2, 2, 45, 267, 3, 2, 2, 2, 47, 269, 3, 2, 2, 2, 49, 271, 3, 2, 2, 2, 51, 274, 3, 2, 2, 2, 53, 276, 3, 2, 2, 2, 55, 279, 3, 2, 2, 2, 57, 281, 3, 2, 2, 2, 59, 283, 3, 2, 2, 2, 61, 285, 3, 2, 2, 2, 63, 287, 3, 2, 2, 2, 65, 289, 3, 2, 2, 2, 67, 291, 3, 2, 2, 2, 69, 293, 3, 2, 2, 2, 71, 295, 3, 2, 2, 2, 73, 297, 3, 2, 2, 2, 75, 299, 3, 2, 2, 2, 77, 301, 3, 2, 2, 2, 79, 303, 3, 2, 2, 2, 81, 305, 3, 2, 2, 2, 83, 307, 3, 2, 2, 2, 85, 311, 3, 2, 2, 2, 87, 314, 3, 2, 2, 2, 89, 320, 3, 2, 2, 2, 91, 325, 3, 2, 2, 2, 93, 331, 3, 2, 2, 2, 95, 338, 3, 2, 2, 2, 97, 344, 3, 2, 2, 2, 99, 349, 3, 2, 2, 2, 101, 354, 3, 2, 2, 2, 103, 359, 3, 2, 2, 2, 105, 364, 3, 2, 2, 2, 107, 384, 3, 2, 2, 2, 109, 403, 3, 2, 2, 2, 111, 422, 3, 2, 2, 2, 113, 456, 3, 2, 2, 2, 115, 461, 3, 2, 2, 2, 117, 466, 3, 2, 2, 2, 119, 477, 3, 2, 2, 2, 121, 483, 3, 2, 2, 2, 123, 493, 3, 2, 2, 2, 125, 500, 3, 2, 2, 2, 127, 507, 3, 2, 2, 2, 129, 515, 3, 2, 2, 2, 131, 520, 3, 2, 2, 2, 133, 523, 3, 2, 2, 2, 135, 530, 3, 2, 2, 2, 137, 536, 3, 2, 2, 2, 139, 548, 3, 2, 2, 2, 141, 555, 3, 2, 2, 2, 143, 562, 3, 2, 2, 2, 145, 566, 3, 2, 2, 2, 147, 609, 3, 2, 2, 2, 149, 611, 3, 2, 2, 2, 151, 613, 3, 2, 2, 2, 153, 615, 3, 2, 2, 2, 155, 617, 3, 2, 2, 2, 157, 619, 3, 2, 2, 2, 159, 621, 3, 2, 2, 2, 161, 623, 3, 2, 2, 2, 163, 625, 3, 2, 2, 2, 165, 627, 3, 2, 2, 2, 167, 629, 3, 2, 2, 2, 169, 631, 3, 2, 2, 2, 171, 633, 3, 2, 2, 2, 173, 635, 3, 2, 2, 2, 175, 637, 3, 2, 2, 2, 177, 639, 3, 2, 2, 2, 179, 641, 3, 2, 2, 2, 181, 643, 3, 2, 2, 2, 183, 645, 3, 2, 2, 2, 185, 647, 3, 2, 2, 2, 187, 649, 3, 2, 2, 2, 189, 651, 3, 2, 2, 2, 191, 653, 3, 2, 2, 2, 193, 655, 3, 2, 2, 2, 195, 657, 3, 2, 2, 2, 197, 659, 3, 2, 2, 2, 199, 686, 3, 2, 2, 2, 201, 714, 3, 2, 2, 2, 203, 717, 3, 2, 2, 2, 205, 721, 3, 2, 2, 2, 207, 724, 3, 2, 2, 2, 209, 756, 3, 2, 2, 2, 211, 775, 3, 2, 2, 2, 213, 214, 7, 40, 2, 2, 214, 215, 7, 40, 2, 2, 215, 4, 3, 2, 2, 2, 216, 217, 7, 126, 2, 2, 217, 218, 7, 126, 2, 2, 218, 6, 3, 2, 2, 2, 219, 220, 7, 35, 2, 2, 220, 8, 3, 2, 2, 2, 221, 222, 7, 128, 2, 2, 222, 10, 3, 2, 2, 2, 223, 224, 7, 126, 2, 2, 224, 12, 3, 2, 2, 2, 225, 226, 7, 40, 2, 2, 226, 14, 3, 2, 2, 2, 227, 228, 7, 62, 2, 2, 228, 229, 7, 62, 2, 2, 229, 16, 3, 2, 2, 2, 230, 231, 7, 64, 2, 2, 231, 232, 7, 64, 2, 2, 232, 18, 3, 2, 2, 2, 233, 234, 7, 96, 2, 2, 234, 20, 3, 2, 2, 2, 235, 236, 7, 39, 2, 2, 236, 22, 3, 2, 2, 2, 237, 238, 7, 60, 2, 2, 238, 24, 3, 2, 2, 2, 239, 240, 7, 45, 2, 2, 240, 26, 3, 2, 2, 2, 241, 242, 7, 47, 2, 2, 242, 28, 3, 2, 2, 2, 243, 244, 7, 44, 2, 2, 244, 30, 3, 2, 2, 2, 245, 246, 7, 49, 2, 2, 246, 32, 3, 2, 2, 2, 247, 248, 7, 94, 2, 2, 248, 34, 3, 2, 2, 2, 249, 250, 7, 48, 2, 2, 250, 36, 3, 2, 2, 2, 251, 252, 7, 48, 2, 2, 252, 253, 7, 44, 2, 2, 253, 38, 3, 2, 2, 2, 254, 255, 7, 62, 2, 2, 255, 256, 7, 63, 2, 2, 256, 257, 7, 64, 2, 2, 257, 40, 3, 2, 2, 2, 258, 259, 7, 63, 2, 2, 259, 260, 7, 63, 2, 2, 260, 42, 3, 2, 2, 2, 261, 262, 7, 63, 2, 2, 262, 44, 3, 2, 2, 2, 263, 264, 7, 62, 2, 2, 264, 268, 7, 64, 2, 2, 265, 266, 7, 35, 2, 2, 266, 268, 7, 63, 2, 2, 267, 263, 3, 2, 2, 2, 267, 265, 3, 2, 2, 2, 268, 46, 3, 2, 2, 2, 269, 270, 7, 64, 2, 2, 270, 48, 3, 2, 2, 2, 271, 272, 7, 64, 2, 2, 272, 273, 7, 63, 2, 2, 273, 50, 3, 2, 2, 2, 274, 275, 7, 62, 2, 2, 275, 52, 3, 2, 2, 2, 276, 277, 7, 62, 2, 2, 277, 278, 7, 63, 2, 2, 278, 54, 3, 2, 2, 2, 279, 280, 7, 37, 2, 2, 280, 56, 3, 2, 2, 2, 281, 282, 7, 42, 2, 2, 282, 58, 3, 2, 2, 2, 283, 284, 7, 43, 2, 2, 284, 60, 3, 2, 2, 2, 285, 286, 7, 125, 2, 2, 286, 62, 3, 2, 2, 2, 287, 288, 7, 127, 2, 2, 288, 64, 3, 2, 2, 2, 289, 290, 7, 93, 2, 2, 290, 66, 3, 2, 2, 2, 291, 292, 7, 95, 2, 2, 292, 68, 3, 2, 2, 2, 293, 294, 7, 46, 2, 2, 294, 70, 3, 2, 2, 2, 295, 296, 7, 36, 2, 2, 296, 72, 3, 2, 2, 2, 297, 298, 7, 41, 2, 2, 298, 74, 3, 2, 2, 2, 299, 300, 7, 98, 2, 2, 300, 76, 3, 2, 2, 2, 301, 302, 7, 65, 2, 2, 302, 78, 3, 2, 2, 2, 303, 304, 7, 66, 2, 2, 304, 80, 3, 2, 2, 2, 305, 306, 7, 61, 2, 2, 306, 82, 3, 2, 2, 2, 307, 308, 7, 47, 2, 2, 308, 309, 7, 64, 2, 2, 309, 310, 7, 64, 2, 2, 310, 84, 3, 2, 2, 2, 311, 312, 7, 97, 2, 2, 312, 86, 3, 2, 2, 2, 313, 315, 9, 2, 2, 2, 314, 313, 3, 2, 2, 2, 315, 316, 3, 2, 2, 2, 316, 314, 3, 2, 2, 2, 316, 317, 3, 2, 2, 2, 317, 318, 3, 2, 2, 2, 318, 319, 8, 44, 2, 2, 319, 88, 3, 2, 2, 2, 320, 321, 5, 185, 93, 2, 321, 322, 5, 181, 91, 2, 322, 323, 5, 187, 94, 2, 323, 324, 5, 155, 78, 2, 324, 90, 3, 2, 2, 2, 325, 326, 5, 157, 79, 2, 326, 327, 5, 147, 74, 2, 327, 328, 5, 169, 85, 2, 328, 329, 5, 183, 92, 2, 329, 330, 5, 155, 78, 2, 330, 92, 3, 2, 2, 2, 331, 332, 5, 151, 76, 2, 332, 333, 5, 181, 91, 2, 333, 334, 5, 155, 78, 2, 334, 335, 5, 147, 74, 2, 335, 336, 5, 185, 93, 2, 336, 337, 5, 155, 78, 2, 337, 94, 3, 2, 2, 2, 338, 339, 5, 147, 74, 2, 339, 340, 5, 169, 85, 2, 340, 341, 5, 185, 93, 2, 341, 342, 5, 155, 78, 2, 342, 343, 5, 181, 91, 2, 343, 96, 3, 2, 2, 2, 344, 345, 5, 153, 77, 2, 345, 346, 5, 181, 91, 2, 346, 347, 5, 175, 88, 2, 347, 348, 5, 177, 89, 2, 348, 98, 3, 2, 2, 2, 349, 350, 5, 183, 92, 2, 350, 351, 5, 161, 81, 2, 351, 352, 5, 175, 88, 2, 352, 353, 5, 191, 96, 2, 353, 100, 3, 2, 2, 2, 354, 355, 5, 181, 91, 2, 355, 356, 5, 187, 94, 2, 356, 357, 5, 169, 85, 2, 357, 358, 5, 155, 78, 2, 358, 102, 3, 2, 2, 2, 359, 360, 5, 157, 79, 2, 360, 361, 5, 181, 91, 2, 361, 362, 5, 175, 88, 2, 362, 363, 5, 171, 86, 2, 363, 104, 3, 2, 2, 2, 364, 365, 5, 181, 91, 2, 365, 366, 5, 155, 78, 2, 366, 367, 5, 147, 74, 2, 367, 368, 5, 153, 77, 2, 368, 369, 5, 191, 96, 2, 369, 370, 5, 181, 91, 2, 370, 371, 5, 163, 82, 2, 371, 372, 5, 185, 93, 2, 372, 373, 5, 155, 78, 2, 373, 374, 5, 85, 43, 2, 374, 375, 5, 183, 92, 2, 375, 376, 5, 177, 89, 2, 376, 377, 5, 169, 85, 2, 377, 378, 5, 163, 82, 2, 378, 379, 5, 185, 93, 2, 379, 380, 5, 185, 93, 2, 380, 381, 5, 163, 82, 2, 381, 382, 5, 173, 87, 2, 382, 383, 5, 159, 80, 2, 383, 106, 3, 2, 2, 2, 384, 385, 5, 191, 96, 2, 385, 386, 5, 181, 91, 2, 386, 387, 5, 163, 82, 2, 387, 388, 5, 185, 93, 2, 388, 389, 5, 155, 78, 2, 389, 390, 5, 85, 43, 2, 390, 391, 5, 183, 92, 2, 391, 392, 5, 185, 93, 2, 392, 393, 5, 175, 88, 2, 393, 394, 5, 181, 91, 2, 394, 395, 5, 147, 74, 2, 395, 396, 5, 159, 80, 2, 396, 397, 5, 155, 78, 2, 397, 398, 5, 85, 43, 2, 398, 399, 5, 187, 94, 2, 399, 400, 5, 173, 87, 2, 400, 401, 5, 163, 82, 2, 401, 402, 5, 185, 93, 2, 402, 108, 3, 2, 2, 2, 403, 404, 5, 181, 91, 2, 404, 405, 5, 155, 78, 2, 405, 406, 5, 147, 74, 2, 406, 407, 5, 153, 77, 2, 407, 408, 5, 85, 43, 2, 408, 409, 5, 183, 92, 2, 409, 410, 5, 185, 93, 2, 410, 411, 5, 175, 88, 2, 411, 412, 5, 181, 91, 2, 412, 413, 5, 147, 74, 2, 413, 414, 5, 159, 80, 2, 414, 415, 5, 155, 78, 2, 415, 416, 5, 85, 43, 2, 416, 417, 5, 187, 94, 2, 417, 418, 5, 173, 87, 2, 418, 419, 5, 163, 82, 2, 419, 420, 5, 185, 93, 2, 420, 421, 5, 183, 92, 2, 421, 110, 3, 2, 2, 2, 422, 423, 5, 185, 93, 2, 423, 424, 5, 181, 91, 2, 424, 425, 5, 147, 74, 2, 425, 426, 5, 173, 87, 2, 426, 427, 5, 183, 92, 2, 427, 428, 5, 147, 74, 2, 428, 429, 5, 151, 76, 2, 429, 430, 5, 185, 93, 2, 430, 431, 5, 163, 82, 2, 431, 432, 5, 175, 88, 2, 432, 433, 5, 173, 87, 2, 433, 434, 5, 147, 74, 2, 434, 435, 5, 169, 85, 2, 435, 436, 5, 85, 43, 2, 436, 437, 5, 181, 91, 2, 437, 438, 5, 155, 78, 2, 438, 439, 5, 147, 74, 2, 439, 440, 5, 153, 77, 2, 440, 441, 5, 85, 43, 2, 441, 442, 5, 179, 90, 2, 442, 443, 5, 187, 94, 2, 443, 444, 5, 155, 78, 2, 444, 445, 5, 181, 91, 2, 445, 446, 5, 195, 98, 2, 446, 447, 5, 85, 43, 2, 447, 448, 5, 183, 92, 2, 448, 449, 5, 185, 93, 2, 449, 450, 5, 181, 91, 2, 450, 451, 5, 147, 74, 2, 451, 452, 5, 185, 93, 2, 452, 453, 5, 155, 78, 2, 453, 454, 5, 159, 80, 2, 454, 455, 5, 195, 98, 2, 455, 112, 3, 2, 2, 2, 456, 457, 5, 185, 93, 2, 457, 458, 5, 195, 98, 2, 458, 459, 5, 177, 89, 2, 459, 460, 5, 155, 78, 2, 460, 114, 3, 2, 2, 2, 461, 462, 5, 173, 87, 2, 462, 463, 5, 147, 74, 2, 463, 464, 5, 171, 86, 2, 464, 465, 5, 155, 78, 2, 465, 116, 3, 2, 2, 2, 466, 467, 5, 177, 89, 2, 467, 468, 5, 181, 91, 2, 468, 469, 5, 175, 88, 2, 469, 470, 5, 177, 89, 2, 470, 471, 5, 155, 78, 2, 471, 472, 5, 181, 91, 2, 472, 473, 5, 185, 93, 2, 473, 474, 5, 163, 82, 2, 474, 475, 5, 155, 78, 2, 475, 476, 5, 183, 92, 2, 476, 118, 3, 2, 2, 2, 477, 478, 5, 181, 91, 2, 478, 479, 5, 187, 94, 2, 479, 480, 5, 169, 85, 2, 480, 481, 5, 155, 78, 2, 481, 482, 5, 183, 92, 2, 482, 120, 3, 2, 2, 2, 483, 484, 5, 181, 91, 2, 484, 485, 5, 155, 78, 2, 485, 486, 5, 183, 92, 2, 486, 487, 5, 175, 88, 2, 487, 488, 5, 187, 94, 2, 488, 489, 5, 181, 91, 2, 489, 490, 5, 151, 76, 2, 490, 491, 5, 155, 78, 2, 491, 492, 5, 183, 92, 2, 492, 122, 3, 2, 2, 2, 493, 494, 5, 183, 92, 2, 494, 495, 5, 185, 93, 2, 495, 496, 5, 147, 74, 2, 496, 497, 5, 185, 93, 2, 497, 498, 5, 187, 94, 2, 498, 499, 5, 183, 92, 2, 499, 124, 3, 2, 2, 2, 500, 501, 5, 155, 78, 2, 501, 502, 5, 173, 87, 2, 502, 503, 5, 147, 74, 2, 503, 504, 5, 149, 75, 2, 504, 505, 5, 169, 85, 2, 505, 506, 5, 155, 78, 2, 506, 126, 3, 2, 2, 2, 507, 508, 5, 153, 77, 2, 508, 509, 5, 163, 82, 2, 509, 510, 5, 183, 92, 2, 510, 511, 5, 147, 74, 2, 511, 512, 5, 149, 75, 2, 512, 513, 5, 169, 85, 2, 513, 514, 5, 155, 78, 2, 514, 128, 3, 2, 2, 2, 515, 516, 5, 181, 91, 2, 516, 517, 5, 155, 78, 2, 517, 518, 5, 147, 74, 2, 518, 519, 5, 153, 77, 2, 519, 130, 3, 2, 2, 2, 520, 521, 5, 163, 82, 2, 521, 522, 5, 157, 79, 2, 522, 132, 3, 2, 2, 2, 523, 524, 5, 155, 78, 2, 524, 525, 5, 193, 97, 2, 525, 526, 5, 163, 82, 2, 526, 527, 5, 183, 92, 2, 527, 528, 5, 185, 93, 2, 528, 529, 5, 183, 92, 2, 529, 134, 3, 2, 2, 2, 530, 531, 5, 151, 76, 2, 531, 532, 5, 175, 88, 2, 532, 533, 5, 187, 94, 2, 533, 534, 5, 173, 87, 2, 534, 535, 5, 185, 93, 2, 535, 136, 3, 2, 2, 2, 536, 537, 5, 181, 91, 2, 537, 538, 5, 175, 88, 2, 538, 539, 5, 187, 94, 2, 539, 540, 5, 173, 87, 2, 540, 541, 5, 153, 77, 2, 541, 542, 5, 85, 43, 2, 542, 543, 5, 181, 91, 2, 543, 544, 5, 175, 88, 2, 544, 545, 5, 149, 75, 2, 545, 546, 5, 163, 82, 2, 546, 547, 5, 173, 87, 2, 547, 138, 3, 2, 2, 2, 548, 549, 5, 181, 91, 2, 549, 550, 5, 147, 74, 2, 550, 551, 5, 173, 87, 2, 551, 552, 5, 153, 77, 2, 552, 553, 5, 175, 88, 2, 553, 554, 5, 171, 86, 2, 554, 140, 3, 2, 2, 2, 555, 556, 5, 191, 96, 2, 556, 557, 5, 155, 78, 2, 557, 558, 5, 163, 82, 2, 558, 559, 5, 159, 80, 2, 559, 560, 5, 161, 81, 2, 560, 561, 5, 185, 93, 2, 561, 142, 3, 2, 2, 2, 562, 563, 5, 173, 87, 2, 563, 564, 5, 175, 88, 2, 564, 565, 5, 185, 93, 2, 565, 144, 3, 2, 2, 2, 566, 567, 7, 70, 2, 2, 567, 568, 7, 81, 2, 2, 568, 569, 7, 34, 2, 2, 569, 570, 7, 80, 2, 2, 570, 571, 7, 81, 2, 2, 571, 572, 7, 86, 2, 2, 572, 573, 7, 34, 2, 2, 573, 574, 7, 79, 2, 2, 574, 575, 7, 67, 2, 2, 575, 576, 7, 86, 2, 2, 576, 577, 7, 69, 2, 2, 577, 578, 7, 74, 2, 2, 578, 579, 7, 34, 2, 2, 579, 580, 7, 67, 2, 2, 580, 581, 7, 80, 2, 2, 581, 582, 7, 91, 2, 2, 582, 583, 7, 34, 2, 2, 583, 584, 7, 86, 2, 2, 584, 585, 7, 74, 2, 2, 585, 586, 7, 75, 2, 2, 586, 587, 7, 80, 2, 2, 587, 588, 7, 73, 2, 2, 588, 589, 7, 46, 2, 2, 589, 590, 7, 34, 2, 2, 590, 591, 7, 76, 2, 2, 591, 592, 7, 87, 2, 2, 592, 593, 7, 85, 2, 2, 593, 594, 7, 86, 2, 2, 594, 595, 7, 34, 2, 2, 595, 596, 7, 72, 2, 2, 596, 597, 7, 81, 2, 2, 597, 598, 7, 84, 2, 2, 598, 599, 7, 34, 2, 2, 599, 600, 7, 73, 2, 2, 600, 601, 7, 71, 2, 2, 601, 602, 7, 80, 2, 2, 602, 603, 7, 71, 2, 2, 603, 604, 7, 84, 2, 2, 604, 605, 7, 67, 2, 2, 605, 606, 7, 86, 2, 2, 606, 607, 7, 81, 2, 2, 607, 608, 7, 84, 2, 2, 608, 146, 3, 2, 2, 2, 609, 610, 9, 3, 2, 2, 610, 148, 3, 2, 2, 2, 611, 612, 9, 4, 2, 2, 612, 150, 3, 2, 2, 2, 613, 614, 9, 5, 2, 2, 614, 152, 3, 2, 2, 2, 615, 616, 9, 6, 2, 2, 616, 154, 3, 2, 2, 2, 617, 618, 9, 7, 2, 2, 618, 156, 3, 2, 2, 2, 619, 620, 9, 8, 2, 2, 620, 158, 3, 2, 2, 2, 621, 622, 9, 9, 2, 2, 622, 160, 3, 2, 2, 2, 623, 624, 9, 10, 2, 2, 624, 162, 3, 2, 2, 2, 625, 626, 9, 11, 2, 2, 626, 164, 3, 2, 2, 2, 627, 628, 9, 12, 2, 2, 628, 166, 3, 2, 2, 2, 629, 630, 9, 13, 2, 2, 630, 168, 3, 2, 2, 2, 631, 632, 9, 14, 2, 2, 632, 170, 3, 2, 2, 2, 633, 634, 9, 15, 2, 2, 634, 172, 3, 2, 2, 2, 635, 636, 9, 16, 2, 2, 636, 174, 3, 2, 2, 2, 637, 638, 9, 17, 2, 2, 638, 176, 3, 2, 2, 2, 639, 640, 9, 18, 2, 2, 640, 178, 3, 2, 2, 2, 641, 642, 9, 19, 2, 2, 642, 180, 3, 2, 2, 2, 643, 644, 9, 20, 2, 2, 644, 182, 3, 2, 2, 2, 645, 646, 9, 21, 2, 2, 646, 184, 3, 2, 2, 2, 647, 648, 9, 22, 2, 2, 648, 186, 3, 2, 2, 2, 649, 650, 9, 23, 2, 2, 650, 188, 3, 2, 2, 2, 651, 652, 9, 24, 2, 2, 652, 190, 3, 2, 2, 2, 653, 654, 9, 25, 2, 2, 654, 192, 3, 2, 2, 2, 655, 656, 9, 26, 2, 2, 656, 194, 3, 2, 2, 2, 657, 658, 9, 27, 2, 2, 658, 196, 3, 2, 2, 2, 659, 660, 9, 28, 2, 2, 660, 198, 3, 2, 2, 2, 661, 663, 9, 29, 2, 2, 662, 661, 3, 2, 2, 2, 663, 666, 3, 2, 2, 2, 664, 665, 3, 2, 2, 2, 664, 662, 3, 2, 2, 2, 665, 668, 3, 2, 2, 2, 666, 664, 3, 2, 2, 2, 667, 669, 9, 30, 2, 2, 668, 667, 3, 2, 2, 2, 669, 670, 3, 2, 2, 2, 670, 671, 3, 2, 2, 2, 670, 668, 3, 2, 2, 2, 671, 675, 3, 2, 2, 2, 672, 674, 9, 29, 2, 2, 673, 672, 3, 2, 2, 2, 674, 677, 3, 2, 2, 2, 675, 673, 3, 2, 2, 2, 675, 676, 3, 2, 2, 2, 676, 687, 3, 2, 2, 2, 677, 675, 3, 2, 2, 2, 678, 680, 5, 75, 38, 2, 679, 681, 10, 31, 2, 2, 680, 679, 3, 2, 2, 2, 681, 682, 3, 2, 2, 2, 682, 680, 3, 2, 2, 2, 682, 683, 3, 2, 2, 2, 683, 684, 3, 2, 2, 2, 684, 685, 5, 75, 38, 2, 685, 687, 3, 2, 2, 2, 686, 664, 3, 2, 2, 2, 686, 678, 3, 2, 2, 2, 687, 200, 3, 2, 2, 2, 688, 696, 5, 71, 36, 2, 689, 690, 7, 94, 2, 2, 690, 695, 11, 2, 2, 2, 691, 692, 7, 36, 2, 2, 692, 695, 7, 36, 2, 2, 693, 695, 10, 32, 2, 2, 694, 689, 3, 2, 2, 2, 694, 691, 3, 2, 2, 2, 694, 693, 3, 2, 2, 2, 695, 698, 3, 2, 2, 2, 696, 694, 3, 2, 2, 2, 696, 697, 3, 2, 2, 2, 697, 699, 3, 2, 2, 2, 698, 696, 3, 2, 2, 2, 699, 700, 5, 71, 36, 2, 700, 715, 3, 2, 2, 2, 701, 709, 5, 73, 37, 2, 702, 703, 7, 94, 2, 2, 703, 708, 11, 2, 2, 2, 704, 705, 7, 41, 2, 2, 705, 708, 7, 41, 2, 2, 706, 708, 10, 33, 2, 2, 707, 702, 3, 2, 2, 2, 707, 704, 3, 2, 2, 2, 707, 706, 3, 2, 2, 2, 708, 711, 3, 2, 2, 2, 709, 707, 3, 2, 2, 2, 709, 710, 3, 2, 2, 2, 710, 712, 3, 2, 2, 2, 711, 709, 3, 2, 2, 2, 712, 713, 5, 73, 37, 2, 713, 715, 3, 2, 2, 2, 714, 688, 3, 2, 2, 2, 714, 701, 3, 2, 2, 2, 715, 202, 3, 2, 2, 2, 716, 718, 9, 34, 2, 2, 717, 716, 3, 2, 2, 2, 718, 719, 3, 2, 2, 2, 719, 717, 3, 2, 2, 2, 719, 720, 3, 2, 2, 2, 720, 204, 3, 2, 2, 2, 721, 722, 9, 35, 2, 2, 722, 206, 3, 2, 2, 2, 723, 725, 5, 203, 102, 2, 724, 723, 3, 2, 2, 2, 724, 725, 3, 2, 2, 2, 725, 727, 3, 2, 2, 2, 726, 728, 5, 35, 18, 2, 727, 726, 3, 2, 2, 2, 727, 728, 3, 2, 2, 2, 728, 729, 3, 2, 2, 2, 729, 737, 5, 203, 102, 2, 730, 733, 5, 155, 78, 2, 731, 734, 5, 25, 13, 2, 732, 734, 5, 27, 14, 2, 733, 731, 3, 2, 2, 2, 733, 732, 3, 2, 2, 2, 733, 734, 3, 2, 2, 2, 734, 735, 3, 2, 2, 2, 735, 736, 5, 203, 102, 2, 736, 738, 3, 2, 2, 2, 737, 730, 3, 2, 2, 2, 737, 738, 3, 2, 2, 2, 738, 208, 3, 2, 2, 2, 739, 740, 7, 50, 2, 2, 740, 741, 7, 122, 2, 2, 741, 743, 3, 2, 2, 2, 742, 744, 5, 205, 103, 2, 743, 742, 3, 2, 2, 2, 744, 745, 3, 2, 2, 2, 745, 743, 3, 2, 2, 2, 745, 746, 3, 2, 2, 2, 746, 757, 3, 2, 2, 2, 747, 748, 7, 90, 2, 2, 748, 750, 5, 73, 37, 2, 749, 751, 5, 205, 103, 2, 750, 749, 3, 2, 2, 2, 751, 752, 3, 2, 2, 2, 752, 750, 3, 2, 2, 2, 752, 753, 3, 2, 2, 2, 753, 754, 3, 2, 2, 2, 754, 755, 5, 73, 37, 2, 755, 757, 3, 2, 2, 2, 756, 739, 3, 2, 2, 2, 756, 747, 3, 2, 2, 2, 757, 210, 3, 2, 2, 2, 758, 759, 7, 50, 2, 2, 759, 760, 7, 100, 2, 2, 760, 762, 3, 2, 2, 2, 761, 763, 4, 50, 51, 2, 762, 761, 3, 2, 2, 2, 763, 764, 3, 2, 2, 2, 764, 762, 3, 2, 2, 2, 764, 765, 3, 2, 2, 2, 765, 776, 3, 2, 2, 2, 766, 767, 5, 149, 75, 2, 767, 769, 5, 73, 37, 2, 768, 770, 4, 50, 51, 2, 769, 768, 3, 2, 2, 2, 770, 771, 3, 2, 2, 2, 771, 769, 3, 2, 2, 2, 771, 772, 3, 2, 2, 2, 772, 773, 3, 2, 2, 2, 773, 774, 5, 73, 37, 2, 774, 776, 3, 2, 2, 2, 775, 758, 3, 2, 2, 2, 775, 766, 3, 2, 2, 2, 776, 212, 3, 2, 2, 2, 26, 2, 267, 316, 664, 670, 675, 682, 686, 694, 696, 707, 709, 714, 719, 724, 727, 733, 737, 745, 752, 756, 764, 771, 775, 3, 8, 2, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleLexer.java b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleLexer.java new file mode 100644 index 00000000..53165dcc --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleLexer.java @@ -0,0 +1,424 @@ +// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/BaseRule.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.misc.*; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class BaseRuleLexer extends Lexer { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, + SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, + ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, + DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, + LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, + SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, + WS=43, TRUE=44, FALSE=45, CREATE=46, ALTER=47, DROP=48, SHOW=49, RULE=50, + FROM=51, READWRITE_SPLITTING=52, WRITE_STORAGE_UNIT=53, READ_STORAGE_UNITS=54, + TRANSACTIONAL_READ_QUERY_STRATEGY=55, TYPE=56, NAME=57, PROPERTIES=58, + RULES=59, RESOURCES=60, STATUS=61, ENABLE=62, DISABLE=63, READ=64, IF=65, + EXISTS=66, COUNT=67, ROUND_ROBIN=68, RANDOM=69, WEIGHT=70, NOT=71, FOR_GENERATOR=72, + IDENTIFIER_=73, STRING_=74, INT_=75, HEX_=76, NUMBER_=77, HEXDIGIT_=78, + BITNUM_=79; + public static String[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + + public static String[] modeNames = { + "DEFAULT_MODE" + }; + + private static String[] makeRuleNames() { + return new String[] { + "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", + "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", + "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", + "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", + "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", + "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", "FALSE", "CREATE", "ALTER", + "DROP", "SHOW", "RULE", "FROM", "READWRITE_SPLITTING", "WRITE_STORAGE_UNIT", + "READ_STORAGE_UNITS", "TRANSACTIONAL_READ_QUERY_STRATEGY", "TYPE", "NAME", + "PROPERTIES", "RULES", "RESOURCES", "STATUS", "ENABLE", "DISABLE", "READ", + "IF", "EXISTS", "COUNT", "ROUND_ROBIN", "RANDOM", "WEIGHT", "NOT", "FOR_GENERATOR", + "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", + "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "IDENTIFIER_", + "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", + "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", + "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", + "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", + "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", + "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", + "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", + "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", + "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", + "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", + "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", "FROM", "READWRITE_SPLITTING", + "WRITE_STORAGE_UNIT", "READ_STORAGE_UNITS", "TRANSACTIONAL_READ_QUERY_STRATEGY", + "TYPE", "NAME", "PROPERTIES", "RULES", "RESOURCES", "STATUS", "ENABLE", + "DISABLE", "READ", "IF", "EXISTS", "COUNT", "ROUND_ROBIN", "RANDOM", + "WEIGHT", "NOT", "FOR_GENERATOR", "IDENTIFIER_", "STRING_", "INT_", "HEX_", + "NUMBER_", "HEXDIGIT_", "BITNUM_" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + + public BaseRuleLexer(CharStream input) { + super(input); + _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + @Override + public String getGrammarFileName() { return "BaseRule.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public String[] getChannelNames() { return channelNames; } + + @Override + public String[] getModeNames() { return modeNames; } + + @Override + public ATN getATN() { return _ATN; } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2Q\u0309\b\1\4\2\t"+ + "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ + "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ + "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ + "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ + "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ + ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ + "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ + "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+ + "\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+ + "\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+ + "`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\3\2\3"+ + "\2\3\2\3\3\3\3\3\3\3\4\3\4\3\5\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\t\3\t"+ + "\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3\17\3\17\3\20\3\20\3"+ + "\21\3\21\3\22\3\22\3\23\3\23\3\23\3\24\3\24\3\24\3\24\3\25\3\25\3\25\3"+ + "\26\3\26\3\27\3\27\3\27\3\27\5\27\u010c\n\27\3\30\3\30\3\31\3\31\3\31"+ + "\3\32\3\32\3\33\3\33\3\33\3\34\3\34\3\35\3\35\3\36\3\36\3\37\3\37\3 \3"+ + " \3!\3!\3\"\3\"\3#\3#\3$\3$\3%\3%\3&\3&\3\'\3\'\3(\3(\3)\3)\3*\3*\3*\3"+ + "*\3+\3+\3,\6,\u013b\n,\r,\16,\u013c\3,\3,\3-\3-\3-\3-\3-\3.\3.\3.\3.\3"+ + ".\3.\3/\3/\3/\3/\3/\3/\3/\3\60\3\60\3\60\3\60\3\60\3\60\3\61\3\61\3\61"+ + "\3\61\3\61\3\62\3\62\3\62\3\62\3\62\3\63\3\63\3\63\3\63\3\63\3\64\3\64"+ + "\3\64\3\64\3\64\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65"+ + "\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\66\3\66\3\66\3\66\3\66"+ + "\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66"+ + "\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67"+ + "\3\67\3\67\3\67\3\67\3\67\38\38\38\38\38\38\38\38\38\38\38\38\38\38\3"+ + "8\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\39\39\39\3"+ + "9\39\3:\3:\3:\3:\3:\3;\3;\3;\3;\3;\3;\3;\3;\3;\3;\3;\3<\3<\3<\3<\3<\3"+ + "<\3=\3=\3=\3=\3=\3=\3=\3=\3=\3=\3>\3>\3>\3>\3>\3>\3>\3?\3?\3?\3?\3?\3"+ + "?\3?\3@\3@\3@\3@\3@\3@\3@\3@\3A\3A\3A\3A\3A\3B\3B\3B\3C\3C\3C\3C\3C\3"+ + "C\3C\3D\3D\3D\3D\3D\3D\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3F\3F\3F\3"+ + "F\3F\3F\3F\3G\3G\3G\3G\3G\3G\3G\3H\3H\3H\3H\3I\3I\3I\3I\3I\3I\3I\3I\3"+ + "I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3"+ + "I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3J\3J\3K\3K\3L\3L\3M\3M\3N\3N\3O\3"+ + "O\3P\3P\3Q\3Q\3R\3R\3S\3S\3T\3T\3U\3U\3V\3V\3W\3W\3X\3X\3Y\3Y\3Z\3Z\3"+ + "[\3[\3\\\3\\\3]\3]\3^\3^\3_\3_\3`\3`\3a\3a\3b\3b\3c\3c\3d\7d\u0297\nd"+ + "\fd\16d\u029a\13d\3d\6d\u029d\nd\rd\16d\u029e\3d\7d\u02a2\nd\fd\16d\u02a5"+ + "\13d\3d\3d\6d\u02a9\nd\rd\16d\u02aa\3d\3d\5d\u02af\nd\3e\3e\3e\3e\3e\3"+ + "e\7e\u02b7\ne\fe\16e\u02ba\13e\3e\3e\3e\3e\3e\3e\3e\3e\7e\u02c4\ne\fe"+ + "\16e\u02c7\13e\3e\3e\5e\u02cb\ne\3f\6f\u02ce\nf\rf\16f\u02cf\3g\3g\3h"+ + "\5h\u02d5\nh\3h\5h\u02d8\nh\3h\3h\3h\3h\5h\u02de\nh\3h\3h\5h\u02e2\nh"+ + "\3i\3i\3i\3i\6i\u02e8\ni\ri\16i\u02e9\3i\3i\3i\6i\u02ef\ni\ri\16i\u02f0"+ + "\3i\3i\5i\u02f5\ni\3j\3j\3j\3j\6j\u02fb\nj\rj\16j\u02fc\3j\3j\3j\6j\u0302"+ + "\nj\rj\16j\u0303\3j\3j\5j\u0308\nj\4\u0298\u029e\2k\3\3\5\4\7\5\t\6\13"+ + "\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\35\20\37\21!\22#\23%\24\'"+ + "\25)\26+\27-\30/\31\61\32\63\33\65\34\67\359\36;\37= ?!A\"C#E$G%I&K\'"+ + "M(O)Q*S+U,W-Y.[/]\60_\61a\62c\63e\64g\65i\66k\67m8o9q:s;u{?}@\177"+ + "A\u0081B\u0083C\u0085D\u0087E\u0089F\u008bG\u008dH\u008fI\u0091J\u0093"+ + "\2\u0095\2\u0097\2\u0099\2\u009b\2\u009d\2\u009f\2\u00a1\2\u00a3\2\u00a5"+ + "\2\u00a7\2\u00a9\2\u00ab\2\u00ad\2\u00af\2\u00b1\2\u00b3\2\u00b5\2\u00b7"+ + "\2\u00b9\2\u00bb\2\u00bd\2\u00bf\2\u00c1\2\u00c3\2\u00c5\2\u00c7K\u00c9"+ + "L\u00cbM\u00cdN\u00cfO\u00d1P\u00d3Q\3\2$\5\2\13\f\17\17\"\"\4\2CCcc\4"+ + "\2DDdd\4\2EEee\4\2FFff\4\2GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4\2LLl"+ + "l\4\2MMmm\4\2NNnn\4\2OOoo\4\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4\2TTtt\4\2"+ + "UUuu\4\2VVvv\4\2WWww\4\2XXxx\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\||\7\2&&\62"+ + ";C\\aac|\6\2&&C\\aac|\3\2bb\4\2$$^^\4\2))^^\3\2\62;\5\2\62;CHch\2\u0308"+ + "\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2"+ + "\2\2\2\17\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\31\3\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2"+ + "\2\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\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\29\3\2\2\2\2;\3"+ + "\2\2\2\2=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2"+ + "\2\2I\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2"+ + "U\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3\2\2\2\2a\3"+ + "\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3\2\2\2\2i\3\2\2\2\2k\3\2\2\2\2m\3\2\2"+ + "\2\2o\3\2\2\2\2q\3\2\2\2\2s\3\2\2\2\2u\3\2\2\2\2w\3\2\2\2\2y\3\2\2\2\2"+ + "{\3\2\2\2\2}\3\2\2\2\2\177\3\2\2\2\2\u0081\3\2\2\2\2\u0083\3\2\2\2\2\u0085"+ + "\3\2\2\2\2\u0087\3\2\2\2\2\u0089\3\2\2\2\2\u008b\3\2\2\2\2\u008d\3\2\2"+ + "\2\2\u008f\3\2\2\2\2\u0091\3\2\2\2\2\u00c7\3\2\2\2\2\u00c9\3\2\2\2\2\u00cb"+ + "\3\2\2\2\2\u00cd\3\2\2\2\2\u00cf\3\2\2\2\2\u00d1\3\2\2\2\2\u00d3\3\2\2"+ + "\2\3\u00d5\3\2\2\2\5\u00d8\3\2\2\2\7\u00db\3\2\2\2\t\u00dd\3\2\2\2\13"+ + "\u00df\3\2\2\2\r\u00e1\3\2\2\2\17\u00e3\3\2\2\2\21\u00e6\3\2\2\2\23\u00e9"+ + "\3\2\2\2\25\u00eb\3\2\2\2\27\u00ed\3\2\2\2\31\u00ef\3\2\2\2\33\u00f1\3"+ + "\2\2\2\35\u00f3\3\2\2\2\37\u00f5\3\2\2\2!\u00f7\3\2\2\2#\u00f9\3\2\2\2"+ + "%\u00fb\3\2\2\2\'\u00fe\3\2\2\2)\u0102\3\2\2\2+\u0105\3\2\2\2-\u010b\3"+ + "\2\2\2/\u010d\3\2\2\2\61\u010f\3\2\2\2\63\u0112\3\2\2\2\65\u0114\3\2\2"+ + "\2\67\u0117\3\2\2\29\u0119\3\2\2\2;\u011b\3\2\2\2=\u011d\3\2\2\2?\u011f"+ + "\3\2\2\2A\u0121\3\2\2\2C\u0123\3\2\2\2E\u0125\3\2\2\2G\u0127\3\2\2\2I"+ + "\u0129\3\2\2\2K\u012b\3\2\2\2M\u012d\3\2\2\2O\u012f\3\2\2\2Q\u0131\3\2"+ + "\2\2S\u0133\3\2\2\2U\u0137\3\2\2\2W\u013a\3\2\2\2Y\u0140\3\2\2\2[\u0145"+ + "\3\2\2\2]\u014b\3\2\2\2_\u0152\3\2\2\2a\u0158\3\2\2\2c\u015d\3\2\2\2e"+ + "\u0162\3\2\2\2g\u0167\3\2\2\2i\u016c\3\2\2\2k\u0180\3\2\2\2m\u0193\3\2"+ + "\2\2o\u01a6\3\2\2\2q\u01c8\3\2\2\2s\u01cd\3\2\2\2u\u01d2\3\2\2\2w\u01dd"+ + "\3\2\2\2y\u01e3\3\2\2\2{\u01ed\3\2\2\2}\u01f4\3\2\2\2\177\u01fb\3\2\2"+ + "\2\u0081\u0203\3\2\2\2\u0083\u0208\3\2\2\2\u0085\u020b\3\2\2\2\u0087\u0212"+ + "\3\2\2\2\u0089\u0218\3\2\2\2\u008b\u0224\3\2\2\2\u008d\u022b\3\2\2\2\u008f"+ + "\u0232\3\2\2\2\u0091\u0236\3\2\2\2\u0093\u0261\3\2\2\2\u0095\u0263\3\2"+ + "\2\2\u0097\u0265\3\2\2\2\u0099\u0267\3\2\2\2\u009b\u0269\3\2\2\2\u009d"+ + "\u026b\3\2\2\2\u009f\u026d\3\2\2\2\u00a1\u026f\3\2\2\2\u00a3\u0271\3\2"+ + "\2\2\u00a5\u0273\3\2\2\2\u00a7\u0275\3\2\2\2\u00a9\u0277\3\2\2\2\u00ab"+ + "\u0279\3\2\2\2\u00ad\u027b\3\2\2\2\u00af\u027d\3\2\2\2\u00b1\u027f\3\2"+ + "\2\2\u00b3\u0281\3\2\2\2\u00b5\u0283\3\2\2\2\u00b7\u0285\3\2\2\2\u00b9"+ + "\u0287\3\2\2\2\u00bb\u0289\3\2\2\2\u00bd\u028b\3\2\2\2\u00bf\u028d\3\2"+ + "\2\2\u00c1\u028f\3\2\2\2\u00c3\u0291\3\2\2\2\u00c5\u0293\3\2\2\2\u00c7"+ + "\u02ae\3\2\2\2\u00c9\u02ca\3\2\2\2\u00cb\u02cd\3\2\2\2\u00cd\u02d1\3\2"+ + "\2\2\u00cf\u02d4\3\2\2\2\u00d1\u02f4\3\2\2\2\u00d3\u0307\3\2\2\2\u00d5"+ + "\u00d6\7(\2\2\u00d6\u00d7\7(\2\2\u00d7\4\3\2\2\2\u00d8\u00d9\7~\2\2\u00d9"+ + "\u00da\7~\2\2\u00da\6\3\2\2\2\u00db\u00dc\7#\2\2\u00dc\b\3\2\2\2\u00dd"+ + "\u00de\7\u0080\2\2\u00de\n\3\2\2\2\u00df\u00e0\7~\2\2\u00e0\f\3\2\2\2"+ + "\u00e1\u00e2\7(\2\2\u00e2\16\3\2\2\2\u00e3\u00e4\7>\2\2\u00e4\u00e5\7"+ + ">\2\2\u00e5\20\3\2\2\2\u00e6\u00e7\7@\2\2\u00e7\u00e8\7@\2\2\u00e8\22"+ + "\3\2\2\2\u00e9\u00ea\7`\2\2\u00ea\24\3\2\2\2\u00eb\u00ec\7\'\2\2\u00ec"+ + "\26\3\2\2\2\u00ed\u00ee\7<\2\2\u00ee\30\3\2\2\2\u00ef\u00f0\7-\2\2\u00f0"+ + "\32\3\2\2\2\u00f1\u00f2\7/\2\2\u00f2\34\3\2\2\2\u00f3\u00f4\7,\2\2\u00f4"+ + "\36\3\2\2\2\u00f5\u00f6\7\61\2\2\u00f6 \3\2\2\2\u00f7\u00f8\7^\2\2\u00f8"+ + "\"\3\2\2\2\u00f9\u00fa\7\60\2\2\u00fa$\3\2\2\2\u00fb\u00fc\7\60\2\2\u00fc"+ + "\u00fd\7,\2\2\u00fd&\3\2\2\2\u00fe\u00ff\7>\2\2\u00ff\u0100\7?\2\2\u0100"+ + "\u0101\7@\2\2\u0101(\3\2\2\2\u0102\u0103\7?\2\2\u0103\u0104\7?\2\2\u0104"+ + "*\3\2\2\2\u0105\u0106\7?\2\2\u0106,\3\2\2\2\u0107\u0108\7>\2\2\u0108\u010c"+ + "\7@\2\2\u0109\u010a\7#\2\2\u010a\u010c\7?\2\2\u010b\u0107\3\2\2\2\u010b"+ + "\u0109\3\2\2\2\u010c.\3\2\2\2\u010d\u010e\7@\2\2\u010e\60\3\2\2\2\u010f"+ + "\u0110\7@\2\2\u0110\u0111\7?\2\2\u0111\62\3\2\2\2\u0112\u0113\7>\2\2\u0113"+ + "\64\3\2\2\2\u0114\u0115\7>\2\2\u0115\u0116\7?\2\2\u0116\66\3\2\2\2\u0117"+ + "\u0118\7%\2\2\u01188\3\2\2\2\u0119\u011a\7*\2\2\u011a:\3\2\2\2\u011b\u011c"+ + "\7+\2\2\u011c<\3\2\2\2\u011d\u011e\7}\2\2\u011e>\3\2\2\2\u011f\u0120\7"+ + "\177\2\2\u0120@\3\2\2\2\u0121\u0122\7]\2\2\u0122B\3\2\2\2\u0123\u0124"+ + "\7_\2\2\u0124D\3\2\2\2\u0125\u0126\7.\2\2\u0126F\3\2\2\2\u0127\u0128\7"+ + "$\2\2\u0128H\3\2\2\2\u0129\u012a\7)\2\2\u012aJ\3\2\2\2\u012b\u012c\7b"+ + "\2\2\u012cL\3\2\2\2\u012d\u012e\7A\2\2\u012eN\3\2\2\2\u012f\u0130\7B\2"+ + "\2\u0130P\3\2\2\2\u0131\u0132\7=\2\2\u0132R\3\2\2\2\u0133\u0134\7/\2\2"+ + "\u0134\u0135\7@\2\2\u0135\u0136\7@\2\2\u0136T\3\2\2\2\u0137\u0138\7a\2"+ + "\2\u0138V\3\2\2\2\u0139\u013b\t\2\2\2\u013a\u0139\3\2\2\2\u013b\u013c"+ + "\3\2\2\2\u013c\u013a\3\2\2\2\u013c\u013d\3\2\2\2\u013d\u013e\3\2\2\2\u013e"+ + "\u013f\b,\2\2\u013fX\3\2\2\2\u0140\u0141\5\u00b9]\2\u0141\u0142\5\u00b5"+ + "[\2\u0142\u0143\5\u00bb^\2\u0143\u0144\5\u009bN\2\u0144Z\3\2\2\2\u0145"+ + "\u0146\5\u009dO\2\u0146\u0147\5\u0093J\2\u0147\u0148\5\u00a9U\2\u0148"+ + "\u0149\5\u00b7\\\2\u0149\u014a\5\u009bN\2\u014a\\\3\2\2\2\u014b\u014c"+ + "\5\u0097L\2\u014c\u014d\5\u00b5[\2\u014d\u014e\5\u009bN\2\u014e\u014f"+ + "\5\u0093J\2\u014f\u0150\5\u00b9]\2\u0150\u0151\5\u009bN\2\u0151^\3\2\2"+ + "\2\u0152\u0153\5\u0093J\2\u0153\u0154\5\u00a9U\2\u0154\u0155\5\u00b9]"+ + "\2\u0155\u0156\5\u009bN\2\u0156\u0157\5\u00b5[\2\u0157`\3\2\2\2\u0158"+ + "\u0159\5\u0099M\2\u0159\u015a\5\u00b5[\2\u015a\u015b\5\u00afX\2\u015b"+ + "\u015c\5\u00b1Y\2\u015cb\3\2\2\2\u015d\u015e\5\u00b7\\\2\u015e\u015f\5"+ + "\u00a1Q\2\u015f\u0160\5\u00afX\2\u0160\u0161\5\u00bf`\2\u0161d\3\2\2\2"+ + "\u0162\u0163\5\u00b5[\2\u0163\u0164\5\u00bb^\2\u0164\u0165\5\u00a9U\2"+ + "\u0165\u0166\5\u009bN\2\u0166f\3\2\2\2\u0167\u0168\5\u009dO\2\u0168\u0169"+ + "\5\u00b5[\2\u0169\u016a\5\u00afX\2\u016a\u016b\5\u00abV\2\u016bh\3\2\2"+ + "\2\u016c\u016d\5\u00b5[\2\u016d\u016e\5\u009bN\2\u016e\u016f\5\u0093J"+ + "\2\u016f\u0170\5\u0099M\2\u0170\u0171\5\u00bf`\2\u0171\u0172\5\u00b5["+ + "\2\u0172\u0173\5\u00a3R\2\u0173\u0174\5\u00b9]\2\u0174\u0175\5\u009bN"+ + "\2\u0175\u0176\5U+\2\u0176\u0177\5\u00b7\\\2\u0177\u0178\5\u00b1Y\2\u0178"+ + "\u0179\5\u00a9U\2\u0179\u017a\5\u00a3R\2\u017a\u017b\5\u00b9]\2\u017b"+ + "\u017c\5\u00b9]\2\u017c\u017d\5\u00a3R\2\u017d\u017e\5\u00adW\2\u017e"+ + "\u017f\5\u009fP\2\u017fj\3\2\2\2\u0180\u0181\5\u00bf`\2\u0181\u0182\5"+ + "\u00b5[\2\u0182\u0183\5\u00a3R\2\u0183\u0184\5\u00b9]\2\u0184\u0185\5"+ + "\u009bN\2\u0185\u0186\5U+\2\u0186\u0187\5\u00b7\\\2\u0187\u0188\5\u00b9"+ + "]\2\u0188\u0189\5\u00afX\2\u0189\u018a\5\u00b5[\2\u018a\u018b\5\u0093"+ + "J\2\u018b\u018c\5\u009fP\2\u018c\u018d\5\u009bN\2\u018d\u018e\5U+\2\u018e"+ + "\u018f\5\u00bb^\2\u018f\u0190\5\u00adW\2\u0190\u0191\5\u00a3R\2\u0191"+ + "\u0192\5\u00b9]\2\u0192l\3\2\2\2\u0193\u0194\5\u00b5[\2\u0194\u0195\5"+ + "\u009bN\2\u0195\u0196\5\u0093J\2\u0196\u0197\5\u0099M\2\u0197\u0198\5"+ + "U+\2\u0198\u0199\5\u00b7\\\2\u0199\u019a\5\u00b9]\2\u019a\u019b\5\u00af"+ + "X\2\u019b\u019c\5\u00b5[\2\u019c\u019d\5\u0093J\2\u019d\u019e\5\u009f"+ + "P\2\u019e\u019f\5\u009bN\2\u019f\u01a0\5U+\2\u01a0\u01a1\5\u00bb^\2\u01a1"+ + "\u01a2\5\u00adW\2\u01a2\u01a3\5\u00a3R\2\u01a3\u01a4\5\u00b9]\2\u01a4"+ + "\u01a5\5\u00b7\\\2\u01a5n\3\2\2\2\u01a6\u01a7\5\u00b9]\2\u01a7\u01a8\5"+ + "\u00b5[\2\u01a8\u01a9\5\u0093J\2\u01a9\u01aa\5\u00adW\2\u01aa\u01ab\5"+ + "\u00b7\\\2\u01ab\u01ac\5\u0093J\2\u01ac\u01ad\5\u0097L\2\u01ad\u01ae\5"+ + "\u00b9]\2\u01ae\u01af\5\u00a3R\2\u01af\u01b0\5\u00afX\2\u01b0\u01b1\5"+ + "\u00adW\2\u01b1\u01b2\5\u0093J\2\u01b2\u01b3\5\u00a9U\2\u01b3\u01b4\5"+ + "U+\2\u01b4\u01b5\5\u00b5[\2\u01b5\u01b6\5\u009bN\2\u01b6\u01b7\5\u0093"+ + "J\2\u01b7\u01b8\5\u0099M\2\u01b8\u01b9\5U+\2\u01b9\u01ba\5\u00b3Z\2\u01ba"+ + "\u01bb\5\u00bb^\2\u01bb\u01bc\5\u009bN\2\u01bc\u01bd\5\u00b5[\2\u01bd"+ + "\u01be\5\u00c3b\2\u01be\u01bf\5U+\2\u01bf\u01c0\5\u00b7\\\2\u01c0\u01c1"+ + "\5\u00b9]\2\u01c1\u01c2\5\u00b5[\2\u01c2\u01c3\5\u0093J\2\u01c3\u01c4"+ + "\5\u00b9]\2\u01c4\u01c5\5\u009bN\2\u01c5\u01c6\5\u009fP\2\u01c6\u01c7"+ + "\5\u00c3b\2\u01c7p\3\2\2\2\u01c8\u01c9\5\u00b9]\2\u01c9\u01ca\5\u00c3"+ + "b\2\u01ca\u01cb\5\u00b1Y\2\u01cb\u01cc\5\u009bN\2\u01ccr\3\2\2\2\u01cd"+ + "\u01ce\5\u00adW\2\u01ce\u01cf\5\u0093J\2\u01cf\u01d0\5\u00abV\2\u01d0"+ + "\u01d1\5\u009bN\2\u01d1t\3\2\2\2\u01d2\u01d3\5\u00b1Y\2\u01d3\u01d4\5"+ + "\u00b5[\2\u01d4\u01d5\5\u00afX\2\u01d5\u01d6\5\u00b1Y\2\u01d6\u01d7\5"+ + "\u009bN\2\u01d7\u01d8\5\u00b5[\2\u01d8\u01d9\5\u00b9]\2\u01d9\u01da\5"+ + "\u00a3R\2\u01da\u01db\5\u009bN\2\u01db\u01dc\5\u00b7\\\2\u01dcv\3\2\2"+ + "\2\u01dd\u01de\5\u00b5[\2\u01de\u01df\5\u00bb^\2\u01df\u01e0\5\u00a9U"+ + "\2\u01e0\u01e1\5\u009bN\2\u01e1\u01e2\5\u00b7\\\2\u01e2x\3\2\2\2\u01e3"+ + "\u01e4\5\u00b5[\2\u01e4\u01e5\5\u009bN\2\u01e5\u01e6\5\u00b7\\\2\u01e6"+ + "\u01e7\5\u00afX\2\u01e7\u01e8\5\u00bb^\2\u01e8\u01e9\5\u00b5[\2\u01e9"+ + "\u01ea\5\u0097L\2\u01ea\u01eb\5\u009bN\2\u01eb\u01ec\5\u00b7\\\2\u01ec"+ + "z\3\2\2\2\u01ed\u01ee\5\u00b7\\\2\u01ee\u01ef\5\u00b9]\2\u01ef\u01f0\5"+ + "\u0093J\2\u01f0\u01f1\5\u00b9]\2\u01f1\u01f2\5\u00bb^\2\u01f2\u01f3\5"+ + "\u00b7\\\2\u01f3|\3\2\2\2\u01f4\u01f5\5\u009bN\2\u01f5\u01f6\5\u00adW"+ + "\2\u01f6\u01f7\5\u0093J\2\u01f7\u01f8\5\u0095K\2\u01f8\u01f9\5\u00a9U"+ + "\2\u01f9\u01fa\5\u009bN\2\u01fa~\3\2\2\2\u01fb\u01fc\5\u0099M\2\u01fc"+ + "\u01fd\5\u00a3R\2\u01fd\u01fe\5\u00b7\\\2\u01fe\u01ff\5\u0093J\2\u01ff"+ + "\u0200\5\u0095K\2\u0200\u0201\5\u00a9U\2\u0201\u0202\5\u009bN\2\u0202"+ + "\u0080\3\2\2\2\u0203\u0204\5\u00b5[\2\u0204\u0205\5\u009bN\2\u0205\u0206"+ + "\5\u0093J\2\u0206\u0207\5\u0099M\2\u0207\u0082\3\2\2\2\u0208\u0209\5\u00a3"+ + "R\2\u0209\u020a\5\u009dO\2\u020a\u0084\3\2\2\2\u020b\u020c\5\u009bN\2"+ + "\u020c\u020d\5\u00c1a\2\u020d\u020e\5\u00a3R\2\u020e\u020f\5\u00b7\\\2"+ + "\u020f\u0210\5\u00b9]\2\u0210\u0211\5\u00b7\\\2\u0211\u0086\3\2\2\2\u0212"+ + "\u0213\5\u0097L\2\u0213\u0214\5\u00afX\2\u0214\u0215\5\u00bb^\2\u0215"+ + "\u0216\5\u00adW\2\u0216\u0217\5\u00b9]\2\u0217\u0088\3\2\2\2\u0218\u0219"+ + "\5\u00b5[\2\u0219\u021a\5\u00afX\2\u021a\u021b\5\u00bb^\2\u021b\u021c"+ + "\5\u00adW\2\u021c\u021d\5\u0099M\2\u021d\u021e\5U+\2\u021e\u021f\5\u00b5"+ + "[\2\u021f\u0220\5\u00afX\2\u0220\u0221\5\u0095K\2\u0221\u0222\5\u00a3"+ + "R\2\u0222\u0223\5\u00adW\2\u0223\u008a\3\2\2\2\u0224\u0225\5\u00b5[\2"+ + "\u0225\u0226\5\u0093J\2\u0226\u0227\5\u00adW\2\u0227\u0228\5\u0099M\2"+ + "\u0228\u0229\5\u00afX\2\u0229\u022a\5\u00abV\2\u022a\u008c\3\2\2\2\u022b"+ + "\u022c\5\u00bf`\2\u022c\u022d\5\u009bN\2\u022d\u022e\5\u00a3R\2\u022e"+ + "\u022f\5\u009fP\2\u022f\u0230\5\u00a1Q\2\u0230\u0231\5\u00b9]\2\u0231"+ + "\u008e\3\2\2\2\u0232\u0233\5\u00adW\2\u0233\u0234\5\u00afX\2\u0234\u0235"+ + "\5\u00b9]\2\u0235\u0090\3\2\2\2\u0236\u0237\7F\2\2\u0237\u0238\7Q\2\2"+ + "\u0238\u0239\7\"\2\2\u0239\u023a\7P\2\2\u023a\u023b\7Q\2\2\u023b\u023c"+ + "\7V\2\2\u023c\u023d\7\"\2\2\u023d\u023e\7O\2\2\u023e\u023f\7C\2\2\u023f"+ + "\u0240\7V\2\2\u0240\u0241\7E\2\2\u0241\u0242\7J\2\2\u0242\u0243\7\"\2"+ + "\2\u0243\u0244\7C\2\2\u0244\u0245\7P\2\2\u0245\u0246\7[\2\2\u0246\u0247"+ + "\7\"\2\2\u0247\u0248\7V\2\2\u0248\u0249\7J\2\2\u0249\u024a\7K\2\2\u024a"+ + "\u024b\7P\2\2\u024b\u024c\7I\2\2\u024c\u024d\7.\2\2\u024d\u024e\7\"\2"+ + "\2\u024e\u024f\7L\2\2\u024f\u0250\7W\2\2\u0250\u0251\7U\2\2\u0251\u0252"+ + "\7V\2\2\u0252\u0253\7\"\2\2\u0253\u0254\7H\2\2\u0254\u0255\7Q\2\2\u0255"+ + "\u0256\7T\2\2\u0256\u0257\7\"\2\2\u0257\u0258\7I\2\2\u0258\u0259\7G\2"+ + "\2\u0259\u025a\7P\2\2\u025a\u025b\7G\2\2\u025b\u025c\7T\2\2\u025c\u025d"+ + "\7C\2\2\u025d\u025e\7V\2\2\u025e\u025f\7Q\2\2\u025f\u0260\7T\2\2\u0260"+ + "\u0092\3\2\2\2\u0261\u0262\t\3\2\2\u0262\u0094\3\2\2\2\u0263\u0264\t\4"+ + "\2\2\u0264\u0096\3\2\2\2\u0265\u0266\t\5\2\2\u0266\u0098\3\2\2\2\u0267"+ + "\u0268\t\6\2\2\u0268\u009a\3\2\2\2\u0269\u026a\t\7\2\2\u026a\u009c\3\2"+ + "\2\2\u026b\u026c\t\b\2\2\u026c\u009e\3\2\2\2\u026d\u026e\t\t\2\2\u026e"+ + "\u00a0\3\2\2\2\u026f\u0270\t\n\2\2\u0270\u00a2\3\2\2\2\u0271\u0272\t\13"+ + "\2\2\u0272\u00a4\3\2\2\2\u0273\u0274\t\f\2\2\u0274\u00a6\3\2\2\2\u0275"+ + "\u0276\t\r\2\2\u0276\u00a8\3\2\2\2\u0277\u0278\t\16\2\2\u0278\u00aa\3"+ + "\2\2\2\u0279\u027a\t\17\2\2\u027a\u00ac\3\2\2\2\u027b\u027c\t\20\2\2\u027c"+ + "\u00ae\3\2\2\2\u027d\u027e\t\21\2\2\u027e\u00b0\3\2\2\2\u027f\u0280\t"+ + "\22\2\2\u0280\u00b2\3\2\2\2\u0281\u0282\t\23\2\2\u0282\u00b4\3\2\2\2\u0283"+ + "\u0284\t\24\2\2\u0284\u00b6\3\2\2\2\u0285\u0286\t\25\2\2\u0286\u00b8\3"+ + "\2\2\2\u0287\u0288\t\26\2\2\u0288\u00ba\3\2\2\2\u0289\u028a\t\27\2\2\u028a"+ + "\u00bc\3\2\2\2\u028b\u028c\t\30\2\2\u028c\u00be\3\2\2\2\u028d\u028e\t"+ + "\31\2\2\u028e\u00c0\3\2\2\2\u028f\u0290\t\32\2\2\u0290\u00c2\3\2\2\2\u0291"+ + "\u0292\t\33\2\2\u0292\u00c4\3\2\2\2\u0293\u0294\t\34\2\2\u0294\u00c6\3"+ + "\2\2\2\u0295\u0297\t\35\2\2\u0296\u0295\3\2\2\2\u0297\u029a\3\2\2\2\u0298"+ + "\u0299\3\2\2\2\u0298\u0296\3\2\2\2\u0299\u029c\3\2\2\2\u029a\u0298\3\2"+ + "\2\2\u029b\u029d\t\36\2\2\u029c\u029b\3\2\2\2\u029d\u029e\3\2\2\2\u029e"+ + "\u029f\3\2\2\2\u029e\u029c\3\2\2\2\u029f\u02a3\3\2\2\2\u02a0\u02a2\t\35"+ + "\2\2\u02a1\u02a0\3\2\2\2\u02a2\u02a5\3\2\2\2\u02a3\u02a1\3\2\2\2\u02a3"+ + "\u02a4\3\2\2\2\u02a4\u02af\3\2\2\2\u02a5\u02a3\3\2\2\2\u02a6\u02a8\5K"+ + "&\2\u02a7\u02a9\n\37\2\2\u02a8\u02a7\3\2\2\2\u02a9\u02aa\3\2\2\2\u02aa"+ + "\u02a8\3\2\2\2\u02aa\u02ab\3\2\2\2\u02ab\u02ac\3\2\2\2\u02ac\u02ad\5K"+ + "&\2\u02ad\u02af\3\2\2\2\u02ae\u0298\3\2\2\2\u02ae\u02a6\3\2\2\2\u02af"+ + "\u00c8\3\2\2\2\u02b0\u02b8\5G$\2\u02b1\u02b2\7^\2\2\u02b2\u02b7\13\2\2"+ + "\2\u02b3\u02b4\7$\2\2\u02b4\u02b7\7$\2\2\u02b5\u02b7\n \2\2\u02b6\u02b1"+ + "\3\2\2\2\u02b6\u02b3\3\2\2\2\u02b6\u02b5\3\2\2\2\u02b7\u02ba\3\2\2\2\u02b8"+ + "\u02b6\3\2\2\2\u02b8\u02b9\3\2\2\2\u02b9\u02bb\3\2\2\2\u02ba\u02b8\3\2"+ + "\2\2\u02bb\u02bc\5G$\2\u02bc\u02cb\3\2\2\2\u02bd\u02c5\5I%\2\u02be\u02bf"+ + "\7^\2\2\u02bf\u02c4\13\2\2\2\u02c0\u02c1\7)\2\2\u02c1\u02c4\7)\2\2\u02c2"+ + "\u02c4\n!\2\2\u02c3\u02be\3\2\2\2\u02c3\u02c0\3\2\2\2\u02c3\u02c2\3\2"+ + "\2\2\u02c4\u02c7\3\2\2\2\u02c5\u02c3\3\2\2\2\u02c5\u02c6\3\2\2\2\u02c6"+ + "\u02c8\3\2\2\2\u02c7\u02c5\3\2\2\2\u02c8\u02c9\5I%\2\u02c9\u02cb\3\2\2"+ + "\2\u02ca\u02b0\3\2\2\2\u02ca\u02bd\3\2\2\2\u02cb\u00ca\3\2\2\2\u02cc\u02ce"+ + "\t\"\2\2\u02cd\u02cc\3\2\2\2\u02ce\u02cf\3\2\2\2\u02cf\u02cd\3\2\2\2\u02cf"+ + "\u02d0\3\2\2\2\u02d0\u00cc\3\2\2\2\u02d1\u02d2\t#\2\2\u02d2\u00ce\3\2"+ + "\2\2\u02d3\u02d5\5\u00cbf\2\u02d4\u02d3\3\2\2\2\u02d4\u02d5\3\2\2\2\u02d5"+ + "\u02d7\3\2\2\2\u02d6\u02d8\5#\22\2\u02d7\u02d6\3\2\2\2\u02d7\u02d8\3\2"+ + "\2\2\u02d8\u02d9\3\2\2\2\u02d9\u02e1\5\u00cbf\2\u02da\u02dd\5\u009bN\2"+ + "\u02db\u02de\5\31\r\2\u02dc\u02de\5\33\16\2\u02dd\u02db\3\2\2\2\u02dd"+ + "\u02dc\3\2\2\2\u02dd\u02de\3\2\2\2\u02de\u02df\3\2\2\2\u02df\u02e0\5\u00cb"+ + "f\2\u02e0\u02e2\3\2\2\2\u02e1\u02da\3\2\2\2\u02e1\u02e2\3\2\2\2\u02e2"+ + "\u00d0\3\2\2\2\u02e3\u02e4\7\62\2\2\u02e4\u02e5\7z\2\2\u02e5\u02e7\3\2"+ + "\2\2\u02e6\u02e8\5\u00cdg\2\u02e7\u02e6\3\2\2\2\u02e8\u02e9\3\2\2\2\u02e9"+ + "\u02e7\3\2\2\2\u02e9\u02ea\3\2\2\2\u02ea\u02f5\3\2\2\2\u02eb\u02ec\7Z"+ + "\2\2\u02ec\u02ee\5I%\2\u02ed\u02ef\5\u00cdg\2\u02ee\u02ed\3\2\2\2\u02ef"+ + "\u02f0\3\2\2\2\u02f0\u02ee\3\2\2\2\u02f0\u02f1\3\2\2\2\u02f1\u02f2\3\2"+ + "\2\2\u02f2\u02f3\5I%\2\u02f3\u02f5\3\2\2\2\u02f4\u02e3\3\2\2\2\u02f4\u02eb"+ + "\3\2\2\2\u02f5\u00d2\3\2\2\2\u02f6\u02f7\7\62\2\2\u02f7\u02f8\7d\2\2\u02f8"+ + "\u02fa\3\2\2\2\u02f9\u02fb\4\62\63\2\u02fa\u02f9\3\2\2\2\u02fb\u02fc\3"+ + "\2\2\2\u02fc\u02fa\3\2\2\2\u02fc\u02fd\3\2\2\2\u02fd\u0308\3\2\2\2\u02fe"+ + "\u02ff\5\u0095K\2\u02ff\u0301\5I%\2\u0300\u0302\4\62\63\2\u0301\u0300"+ + "\3\2\2\2\u0302\u0303\3\2\2\2\u0303\u0301\3\2\2\2\u0303\u0304\3\2\2\2\u0304"+ + "\u0305\3\2\2\2\u0305\u0306\5I%\2\u0306\u0308\3\2\2\2\u0307\u02f6\3\2\2"+ + "\2\u0307\u02fe\3\2\2\2\u0308\u00d4\3\2\2\2\32\2\u010b\u013c\u0298\u029e"+ + "\u02a3\u02aa\u02ae\u02b6\u02b8\u02c3\u02c5\u02ca\u02cf\u02d4\u02d7\u02dd"+ + "\u02e1\u02e9\u02f0\u02f4\u02fc\u0303\u0307\3\b\2\2"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleLexer.tokens b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleLexer.tokens new file mode 100644 index 00000000..8f1734a8 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleLexer.tokens @@ -0,0 +1,121 @@ +AND_=1 +OR_=2 +NOT_=3 +TILDE_=4 +VERTICALBAR_=5 +AMPERSAND_=6 +SIGNEDLEFTSHIFT_=7 +SIGNEDRIGHTSHIFT_=8 +CARET_=9 +MOD_=10 +COLON_=11 +PLUS_=12 +MINUS_=13 +ASTERISK_=14 +SLASH_=15 +BACKSLASH_=16 +DOT_=17 +DOTASTERISK_=18 +SAFEEQ_=19 +DEQ_=20 +EQ_=21 +NEQ_=22 +GT_=23 +GTE_=24 +LT_=25 +LTE_=26 +POUND_=27 +LP_=28 +RP_=29 +LBE_=30 +RBE_=31 +LBT_=32 +RBT_=33 +COMMA_=34 +DQ_=35 +SQ_=36 +BQ_=37 +QUESTION_=38 +AT_=39 +SEMI_=40 +JSONSEPARATOR_=41 +UL_=42 +WS=43 +TRUE=44 +FALSE=45 +CREATE=46 +ALTER=47 +DROP=48 +SHOW=49 +RULE=50 +FROM=51 +READWRITE_SPLITTING=52 +WRITE_STORAGE_UNIT=53 +READ_STORAGE_UNITS=54 +TRANSACTIONAL_READ_QUERY_STRATEGY=55 +TYPE=56 +NAME=57 +PROPERTIES=58 +RULES=59 +RESOURCES=60 +STATUS=61 +ENABLE=62 +DISABLE=63 +READ=64 +IF=65 +EXISTS=66 +COUNT=67 +ROUND_ROBIN=68 +RANDOM=69 +WEIGHT=70 +NOT=71 +FOR_GENERATOR=72 +IDENTIFIER_=73 +STRING_=74 +INT_=75 +HEX_=76 +NUMBER_=77 +HEXDIGIT_=78 +BITNUM_=79 +'&&'=1 +'||'=2 +'!'=3 +'~'=4 +'|'=5 +'&'=6 +'<<'=7 +'>>'=8 +'^'=9 +'%'=10 +':'=11 +'+'=12 +'-'=13 +'*'=14 +'/'=15 +'\\'=16 +'.'=17 +'.*'=18 +'<=>'=19 +'=='=20 +'='=21 +'>'=23 +'>='=24 +'<'=25 +'<='=26 +'#'=27 +'('=28 +')'=29 +'{'=30 +'}'=31 +'['=32 +']'=33 +','=34 +'"'=35 +'\''=36 +'`'=37 +'?'=38 +'@'=39 +';'=40 +'->>'=41 +'_'=42 +'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=72 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleParser.java b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleParser.java new file mode 100644 index 00000000..d209a889 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleParser.java @@ -0,0 +1,608 @@ +// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/BaseRule.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.misc.*; +import org.antlr.v4.runtime.tree.*; +import java.util.List; +import java.util.Iterator; +import java.util.ArrayList; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class BaseRuleParser extends Parser { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, + SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, + ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, + DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, + LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, + SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, + WS=43, TRUE=44, FALSE=45, CREATE=46, ALTER=47, DROP=48, SHOW=49, RULE=50, + FROM=51, READWRITE_SPLITTING=52, WRITE_STORAGE_UNIT=53, READ_STORAGE_UNITS=54, + TRANSACTIONAL_READ_QUERY_STRATEGY=55, TYPE=56, NAME=57, PROPERTIES=58, + RULES=59, RESOURCES=60, STATUS=61, ENABLE=62, DISABLE=63, READ=64, IF=65, + EXISTS=66, COUNT=67, ROUND_ROBIN=68, RANDOM=69, WEIGHT=70, NOT=71, FOR_GENERATOR=72, + IDENTIFIER_=73, STRING_=74, INT_=75, HEX_=76, NUMBER_=77, HEXDIGIT_=78, + BITNUM_=79; + public static final int + RULE_literal = 0, RULE_algorithmDefinition = 1, RULE_algorithmTypeName = 2, + RULE_buildInReadQueryLoadBalanceAlgorithmType = 3, RULE_propertiesDefinition = 4, + RULE_properties = 5, RULE_property = 6, RULE_databaseName = 7, RULE_groupName = 8, + RULE_storageUnitName = 9; + private static String[] makeRuleNames() { + return new String[] { + "literal", "algorithmDefinition", "algorithmTypeName", "buildInReadQueryLoadBalanceAlgorithmType", + "propertiesDefinition", "properties", "property", "databaseName", "groupName", + "storageUnitName" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", + "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", + "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", + "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", + "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", + "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", + "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", + "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", + "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", + "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", + "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", "FROM", "READWRITE_SPLITTING", + "WRITE_STORAGE_UNIT", "READ_STORAGE_UNITS", "TRANSACTIONAL_READ_QUERY_STRATEGY", + "TYPE", "NAME", "PROPERTIES", "RULES", "RESOURCES", "STATUS", "ENABLE", + "DISABLE", "READ", "IF", "EXISTS", "COUNT", "ROUND_ROBIN", "RANDOM", + "WEIGHT", "NOT", "FOR_GENERATOR", "IDENTIFIER_", "STRING_", "INT_", "HEX_", + "NUMBER_", "HEXDIGIT_", "BITNUM_" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + @Override + public String getGrammarFileName() { return "BaseRule.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public ATN getATN() { return _ATN; } + + public BaseRuleParser(TokenStream input) { + super(input); + _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + public static class LiteralContext extends ParserRuleContext { + public TerminalNode STRING_() { return getToken(BaseRuleParser.STRING_, 0); } + public TerminalNode INT_() { return getToken(BaseRuleParser.INT_, 0); } + public TerminalNode MINUS_() { return getToken(BaseRuleParser.MINUS_, 0); } + public TerminalNode TRUE() { return getToken(BaseRuleParser.TRUE, 0); } + public TerminalNode FALSE() { return getToken(BaseRuleParser.FALSE, 0); } + public LiteralContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_literal; } + } + + public final LiteralContext literal() throws RecognitionException { + LiteralContext _localctx = new LiteralContext(_ctx, getState()); + enterRule(_localctx, 0, RULE_literal); + int _la; + try { + setState(27); + _errHandler.sync(this); + switch (_input.LA(1)) { + case STRING_: + enterOuterAlt(_localctx, 1); + { + setState(20); + match(STRING_); + } + break; + case MINUS_: + case INT_: + enterOuterAlt(_localctx, 2); + { + setState(22); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==MINUS_) { + { + setState(21); + match(MINUS_); + } + } + + setState(24); + match(INT_); + } + break; + case TRUE: + enterOuterAlt(_localctx, 3); + { + setState(25); + match(TRUE); + } + break; + case FALSE: + enterOuterAlt(_localctx, 4); + { + setState(26); + match(FALSE); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AlgorithmDefinitionContext extends ParserRuleContext { + public TerminalNode TYPE() { return getToken(BaseRuleParser.TYPE, 0); } + public TerminalNode LP_() { return getToken(BaseRuleParser.LP_, 0); } + public TerminalNode NAME() { return getToken(BaseRuleParser.NAME, 0); } + public TerminalNode EQ_() { return getToken(BaseRuleParser.EQ_, 0); } + public AlgorithmTypeNameContext algorithmTypeName() { + return getRuleContext(AlgorithmTypeNameContext.class,0); + } + public TerminalNode RP_() { return getToken(BaseRuleParser.RP_, 0); } + public TerminalNode COMMA_() { return getToken(BaseRuleParser.COMMA_, 0); } + public PropertiesDefinitionContext propertiesDefinition() { + return getRuleContext(PropertiesDefinitionContext.class,0); + } + public AlgorithmDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_algorithmDefinition; } + } + + public final AlgorithmDefinitionContext algorithmDefinition() throws RecognitionException { + AlgorithmDefinitionContext _localctx = new AlgorithmDefinitionContext(_ctx, getState()); + enterRule(_localctx, 2, RULE_algorithmDefinition); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(29); + match(TYPE); + setState(30); + match(LP_); + setState(31); + match(NAME); + setState(32); + match(EQ_); + setState(33); + algorithmTypeName(); + setState(36); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==COMMA_) { + { + setState(34); + match(COMMA_); + setState(35); + propertiesDefinition(); + } + } + + setState(38); + match(RP_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AlgorithmTypeNameContext extends ParserRuleContext { + public TerminalNode STRING_() { return getToken(BaseRuleParser.STRING_, 0); } + public BuildInReadQueryLoadBalanceAlgorithmTypeContext buildInReadQueryLoadBalanceAlgorithmType() { + return getRuleContext(BuildInReadQueryLoadBalanceAlgorithmTypeContext.class,0); + } + public AlgorithmTypeNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_algorithmTypeName; } + } + + public final AlgorithmTypeNameContext algorithmTypeName() throws RecognitionException { + AlgorithmTypeNameContext _localctx = new AlgorithmTypeNameContext(_ctx, getState()); + enterRule(_localctx, 4, RULE_algorithmTypeName); + try { + setState(42); + _errHandler.sync(this); + switch (_input.LA(1)) { + case STRING_: + enterOuterAlt(_localctx, 1); + { + setState(40); + match(STRING_); + } + break; + case ROUND_ROBIN: + case RANDOM: + case WEIGHT: + enterOuterAlt(_localctx, 2); + { + setState(41); + buildInReadQueryLoadBalanceAlgorithmType(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class BuildInReadQueryLoadBalanceAlgorithmTypeContext extends ParserRuleContext { + public TerminalNode ROUND_ROBIN() { return getToken(BaseRuleParser.ROUND_ROBIN, 0); } + public TerminalNode RANDOM() { return getToken(BaseRuleParser.RANDOM, 0); } + public TerminalNode WEIGHT() { return getToken(BaseRuleParser.WEIGHT, 0); } + public BuildInReadQueryLoadBalanceAlgorithmTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_buildInReadQueryLoadBalanceAlgorithmType; } + } + + public final BuildInReadQueryLoadBalanceAlgorithmTypeContext buildInReadQueryLoadBalanceAlgorithmType() throws RecognitionException { + BuildInReadQueryLoadBalanceAlgorithmTypeContext _localctx = new BuildInReadQueryLoadBalanceAlgorithmTypeContext(_ctx, getState()); + enterRule(_localctx, 6, RULE_buildInReadQueryLoadBalanceAlgorithmType); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(44); + _la = _input.LA(1); + if ( !(((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & ((1L << (ROUND_ROBIN - 68)) | (1L << (RANDOM - 68)) | (1L << (WEIGHT - 68)))) != 0)) ) { + _errHandler.recoverInline(this); + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PropertiesDefinitionContext extends ParserRuleContext { + public TerminalNode PROPERTIES() { return getToken(BaseRuleParser.PROPERTIES, 0); } + public TerminalNode LP_() { return getToken(BaseRuleParser.LP_, 0); } + public TerminalNode RP_() { return getToken(BaseRuleParser.RP_, 0); } + public PropertiesContext properties() { + return getRuleContext(PropertiesContext.class,0); + } + public PropertiesDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_propertiesDefinition; } + } + + public final PropertiesDefinitionContext propertiesDefinition() throws RecognitionException { + PropertiesDefinitionContext _localctx = new PropertiesDefinitionContext(_ctx, getState()); + enterRule(_localctx, 8, RULE_propertiesDefinition); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(46); + match(PROPERTIES); + setState(47); + match(LP_); + setState(49); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==STRING_) { + { + setState(48); + properties(); + } + } + + setState(51); + match(RP_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PropertiesContext extends ParserRuleContext { + public List property() { + return getRuleContexts(PropertyContext.class); + } + public PropertyContext property(int i) { + return getRuleContext(PropertyContext.class,i); + } + public List COMMA_() { return getTokens(BaseRuleParser.COMMA_); } + public TerminalNode COMMA_(int i) { + return getToken(BaseRuleParser.COMMA_, i); + } + public PropertiesContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_properties; } + } + + public final PropertiesContext properties() throws RecognitionException { + PropertiesContext _localctx = new PropertiesContext(_ctx, getState()); + enterRule(_localctx, 10, RULE_properties); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(53); + property(); + setState(58); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA_) { + { + { + setState(54); + match(COMMA_); + setState(55); + property(); + } + } + setState(60); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PropertyContext extends ParserRuleContext { + public Token key; + public LiteralContext value; + public TerminalNode EQ_() { return getToken(BaseRuleParser.EQ_, 0); } + public TerminalNode STRING_() { return getToken(BaseRuleParser.STRING_, 0); } + public LiteralContext literal() { + return getRuleContext(LiteralContext.class,0); + } + public PropertyContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_property; } + } + + public final PropertyContext property() throws RecognitionException { + PropertyContext _localctx = new PropertyContext(_ctx, getState()); + enterRule(_localctx, 12, RULE_property); + try { + enterOuterAlt(_localctx, 1); + { + setState(61); + ((PropertyContext)_localctx).key = match(STRING_); + setState(62); + match(EQ_); + setState(63); + ((PropertyContext)_localctx).value = literal(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class DatabaseNameContext extends ParserRuleContext { + public TerminalNode IDENTIFIER_() { return getToken(BaseRuleParser.IDENTIFIER_, 0); } + public DatabaseNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_databaseName; } + } + + public final DatabaseNameContext databaseName() throws RecognitionException { + DatabaseNameContext _localctx = new DatabaseNameContext(_ctx, getState()); + enterRule(_localctx, 14, RULE_databaseName); + try { + enterOuterAlt(_localctx, 1); + { + setState(65); + match(IDENTIFIER_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class GroupNameContext extends ParserRuleContext { + public TerminalNode IDENTIFIER_() { return getToken(BaseRuleParser.IDENTIFIER_, 0); } + public GroupNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_groupName; } + } + + public final GroupNameContext groupName() throws RecognitionException { + GroupNameContext _localctx = new GroupNameContext(_ctx, getState()); + enterRule(_localctx, 16, RULE_groupName); + try { + enterOuterAlt(_localctx, 1); + { + setState(67); + match(IDENTIFIER_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class StorageUnitNameContext extends ParserRuleContext { + public TerminalNode IDENTIFIER_() { return getToken(BaseRuleParser.IDENTIFIER_, 0); } + public StorageUnitNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_storageUnitName; } + } + + public final StorageUnitNameContext storageUnitName() throws RecognitionException { + StorageUnitNameContext _localctx = new StorageUnitNameContext(_ctx, getState()); + enterRule(_localctx, 18, RULE_storageUnitName); + try { + enterOuterAlt(_localctx, 1); + { + setState(69); + match(IDENTIFIER_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3QJ\4\2\t\2\4\3\t\3"+ + "\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\3\2"+ + "\3\2\5\2\31\n\2\3\2\3\2\3\2\5\2\36\n\2\3\3\3\3\3\3\3\3\3\3\3\3\3\3\5\3"+ + "\'\n\3\3\3\3\3\3\4\3\4\5\4-\n\4\3\5\3\5\3\6\3\6\3\6\5\6\64\n\6\3\6\3\6"+ + "\3\7\3\7\3\7\7\7;\n\7\f\7\16\7>\13\7\3\b\3\b\3\b\3\b\3\t\3\t\3\n\3\n\3"+ + "\13\3\13\3\13\2\2\f\2\4\6\b\n\f\16\20\22\24\2\3\3\2FH\2G\2\35\3\2\2\2"+ + "\4\37\3\2\2\2\6,\3\2\2\2\b.\3\2\2\2\n\60\3\2\2\2\f\67\3\2\2\2\16?\3\2"+ + "\2\2\20C\3\2\2\2\22E\3\2\2\2\24G\3\2\2\2\26\36\7L\2\2\27\31\7\17\2\2\30"+ + "\27\3\2\2\2\30\31\3\2\2\2\31\32\3\2\2\2\32\36\7M\2\2\33\36\7.\2\2\34\36"+ + "\7/\2\2\35\26\3\2\2\2\35\30\3\2\2\2\35\33\3\2\2\2\35\34\3\2\2\2\36\3\3"+ + "\2\2\2\37 \7:\2\2 !\7\36\2\2!\"\7;\2\2\"#\7\27\2\2#&\5\6\4\2$%\7$\2\2"+ + "%\'\5\n\6\2&$\3\2\2\2&\'\3\2\2\2\'(\3\2\2\2()\7\37\2\2)\5\3\2\2\2*-\7"+ + "L\2\2+-\5\b\5\2,*\3\2\2\2,+\3\2\2\2-\7\3\2\2\2./\t\2\2\2/\t\3\2\2\2\60"+ + "\61\7<\2\2\61\63\7\36\2\2\62\64\5\f\7\2\63\62\3\2\2\2\63\64\3\2\2\2\64"+ + "\65\3\2\2\2\65\66\7\37\2\2\66\13\3\2\2\2\67<\5\16\b\289\7$\2\29;\5\16"+ + "\b\2:8\3\2\2\2;>\3\2\2\2<:\3\2\2\2<=\3\2\2\2=\r\3\2\2\2><\3\2\2\2?@\7"+ + "L\2\2@A\7\27\2\2AB\5\2\2\2B\17\3\2\2\2CD\7K\2\2D\21\3\2\2\2EF\7K\2\2F"+ + "\23\3\2\2\2GH\7K\2\2H\25\3\2\2\2\b\30\35&,\63<"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Keyword.interp b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Keyword.interp new file mode 100644 index 00000000..17bd2c94 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Keyword.interp @@ -0,0 +1,134 @@ +token literal names: +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +'DO NOT MATCH ANY THING, JUST FOR GENERATOR' + +token symbolic names: +null +WS +TRUE +FALSE +CREATE +ALTER +DROP +SHOW +RULE +FROM +READWRITE_SPLITTING +WRITE_STORAGE_UNIT +READ_STORAGE_UNITS +TRANSACTIONAL_READ_QUERY_STRATEGY +TYPE +NAME +PROPERTIES +RULES +RESOURCES +STATUS +ENABLE +DISABLE +READ +IF +EXISTS +COUNT +ROUND_ROBIN +RANDOM +WEIGHT +NOT +FOR_GENERATOR + +rule names: +WS +TRUE +FALSE +CREATE +ALTER +DROP +SHOW +RULE +FROM +READWRITE_SPLITTING +WRITE_STORAGE_UNIT +READ_STORAGE_UNITS +TRANSACTIONAL_READ_QUERY_STRATEGY +TYPE +NAME +PROPERTIES +RULES +RESOURCES +STATUS +ENABLE +DISABLE +READ +IF +EXISTS +COUNT +ROUND_ROBIN +RANDOM +WEIGHT +NOT +FOR_GENERATOR +A +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y +Z +UL_ + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 32, 467, 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, 3, 2, 6, 2, 119, 10, 2, 13, 2, 14, 2, 120, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 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, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 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, 12, 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, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 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, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 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, 22, 3, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 30, 3, 30, 3, 30, 3, 30, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 43, 3, 43, 3, 44, 3, 44, 3, 45, 3, 45, 3, 46, 3, 46, 3, 47, 3, 47, 3, 48, 3, 48, 3, 49, 3, 49, 3, 50, 3, 50, 3, 51, 3, 51, 3, 52, 3, 52, 3, 53, 3, 53, 3, 54, 3, 54, 3, 55, 3, 55, 3, 56, 3, 56, 3, 57, 3, 57, 3, 58, 3, 58, 2, 2, 59, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 2, 65, 2, 67, 2, 69, 2, 71, 2, 73, 2, 75, 2, 77, 2, 79, 2, 81, 2, 83, 2, 85, 2, 87, 2, 89, 2, 91, 2, 93, 2, 95, 2, 97, 2, 99, 2, 101, 2, 103, 2, 105, 2, 107, 2, 109, 2, 111, 2, 113, 2, 115, 2, 3, 2, 29, 5, 2, 11, 12, 15, 15, 34, 34, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 2, 440, 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, 3, 118, 3, 2, 2, 2, 5, 124, 3, 2, 2, 2, 7, 129, 3, 2, 2, 2, 9, 135, 3, 2, 2, 2, 11, 142, 3, 2, 2, 2, 13, 148, 3, 2, 2, 2, 15, 153, 3, 2, 2, 2, 17, 158, 3, 2, 2, 2, 19, 163, 3, 2, 2, 2, 21, 168, 3, 2, 2, 2, 23, 188, 3, 2, 2, 2, 25, 207, 3, 2, 2, 2, 27, 226, 3, 2, 2, 2, 29, 260, 3, 2, 2, 2, 31, 265, 3, 2, 2, 2, 33, 270, 3, 2, 2, 2, 35, 281, 3, 2, 2, 2, 37, 287, 3, 2, 2, 2, 39, 297, 3, 2, 2, 2, 41, 304, 3, 2, 2, 2, 43, 311, 3, 2, 2, 2, 45, 319, 3, 2, 2, 2, 47, 324, 3, 2, 2, 2, 49, 327, 3, 2, 2, 2, 51, 334, 3, 2, 2, 2, 53, 340, 3, 2, 2, 2, 55, 352, 3, 2, 2, 2, 57, 359, 3, 2, 2, 2, 59, 366, 3, 2, 2, 2, 61, 370, 3, 2, 2, 2, 63, 413, 3, 2, 2, 2, 65, 415, 3, 2, 2, 2, 67, 417, 3, 2, 2, 2, 69, 419, 3, 2, 2, 2, 71, 421, 3, 2, 2, 2, 73, 423, 3, 2, 2, 2, 75, 425, 3, 2, 2, 2, 77, 427, 3, 2, 2, 2, 79, 429, 3, 2, 2, 2, 81, 431, 3, 2, 2, 2, 83, 433, 3, 2, 2, 2, 85, 435, 3, 2, 2, 2, 87, 437, 3, 2, 2, 2, 89, 439, 3, 2, 2, 2, 91, 441, 3, 2, 2, 2, 93, 443, 3, 2, 2, 2, 95, 445, 3, 2, 2, 2, 97, 447, 3, 2, 2, 2, 99, 449, 3, 2, 2, 2, 101, 451, 3, 2, 2, 2, 103, 453, 3, 2, 2, 2, 105, 455, 3, 2, 2, 2, 107, 457, 3, 2, 2, 2, 109, 459, 3, 2, 2, 2, 111, 461, 3, 2, 2, 2, 113, 463, 3, 2, 2, 2, 115, 465, 3, 2, 2, 2, 117, 119, 9, 2, 2, 2, 118, 117, 3, 2, 2, 2, 119, 120, 3, 2, 2, 2, 120, 118, 3, 2, 2, 2, 120, 121, 3, 2, 2, 2, 121, 122, 3, 2, 2, 2, 122, 123, 8, 2, 2, 2, 123, 4, 3, 2, 2, 2, 124, 125, 5, 101, 51, 2, 125, 126, 5, 97, 49, 2, 126, 127, 5, 103, 52, 2, 127, 128, 5, 71, 36, 2, 128, 6, 3, 2, 2, 2, 129, 130, 5, 73, 37, 2, 130, 131, 5, 63, 32, 2, 131, 132, 5, 85, 43, 2, 132, 133, 5, 99, 50, 2, 133, 134, 5, 71, 36, 2, 134, 8, 3, 2, 2, 2, 135, 136, 5, 67, 34, 2, 136, 137, 5, 97, 49, 2, 137, 138, 5, 71, 36, 2, 138, 139, 5, 63, 32, 2, 139, 140, 5, 101, 51, 2, 140, 141, 5, 71, 36, 2, 141, 10, 3, 2, 2, 2, 142, 143, 5, 63, 32, 2, 143, 144, 5, 85, 43, 2, 144, 145, 5, 101, 51, 2, 145, 146, 5, 71, 36, 2, 146, 147, 5, 97, 49, 2, 147, 12, 3, 2, 2, 2, 148, 149, 5, 69, 35, 2, 149, 150, 5, 97, 49, 2, 150, 151, 5, 91, 46, 2, 151, 152, 5, 93, 47, 2, 152, 14, 3, 2, 2, 2, 153, 154, 5, 99, 50, 2, 154, 155, 5, 77, 39, 2, 155, 156, 5, 91, 46, 2, 156, 157, 5, 107, 54, 2, 157, 16, 3, 2, 2, 2, 158, 159, 5, 97, 49, 2, 159, 160, 5, 103, 52, 2, 160, 161, 5, 85, 43, 2, 161, 162, 5, 71, 36, 2, 162, 18, 3, 2, 2, 2, 163, 164, 5, 73, 37, 2, 164, 165, 5, 97, 49, 2, 165, 166, 5, 91, 46, 2, 166, 167, 5, 87, 44, 2, 167, 20, 3, 2, 2, 2, 168, 169, 5, 97, 49, 2, 169, 170, 5, 71, 36, 2, 170, 171, 5, 63, 32, 2, 171, 172, 5, 69, 35, 2, 172, 173, 5, 107, 54, 2, 173, 174, 5, 97, 49, 2, 174, 175, 5, 79, 40, 2, 175, 176, 5, 101, 51, 2, 176, 177, 5, 71, 36, 2, 177, 178, 5, 115, 58, 2, 178, 179, 5, 99, 50, 2, 179, 180, 5, 93, 47, 2, 180, 181, 5, 85, 43, 2, 181, 182, 5, 79, 40, 2, 182, 183, 5, 101, 51, 2, 183, 184, 5, 101, 51, 2, 184, 185, 5, 79, 40, 2, 185, 186, 5, 89, 45, 2, 186, 187, 5, 75, 38, 2, 187, 22, 3, 2, 2, 2, 188, 189, 5, 107, 54, 2, 189, 190, 5, 97, 49, 2, 190, 191, 5, 79, 40, 2, 191, 192, 5, 101, 51, 2, 192, 193, 5, 71, 36, 2, 193, 194, 5, 115, 58, 2, 194, 195, 5, 99, 50, 2, 195, 196, 5, 101, 51, 2, 196, 197, 5, 91, 46, 2, 197, 198, 5, 97, 49, 2, 198, 199, 5, 63, 32, 2, 199, 200, 5, 75, 38, 2, 200, 201, 5, 71, 36, 2, 201, 202, 5, 115, 58, 2, 202, 203, 5, 103, 52, 2, 203, 204, 5, 89, 45, 2, 204, 205, 5, 79, 40, 2, 205, 206, 5, 101, 51, 2, 206, 24, 3, 2, 2, 2, 207, 208, 5, 97, 49, 2, 208, 209, 5, 71, 36, 2, 209, 210, 5, 63, 32, 2, 210, 211, 5, 69, 35, 2, 211, 212, 5, 115, 58, 2, 212, 213, 5, 99, 50, 2, 213, 214, 5, 101, 51, 2, 214, 215, 5, 91, 46, 2, 215, 216, 5, 97, 49, 2, 216, 217, 5, 63, 32, 2, 217, 218, 5, 75, 38, 2, 218, 219, 5, 71, 36, 2, 219, 220, 5, 115, 58, 2, 220, 221, 5, 103, 52, 2, 221, 222, 5, 89, 45, 2, 222, 223, 5, 79, 40, 2, 223, 224, 5, 101, 51, 2, 224, 225, 5, 99, 50, 2, 225, 26, 3, 2, 2, 2, 226, 227, 5, 101, 51, 2, 227, 228, 5, 97, 49, 2, 228, 229, 5, 63, 32, 2, 229, 230, 5, 89, 45, 2, 230, 231, 5, 99, 50, 2, 231, 232, 5, 63, 32, 2, 232, 233, 5, 67, 34, 2, 233, 234, 5, 101, 51, 2, 234, 235, 5, 79, 40, 2, 235, 236, 5, 91, 46, 2, 236, 237, 5, 89, 45, 2, 237, 238, 5, 63, 32, 2, 238, 239, 5, 85, 43, 2, 239, 240, 5, 115, 58, 2, 240, 241, 5, 97, 49, 2, 241, 242, 5, 71, 36, 2, 242, 243, 5, 63, 32, 2, 243, 244, 5, 69, 35, 2, 244, 245, 5, 115, 58, 2, 245, 246, 5, 95, 48, 2, 246, 247, 5, 103, 52, 2, 247, 248, 5, 71, 36, 2, 248, 249, 5, 97, 49, 2, 249, 250, 5, 111, 56, 2, 250, 251, 5, 115, 58, 2, 251, 252, 5, 99, 50, 2, 252, 253, 5, 101, 51, 2, 253, 254, 5, 97, 49, 2, 254, 255, 5, 63, 32, 2, 255, 256, 5, 101, 51, 2, 256, 257, 5, 71, 36, 2, 257, 258, 5, 75, 38, 2, 258, 259, 5, 111, 56, 2, 259, 28, 3, 2, 2, 2, 260, 261, 5, 101, 51, 2, 261, 262, 5, 111, 56, 2, 262, 263, 5, 93, 47, 2, 263, 264, 5, 71, 36, 2, 264, 30, 3, 2, 2, 2, 265, 266, 5, 89, 45, 2, 266, 267, 5, 63, 32, 2, 267, 268, 5, 87, 44, 2, 268, 269, 5, 71, 36, 2, 269, 32, 3, 2, 2, 2, 270, 271, 5, 93, 47, 2, 271, 272, 5, 97, 49, 2, 272, 273, 5, 91, 46, 2, 273, 274, 5, 93, 47, 2, 274, 275, 5, 71, 36, 2, 275, 276, 5, 97, 49, 2, 276, 277, 5, 101, 51, 2, 277, 278, 5, 79, 40, 2, 278, 279, 5, 71, 36, 2, 279, 280, 5, 99, 50, 2, 280, 34, 3, 2, 2, 2, 281, 282, 5, 97, 49, 2, 282, 283, 5, 103, 52, 2, 283, 284, 5, 85, 43, 2, 284, 285, 5, 71, 36, 2, 285, 286, 5, 99, 50, 2, 286, 36, 3, 2, 2, 2, 287, 288, 5, 97, 49, 2, 288, 289, 5, 71, 36, 2, 289, 290, 5, 99, 50, 2, 290, 291, 5, 91, 46, 2, 291, 292, 5, 103, 52, 2, 292, 293, 5, 97, 49, 2, 293, 294, 5, 67, 34, 2, 294, 295, 5, 71, 36, 2, 295, 296, 5, 99, 50, 2, 296, 38, 3, 2, 2, 2, 297, 298, 5, 99, 50, 2, 298, 299, 5, 101, 51, 2, 299, 300, 5, 63, 32, 2, 300, 301, 5, 101, 51, 2, 301, 302, 5, 103, 52, 2, 302, 303, 5, 99, 50, 2, 303, 40, 3, 2, 2, 2, 304, 305, 5, 71, 36, 2, 305, 306, 5, 89, 45, 2, 306, 307, 5, 63, 32, 2, 307, 308, 5, 65, 33, 2, 308, 309, 5, 85, 43, 2, 309, 310, 5, 71, 36, 2, 310, 42, 3, 2, 2, 2, 311, 312, 5, 69, 35, 2, 312, 313, 5, 79, 40, 2, 313, 314, 5, 99, 50, 2, 314, 315, 5, 63, 32, 2, 315, 316, 5, 65, 33, 2, 316, 317, 5, 85, 43, 2, 317, 318, 5, 71, 36, 2, 318, 44, 3, 2, 2, 2, 319, 320, 5, 97, 49, 2, 320, 321, 5, 71, 36, 2, 321, 322, 5, 63, 32, 2, 322, 323, 5, 69, 35, 2, 323, 46, 3, 2, 2, 2, 324, 325, 5, 79, 40, 2, 325, 326, 5, 73, 37, 2, 326, 48, 3, 2, 2, 2, 327, 328, 5, 71, 36, 2, 328, 329, 5, 109, 55, 2, 329, 330, 5, 79, 40, 2, 330, 331, 5, 99, 50, 2, 331, 332, 5, 101, 51, 2, 332, 333, 5, 99, 50, 2, 333, 50, 3, 2, 2, 2, 334, 335, 5, 67, 34, 2, 335, 336, 5, 91, 46, 2, 336, 337, 5, 103, 52, 2, 337, 338, 5, 89, 45, 2, 338, 339, 5, 101, 51, 2, 339, 52, 3, 2, 2, 2, 340, 341, 5, 97, 49, 2, 341, 342, 5, 91, 46, 2, 342, 343, 5, 103, 52, 2, 343, 344, 5, 89, 45, 2, 344, 345, 5, 69, 35, 2, 345, 346, 5, 115, 58, 2, 346, 347, 5, 97, 49, 2, 347, 348, 5, 91, 46, 2, 348, 349, 5, 65, 33, 2, 349, 350, 5, 79, 40, 2, 350, 351, 5, 89, 45, 2, 351, 54, 3, 2, 2, 2, 352, 353, 5, 97, 49, 2, 353, 354, 5, 63, 32, 2, 354, 355, 5, 89, 45, 2, 355, 356, 5, 69, 35, 2, 356, 357, 5, 91, 46, 2, 357, 358, 5, 87, 44, 2, 358, 56, 3, 2, 2, 2, 359, 360, 5, 107, 54, 2, 360, 361, 5, 71, 36, 2, 361, 362, 5, 79, 40, 2, 362, 363, 5, 75, 38, 2, 363, 364, 5, 77, 39, 2, 364, 365, 5, 101, 51, 2, 365, 58, 3, 2, 2, 2, 366, 367, 5, 89, 45, 2, 367, 368, 5, 91, 46, 2, 368, 369, 5, 101, 51, 2, 369, 60, 3, 2, 2, 2, 370, 371, 7, 70, 2, 2, 371, 372, 7, 81, 2, 2, 372, 373, 7, 34, 2, 2, 373, 374, 7, 80, 2, 2, 374, 375, 7, 81, 2, 2, 375, 376, 7, 86, 2, 2, 376, 377, 7, 34, 2, 2, 377, 378, 7, 79, 2, 2, 378, 379, 7, 67, 2, 2, 379, 380, 7, 86, 2, 2, 380, 381, 7, 69, 2, 2, 381, 382, 7, 74, 2, 2, 382, 383, 7, 34, 2, 2, 383, 384, 7, 67, 2, 2, 384, 385, 7, 80, 2, 2, 385, 386, 7, 91, 2, 2, 386, 387, 7, 34, 2, 2, 387, 388, 7, 86, 2, 2, 388, 389, 7, 74, 2, 2, 389, 390, 7, 75, 2, 2, 390, 391, 7, 80, 2, 2, 391, 392, 7, 73, 2, 2, 392, 393, 7, 46, 2, 2, 393, 394, 7, 34, 2, 2, 394, 395, 7, 76, 2, 2, 395, 396, 7, 87, 2, 2, 396, 397, 7, 85, 2, 2, 397, 398, 7, 86, 2, 2, 398, 399, 7, 34, 2, 2, 399, 400, 7, 72, 2, 2, 400, 401, 7, 81, 2, 2, 401, 402, 7, 84, 2, 2, 402, 403, 7, 34, 2, 2, 403, 404, 7, 73, 2, 2, 404, 405, 7, 71, 2, 2, 405, 406, 7, 80, 2, 2, 406, 407, 7, 71, 2, 2, 407, 408, 7, 84, 2, 2, 408, 409, 7, 67, 2, 2, 409, 410, 7, 86, 2, 2, 410, 411, 7, 81, 2, 2, 411, 412, 7, 84, 2, 2, 412, 62, 3, 2, 2, 2, 413, 414, 9, 3, 2, 2, 414, 64, 3, 2, 2, 2, 415, 416, 9, 4, 2, 2, 416, 66, 3, 2, 2, 2, 417, 418, 9, 5, 2, 2, 418, 68, 3, 2, 2, 2, 419, 420, 9, 6, 2, 2, 420, 70, 3, 2, 2, 2, 421, 422, 9, 7, 2, 2, 422, 72, 3, 2, 2, 2, 423, 424, 9, 8, 2, 2, 424, 74, 3, 2, 2, 2, 425, 426, 9, 9, 2, 2, 426, 76, 3, 2, 2, 2, 427, 428, 9, 10, 2, 2, 428, 78, 3, 2, 2, 2, 429, 430, 9, 11, 2, 2, 430, 80, 3, 2, 2, 2, 431, 432, 9, 12, 2, 2, 432, 82, 3, 2, 2, 2, 433, 434, 9, 13, 2, 2, 434, 84, 3, 2, 2, 2, 435, 436, 9, 14, 2, 2, 436, 86, 3, 2, 2, 2, 437, 438, 9, 15, 2, 2, 438, 88, 3, 2, 2, 2, 439, 440, 9, 16, 2, 2, 440, 90, 3, 2, 2, 2, 441, 442, 9, 17, 2, 2, 442, 92, 3, 2, 2, 2, 443, 444, 9, 18, 2, 2, 444, 94, 3, 2, 2, 2, 445, 446, 9, 19, 2, 2, 446, 96, 3, 2, 2, 2, 447, 448, 9, 20, 2, 2, 448, 98, 3, 2, 2, 2, 449, 450, 9, 21, 2, 2, 450, 100, 3, 2, 2, 2, 451, 452, 9, 22, 2, 2, 452, 102, 3, 2, 2, 2, 453, 454, 9, 23, 2, 2, 454, 104, 3, 2, 2, 2, 455, 456, 9, 24, 2, 2, 456, 106, 3, 2, 2, 2, 457, 458, 9, 25, 2, 2, 458, 108, 3, 2, 2, 2, 459, 460, 9, 26, 2, 2, 460, 110, 3, 2, 2, 2, 461, 462, 9, 27, 2, 2, 462, 112, 3, 2, 2, 2, 463, 464, 9, 28, 2, 2, 464, 114, 3, 2, 2, 2, 465, 466, 7, 97, 2, 2, 466, 116, 3, 2, 2, 2, 4, 2, 120, 3, 8, 2, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Keyword.java b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Keyword.java new file mode 100644 index 00000000..88806f94 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Keyword.java @@ -0,0 +1,274 @@ +// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/Keyword.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.misc.*; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class Keyword extends Lexer { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + WS=1, TRUE=2, FALSE=3, CREATE=4, ALTER=5, DROP=6, SHOW=7, RULE=8, FROM=9, + READWRITE_SPLITTING=10, WRITE_STORAGE_UNIT=11, READ_STORAGE_UNITS=12, + TRANSACTIONAL_READ_QUERY_STRATEGY=13, TYPE=14, NAME=15, PROPERTIES=16, + RULES=17, RESOURCES=18, STATUS=19, ENABLE=20, DISABLE=21, READ=22, IF=23, + EXISTS=24, COUNT=25, ROUND_ROBIN=26, RANDOM=27, WEIGHT=28, NOT=29, FOR_GENERATOR=30; + public static String[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + + public static String[] modeNames = { + "DEFAULT_MODE" + }; + + private static String[] makeRuleNames() { + return new String[] { + "WS", "TRUE", "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", "FROM", + "READWRITE_SPLITTING", "WRITE_STORAGE_UNIT", "READ_STORAGE_UNITS", "TRANSACTIONAL_READ_QUERY_STRATEGY", + "TYPE", "NAME", "PROPERTIES", "RULES", "RESOURCES", "STATUS", "ENABLE", + "DISABLE", "READ", "IF", "EXISTS", "COUNT", "ROUND_ROBIN", "RANDOM", + "WEIGHT", "NOT", "FOR_GENERATOR", "A", "B", "C", "D", "E", "F", "G", + "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", + "V", "W", "X", "Y", "Z", "UL_" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "WS", "TRUE", "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", + "FROM", "READWRITE_SPLITTING", "WRITE_STORAGE_UNIT", "READ_STORAGE_UNITS", + "TRANSACTIONAL_READ_QUERY_STRATEGY", "TYPE", "NAME", "PROPERTIES", "RULES", + "RESOURCES", "STATUS", "ENABLE", "DISABLE", "READ", "IF", "EXISTS", "COUNT", + "ROUND_ROBIN", "RANDOM", "WEIGHT", "NOT", "FOR_GENERATOR" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + + public Keyword(CharStream input) { + super(input); + _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + @Override + public String getGrammarFileName() { return "Keyword.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public String[] getChannelNames() { return channelNames; } + + @Override + public String[] getModeNames() { return modeNames; } + + @Override + public ATN getATN() { return _ATN; } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2 \u01d3\b\1\4\2\t"+ + "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ + "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ + "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ + "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ + "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ + ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ + "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\3\2\6\2w\n\2\r\2\16"+ + "\2x\3\2\3\2\3\3\3\3\3\3\3\3\3\3\3\4\3\4\3\4\3\4\3\4\3\4\3\5\3\5\3\5\3"+ + "\5\3\5\3\5\3\5\3\6\3\6\3\6\3\6\3\6\3\6\3\7\3\7\3\7\3\7\3\7\3\b\3\b\3\b"+ + "\3\b\3\b\3\t\3\t\3\t\3\t\3\t\3\n\3\n\3\n\3\n\3\n\3\13\3\13\3\13\3\13\3"+ + "\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3"+ + "\13\3\13\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3"+ + "\f\3\f\3\f\3\f\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r"+ + "\3\r\3\r\3\r\3\r\3\r\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16"+ + "\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16"+ + "\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\17\3\17\3\17\3\17"+ + "\3\17\3\20\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\21\3\21\3\21\3\22\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\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\25\3\25\3\25\3\25\3\26\3\26\3\26\3\26\3\26\3\26\3\26\3\26\3\27"+ + "\3\27\3\27\3\27\3\27\3\30\3\30\3\30\3\31\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\33\3\33"+ + "\3\33\3\33\3\33\3\33\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3\35\3\35\3\35"+ + "\3\35\3\35\3\35\3\35\3\36\3\36\3\36\3\36\3\37\3\37\3\37\3\37\3\37\3\37"+ + "\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37"+ + "\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37"+ + "\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3 \3 \3!\3!\3\"\3\"\3#\3"+ + "#\3$\3$\3%\3%\3&\3&\3\'\3\'\3(\3(\3)\3)\3*\3*\3+\3+\3,\3,\3-\3-\3.\3."+ + "\3/\3/\3\60\3\60\3\61\3\61\3\62\3\62\3\63\3\63\3\64\3\64\3\65\3\65\3\66"+ + "\3\66\3\67\3\67\38\38\39\39\3:\3:\2\2;\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21"+ + "\n\23\13\25\f\27\r\31\16\33\17\35\20\37\21!\22#\23%\24\'\25)\26+\27-\30"+ + "/\31\61\32\63\33\65\34\67\359\36;\37= ?\2A\2C\2E\2G\2I\2K\2M\2O\2Q\2S"+ + "\2U\2W\2Y\2[\2]\2_\2a\2c\2e\2g\2i\2k\2m\2o\2q\2s\2\3\2\35\5\2\13\f\17"+ + "\17\"\"\4\2CCcc\4\2DDdd\4\2EEee\4\2FFff\4\2GGgg\4\2HHhh\4\2IIii\4\2JJ"+ + "jj\4\2KKkk\4\2LLll\4\2MMmm\4\2NNnn\4\2OOoo\4\2PPpp\4\2QQqq\4\2RRrr\4\2"+ + "SSss\4\2TTtt\4\2UUuu\4\2VVvv\4\2WWww\4\2XXxx\4\2YYyy\4\2ZZzz\4\2[[{{\4"+ + "\2\\\\||\2\u01b8\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13"+ + "\3\2\2\2\2\r\3\2\2\2\2\17\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\31\3\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2"+ + "!\3\2\2\2\2#\3\2\2\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3"+ + "\2\2\2\2/\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"+ + "\29\3\2\2\2\2;\3\2\2\2\2=\3\2\2\2\3v\3\2\2\2\5|\3\2\2\2\7\u0081\3\2\2"+ + "\2\t\u0087\3\2\2\2\13\u008e\3\2\2\2\r\u0094\3\2\2\2\17\u0099\3\2\2\2\21"+ + "\u009e\3\2\2\2\23\u00a3\3\2\2\2\25\u00a8\3\2\2\2\27\u00bc\3\2\2\2\31\u00cf"+ + "\3\2\2\2\33\u00e2\3\2\2\2\35\u0104\3\2\2\2\37\u0109\3\2\2\2!\u010e\3\2"+ + "\2\2#\u0119\3\2\2\2%\u011f\3\2\2\2\'\u0129\3\2\2\2)\u0130\3\2\2\2+\u0137"+ + "\3\2\2\2-\u013f\3\2\2\2/\u0144\3\2\2\2\61\u0147\3\2\2\2\63\u014e\3\2\2"+ + "\2\65\u0154\3\2\2\2\67\u0160\3\2\2\29\u0167\3\2\2\2;\u016e\3\2\2\2=\u0172"+ + "\3\2\2\2?\u019d\3\2\2\2A\u019f\3\2\2\2C\u01a1\3\2\2\2E\u01a3\3\2\2\2G"+ + "\u01a5\3\2\2\2I\u01a7\3\2\2\2K\u01a9\3\2\2\2M\u01ab\3\2\2\2O\u01ad\3\2"+ + "\2\2Q\u01af\3\2\2\2S\u01b1\3\2\2\2U\u01b3\3\2\2\2W\u01b5\3\2\2\2Y\u01b7"+ + "\3\2\2\2[\u01b9\3\2\2\2]\u01bb\3\2\2\2_\u01bd\3\2\2\2a\u01bf\3\2\2\2c"+ + "\u01c1\3\2\2\2e\u01c3\3\2\2\2g\u01c5\3\2\2\2i\u01c7\3\2\2\2k\u01c9\3\2"+ + "\2\2m\u01cb\3\2\2\2o\u01cd\3\2\2\2q\u01cf\3\2\2\2s\u01d1\3\2\2\2uw\t\2"+ + "\2\2vu\3\2\2\2wx\3\2\2\2xv\3\2\2\2xy\3\2\2\2yz\3\2\2\2z{\b\2\2\2{\4\3"+ + "\2\2\2|}\5e\63\2}~\5a\61\2~\177\5g\64\2\177\u0080\5G$\2\u0080\6\3\2\2"+ + "\2\u0081\u0082\5I%\2\u0082\u0083\5? \2\u0083\u0084\5U+\2\u0084\u0085\5"+ + "c\62\2\u0085\u0086\5G$\2\u0086\b\3\2\2\2\u0087\u0088\5C\"\2\u0088\u0089"+ + "\5a\61\2\u0089\u008a\5G$\2\u008a\u008b\5? \2\u008b\u008c\5e\63\2\u008c"+ + "\u008d\5G$\2\u008d\n\3\2\2\2\u008e\u008f\5? \2\u008f\u0090\5U+\2\u0090"+ + "\u0091\5e\63\2\u0091\u0092\5G$\2\u0092\u0093\5a\61\2\u0093\f\3\2\2\2\u0094"+ + "\u0095\5E#\2\u0095\u0096\5a\61\2\u0096\u0097\5[.\2\u0097\u0098\5]/\2\u0098"+ + "\16\3\2\2\2\u0099\u009a\5c\62\2\u009a\u009b\5M\'\2\u009b\u009c\5[.\2\u009c"+ + "\u009d\5k\66\2\u009d\20\3\2\2\2\u009e\u009f\5a\61\2\u009f\u00a0\5g\64"+ + "\2\u00a0\u00a1\5U+\2\u00a1\u00a2\5G$\2\u00a2\22\3\2\2\2\u00a3\u00a4\5"+ + "I%\2\u00a4\u00a5\5a\61\2\u00a5\u00a6\5[.\2\u00a6\u00a7\5W,\2\u00a7\24"+ + "\3\2\2\2\u00a8\u00a9\5a\61\2\u00a9\u00aa\5G$\2\u00aa\u00ab\5? \2\u00ab"+ + "\u00ac\5E#\2\u00ac\u00ad\5k\66\2\u00ad\u00ae\5a\61\2\u00ae\u00af\5O(\2"+ + "\u00af\u00b0\5e\63\2\u00b0\u00b1\5G$\2\u00b1\u00b2\5s:\2\u00b2\u00b3\5"+ + "c\62\2\u00b3\u00b4\5]/\2\u00b4\u00b5\5U+\2\u00b5\u00b6\5O(\2\u00b6\u00b7"+ + "\5e\63\2\u00b7\u00b8\5e\63\2\u00b8\u00b9\5O(\2\u00b9\u00ba\5Y-\2\u00ba"+ + "\u00bb\5K&\2\u00bb\26\3\2\2\2\u00bc\u00bd\5k\66\2\u00bd\u00be\5a\61\2"+ + "\u00be\u00bf\5O(\2\u00bf\u00c0\5e\63\2\u00c0\u00c1\5G$\2\u00c1\u00c2\5"+ + "s:\2\u00c2\u00c3\5c\62\2\u00c3\u00c4\5e\63\2\u00c4\u00c5\5[.\2\u00c5\u00c6"+ + "\5a\61\2\u00c6\u00c7\5? \2\u00c7\u00c8\5K&\2\u00c8\u00c9\5G$\2\u00c9\u00ca"+ + "\5s:\2\u00ca\u00cb\5g\64\2\u00cb\u00cc\5Y-\2\u00cc\u00cd\5O(\2\u00cd\u00ce"+ + "\5e\63\2\u00ce\30\3\2\2\2\u00cf\u00d0\5a\61\2\u00d0\u00d1\5G$\2\u00d1"+ + "\u00d2\5? \2\u00d2\u00d3\5E#\2\u00d3\u00d4\5s:\2\u00d4\u00d5\5c\62\2\u00d5"+ + "\u00d6\5e\63\2\u00d6\u00d7\5[.\2\u00d7\u00d8\5a\61\2\u00d8\u00d9\5? \2"+ + "\u00d9\u00da\5K&\2\u00da\u00db\5G$\2\u00db\u00dc\5s:\2\u00dc\u00dd\5g"+ + "\64\2\u00dd\u00de\5Y-\2\u00de\u00df\5O(\2\u00df\u00e0\5e\63\2\u00e0\u00e1"+ + "\5c\62\2\u00e1\32\3\2\2\2\u00e2\u00e3\5e\63\2\u00e3\u00e4\5a\61\2\u00e4"+ + "\u00e5\5? \2\u00e5\u00e6\5Y-\2\u00e6\u00e7\5c\62\2\u00e7\u00e8\5? \2\u00e8"+ + "\u00e9\5C\"\2\u00e9\u00ea\5e\63\2\u00ea\u00eb\5O(\2\u00eb\u00ec\5[.\2"+ + "\u00ec\u00ed\5Y-\2\u00ed\u00ee\5? \2\u00ee\u00ef\5U+\2\u00ef\u00f0\5s"+ + ":\2\u00f0\u00f1\5a\61\2\u00f1\u00f2\5G$\2\u00f2\u00f3\5? \2\u00f3\u00f4"+ + "\5E#\2\u00f4\u00f5\5s:\2\u00f5\u00f6\5_\60\2\u00f6\u00f7\5g\64\2\u00f7"+ + "\u00f8\5G$\2\u00f8\u00f9\5a\61\2\u00f9\u00fa\5o8\2\u00fa\u00fb\5s:\2\u00fb"+ + "\u00fc\5c\62\2\u00fc\u00fd\5e\63\2\u00fd\u00fe\5a\61\2\u00fe\u00ff\5?"+ + " \2\u00ff\u0100\5e\63\2\u0100\u0101\5G$\2\u0101\u0102\5K&\2\u0102\u0103"+ + "\5o8\2\u0103\34\3\2\2\2\u0104\u0105\5e\63\2\u0105\u0106\5o8\2\u0106\u0107"+ + "\5]/\2\u0107\u0108\5G$\2\u0108\36\3\2\2\2\u0109\u010a\5Y-\2\u010a\u010b"+ + "\5? \2\u010b\u010c\5W,\2\u010c\u010d\5G$\2\u010d \3\2\2\2\u010e\u010f"+ + "\5]/\2\u010f\u0110\5a\61\2\u0110\u0111\5[.\2\u0111\u0112\5]/\2\u0112\u0113"+ + "\5G$\2\u0113\u0114\5a\61\2\u0114\u0115\5e\63\2\u0115\u0116\5O(\2\u0116"+ + "\u0117\5G$\2\u0117\u0118\5c\62\2\u0118\"\3\2\2\2\u0119\u011a\5a\61\2\u011a"+ + "\u011b\5g\64\2\u011b\u011c\5U+\2\u011c\u011d\5G$\2\u011d\u011e\5c\62\2"+ + "\u011e$\3\2\2\2\u011f\u0120\5a\61\2\u0120\u0121\5G$\2\u0121\u0122\5c\62"+ + "\2\u0122\u0123\5[.\2\u0123\u0124\5g\64\2\u0124\u0125\5a\61\2\u0125\u0126"+ + "\5C\"\2\u0126\u0127\5G$\2\u0127\u0128\5c\62\2\u0128&\3\2\2\2\u0129\u012a"+ + "\5c\62\2\u012a\u012b\5e\63\2\u012b\u012c\5? \2\u012c\u012d\5e\63\2\u012d"+ + "\u012e\5g\64\2\u012e\u012f\5c\62\2\u012f(\3\2\2\2\u0130\u0131\5G$\2\u0131"+ + "\u0132\5Y-\2\u0132\u0133\5? \2\u0133\u0134\5A!\2\u0134\u0135\5U+\2\u0135"+ + "\u0136\5G$\2\u0136*\3\2\2\2\u0137\u0138\5E#\2\u0138\u0139\5O(\2\u0139"+ + "\u013a\5c\62\2\u013a\u013b\5? \2\u013b\u013c\5A!\2\u013c\u013d\5U+\2\u013d"+ + "\u013e\5G$\2\u013e,\3\2\2\2\u013f\u0140\5a\61\2\u0140\u0141\5G$\2\u0141"+ + "\u0142\5? \2\u0142\u0143\5E#\2\u0143.\3\2\2\2\u0144\u0145\5O(\2\u0145"+ + "\u0146\5I%\2\u0146\60\3\2\2\2\u0147\u0148\5G$\2\u0148\u0149\5m\67\2\u0149"+ + "\u014a\5O(\2\u014a\u014b\5c\62\2\u014b\u014c\5e\63\2\u014c\u014d\5c\62"+ + "\2\u014d\62\3\2\2\2\u014e\u014f\5C\"\2\u014f\u0150\5[.\2\u0150\u0151\5"+ + "g\64\2\u0151\u0152\5Y-\2\u0152\u0153\5e\63\2\u0153\64\3\2\2\2\u0154\u0155"+ + "\5a\61\2\u0155\u0156\5[.\2\u0156\u0157\5g\64\2\u0157\u0158\5Y-\2\u0158"+ + "\u0159\5E#\2\u0159\u015a\5s:\2\u015a\u015b\5a\61\2\u015b\u015c\5[.\2\u015c"+ + "\u015d\5A!\2\u015d\u015e\5O(\2\u015e\u015f\5Y-\2\u015f\66\3\2\2\2\u0160"+ + "\u0161\5a\61\2\u0161\u0162\5? \2\u0162\u0163\5Y-\2\u0163\u0164\5E#\2\u0164"+ + "\u0165\5[.\2\u0165\u0166\5W,\2\u01668\3\2\2\2\u0167\u0168\5k\66\2\u0168"+ + "\u0169\5G$\2\u0169\u016a\5O(\2\u016a\u016b\5K&\2\u016b\u016c\5M\'\2\u016c"+ + "\u016d\5e\63\2\u016d:\3\2\2\2\u016e\u016f\5Y-\2\u016f\u0170\5[.\2\u0170"+ + "\u0171\5e\63\2\u0171<\3\2\2\2\u0172\u0173\7F\2\2\u0173\u0174\7Q\2\2\u0174"+ + "\u0175\7\"\2\2\u0175\u0176\7P\2\2\u0176\u0177\7Q\2\2\u0177\u0178\7V\2"+ + "\2\u0178\u0179\7\"\2\2\u0179\u017a\7O\2\2\u017a\u017b\7C\2\2\u017b\u017c"+ + "\7V\2\2\u017c\u017d\7E\2\2\u017d\u017e\7J\2\2\u017e\u017f\7\"\2\2\u017f"+ + "\u0180\7C\2\2\u0180\u0181\7P\2\2\u0181\u0182\7[\2\2\u0182\u0183\7\"\2"+ + "\2\u0183\u0184\7V\2\2\u0184\u0185\7J\2\2\u0185\u0186\7K\2\2\u0186\u0187"+ + "\7P\2\2\u0187\u0188\7I\2\2\u0188\u0189\7.\2\2\u0189\u018a\7\"\2\2\u018a"+ + "\u018b\7L\2\2\u018b\u018c\7W\2\2\u018c\u018d\7U\2\2\u018d\u018e\7V\2\2"+ + "\u018e\u018f\7\"\2\2\u018f\u0190\7H\2\2\u0190\u0191\7Q\2\2\u0191\u0192"+ + "\7T\2\2\u0192\u0193\7\"\2\2\u0193\u0194\7I\2\2\u0194\u0195\7G\2\2\u0195"+ + "\u0196\7P\2\2\u0196\u0197\7G\2\2\u0197\u0198\7T\2\2\u0198\u0199\7C\2\2"+ + "\u0199\u019a\7V\2\2\u019a\u019b\7Q\2\2\u019b\u019c\7T\2\2\u019c>\3\2\2"+ + "\2\u019d\u019e\t\3\2\2\u019e@\3\2\2\2\u019f\u01a0\t\4\2\2\u01a0B\3\2\2"+ + "\2\u01a1\u01a2\t\5\2\2\u01a2D\3\2\2\2\u01a3\u01a4\t\6\2\2\u01a4F\3\2\2"+ + "\2\u01a5\u01a6\t\7\2\2\u01a6H\3\2\2\2\u01a7\u01a8\t\b\2\2\u01a8J\3\2\2"+ + "\2\u01a9\u01aa\t\t\2\2\u01aaL\3\2\2\2\u01ab\u01ac\t\n\2\2\u01acN\3\2\2"+ + "\2\u01ad\u01ae\t\13\2\2\u01aeP\3\2\2\2\u01af\u01b0\t\f\2\2\u01b0R\3\2"+ + "\2\2\u01b1\u01b2\t\r\2\2\u01b2T\3\2\2\2\u01b3\u01b4\t\16\2\2\u01b4V\3"+ + "\2\2\2\u01b5\u01b6\t\17\2\2\u01b6X\3\2\2\2\u01b7\u01b8\t\20\2\2\u01b8"+ + "Z\3\2\2\2\u01b9\u01ba\t\21\2\2\u01ba\\\3\2\2\2\u01bb\u01bc\t\22\2\2\u01bc"+ + "^\3\2\2\2\u01bd\u01be\t\23\2\2\u01be`\3\2\2\2\u01bf\u01c0\t\24\2\2\u01c0"+ + "b\3\2\2\2\u01c1\u01c2\t\25\2\2\u01c2d\3\2\2\2\u01c3\u01c4\t\26\2\2\u01c4"+ + "f\3\2\2\2\u01c5\u01c6\t\27\2\2\u01c6h\3\2\2\2\u01c7\u01c8\t\30\2\2\u01c8"+ + "j\3\2\2\2\u01c9\u01ca\t\31\2\2\u01cal\3\2\2\2\u01cb\u01cc\t\32\2\2\u01cc"+ + "n\3\2\2\2\u01cd\u01ce\t\33\2\2\u01cep\3\2\2\2\u01cf\u01d0\t\34\2\2\u01d0"+ + "r\3\2\2\2\u01d1\u01d2\7a\2\2\u01d2t\3\2\2\2\4\2x\3\b\2\2"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Keyword.tokens b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Keyword.tokens new file mode 100644 index 00000000..f47bb1d0 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Keyword.tokens @@ -0,0 +1,31 @@ +WS=1 +TRUE=2 +FALSE=3 +CREATE=4 +ALTER=5 +DROP=6 +SHOW=7 +RULE=8 +FROM=9 +READWRITE_SPLITTING=10 +WRITE_STORAGE_UNIT=11 +READ_STORAGE_UNITS=12 +TRANSACTIONAL_READ_QUERY_STRATEGY=13 +TYPE=14 +NAME=15 +PROPERTIES=16 +RULES=17 +RESOURCES=18 +STATUS=19 +ENABLE=20 +DISABLE=21 +READ=22 +IF=23 +EXISTS=24 +COUNT=25 +ROUND_ROBIN=26 +RANDOM=27 +WEIGHT=28 +NOT=29 +FOR_GENERATOR=30 +'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=30 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Literals.interp b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Literals.interp new file mode 100644 index 00000000..af532573 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Literals.interp @@ -0,0 +1,191 @@ +token literal names: +null +null +null +null +null +null +null +null +'DO NOT MATCH ANY THING, JUST FOR GENERATOR' +'&&' +'||' +'!' +'~' +'|' +'&' +'<<' +'>>' +'^' +'%' +':' +'+' +'-' +'*' +'/' +'\\' +'.' +'.*' +'<=>' +'==' +'=' +null +'>' +'>=' +'<' +'<=' +'#' +'(' +')' +'{' +'}' +'[' +']' +',' +'"' +'\'' +'`' +'?' +'@' +';' +'->>' + +token symbolic names: +null +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ +FOR_GENERATOR +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ + +rule names: +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ +FOR_GENERATOR +A +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y +Z +UL_ +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 51, 466, 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, 3, 2, 7, 2, 157, 10, 2, 12, 2, 14, 2, 160, 11, 2, 3, 2, 6, 2, 163, 10, 2, 13, 2, 14, 2, 164, 3, 2, 7, 2, 168, 10, 2, 12, 2, 14, 2, 171, 11, 2, 3, 2, 3, 2, 6, 2, 175, 10, 2, 13, 2, 14, 2, 176, 3, 2, 3, 2, 5, 2, 181, 10, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 189, 10, 3, 12, 3, 14, 3, 192, 11, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 202, 10, 3, 12, 3, 14, 3, 205, 11, 3, 3, 3, 3, 3, 5, 3, 209, 10, 3, 3, 4, 6, 4, 212, 10, 4, 13, 4, 14, 4, 213, 3, 5, 3, 5, 3, 6, 5, 6, 219, 10, 6, 3, 6, 5, 6, 222, 10, 6, 3, 6, 3, 6, 3, 6, 3, 6, 5, 6, 228, 10, 6, 3, 6, 3, 6, 5, 6, 232, 10, 6, 3, 7, 3, 7, 3, 7, 3, 7, 6, 7, 238, 10, 7, 13, 7, 14, 7, 239, 3, 7, 3, 7, 3, 7, 6, 7, 245, 10, 7, 13, 7, 14, 7, 246, 3, 7, 3, 7, 5, 7, 251, 10, 7, 3, 8, 3, 8, 3, 8, 3, 8, 6, 8, 257, 10, 8, 13, 8, 14, 8, 258, 3, 8, 3, 8, 3, 8, 6, 8, 264, 10, 8, 13, 8, 14, 8, 265, 3, 8, 3, 8, 5, 8, 270, 10, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 3, 18, 3, 18, 3, 19, 3, 19, 3, 20, 3, 20, 3, 21, 3, 21, 3, 22, 3, 22, 3, 23, 3, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 37, 3, 38, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 43, 3, 43, 3, 43, 3, 44, 3, 44, 3, 44, 3, 45, 3, 45, 3, 46, 3, 46, 3, 47, 3, 47, 3, 48, 3, 48, 3, 49, 3, 49, 3, 50, 3, 50, 3, 51, 3, 51, 3, 52, 3, 52, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 5, 58, 423, 10, 58, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 64, 3, 64, 3, 65, 3, 65, 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, 72, 3, 72, 3, 73, 3, 73, 3, 74, 3, 74, 3, 75, 3, 75, 3, 76, 3, 76, 3, 77, 3, 77, 3, 77, 3, 77, 4, 158, 164, 2, 78, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 2, 21, 2, 23, 2, 25, 2, 27, 2, 29, 2, 31, 2, 33, 2, 35, 2, 37, 2, 39, 2, 41, 2, 43, 2, 45, 2, 47, 2, 49, 2, 51, 2, 53, 2, 55, 2, 57, 2, 59, 2, 61, 2, 63, 2, 65, 2, 67, 2, 69, 2, 71, 2, 73, 11, 75, 12, 77, 13, 79, 14, 81, 15, 83, 16, 85, 17, 87, 18, 89, 19, 91, 20, 93, 21, 95, 22, 97, 23, 99, 24, 101, 25, 103, 26, 105, 27, 107, 28, 109, 29, 111, 30, 113, 31, 115, 32, 117, 33, 119, 34, 121, 35, 123, 36, 125, 37, 127, 38, 129, 39, 131, 40, 133, 41, 135, 42, 137, 43, 139, 44, 141, 45, 143, 46, 145, 47, 147, 48, 149, 49, 151, 50, 153, 51, 3, 2, 35, 7, 2, 38, 38, 50, 59, 67, 92, 97, 97, 99, 124, 6, 2, 38, 38, 67, 92, 97, 97, 99, 124, 3, 2, 98, 98, 4, 2, 36, 36, 94, 94, 4, 2, 41, 41, 94, 94, 3, 2, 50, 59, 5, 2, 50, 59, 67, 72, 99, 104, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 2, 463, 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, 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, 3, 180, 3, 2, 2, 2, 5, 208, 3, 2, 2, 2, 7, 211, 3, 2, 2, 2, 9, 215, 3, 2, 2, 2, 11, 218, 3, 2, 2, 2, 13, 250, 3, 2, 2, 2, 15, 269, 3, 2, 2, 2, 17, 271, 3, 2, 2, 2, 19, 314, 3, 2, 2, 2, 21, 316, 3, 2, 2, 2, 23, 318, 3, 2, 2, 2, 25, 320, 3, 2, 2, 2, 27, 322, 3, 2, 2, 2, 29, 324, 3, 2, 2, 2, 31, 326, 3, 2, 2, 2, 33, 328, 3, 2, 2, 2, 35, 330, 3, 2, 2, 2, 37, 332, 3, 2, 2, 2, 39, 334, 3, 2, 2, 2, 41, 336, 3, 2, 2, 2, 43, 338, 3, 2, 2, 2, 45, 340, 3, 2, 2, 2, 47, 342, 3, 2, 2, 2, 49, 344, 3, 2, 2, 2, 51, 346, 3, 2, 2, 2, 53, 348, 3, 2, 2, 2, 55, 350, 3, 2, 2, 2, 57, 352, 3, 2, 2, 2, 59, 354, 3, 2, 2, 2, 61, 356, 3, 2, 2, 2, 63, 358, 3, 2, 2, 2, 65, 360, 3, 2, 2, 2, 67, 362, 3, 2, 2, 2, 69, 364, 3, 2, 2, 2, 71, 366, 3, 2, 2, 2, 73, 368, 3, 2, 2, 2, 75, 371, 3, 2, 2, 2, 77, 374, 3, 2, 2, 2, 79, 376, 3, 2, 2, 2, 81, 378, 3, 2, 2, 2, 83, 380, 3, 2, 2, 2, 85, 382, 3, 2, 2, 2, 87, 385, 3, 2, 2, 2, 89, 388, 3, 2, 2, 2, 91, 390, 3, 2, 2, 2, 93, 392, 3, 2, 2, 2, 95, 394, 3, 2, 2, 2, 97, 396, 3, 2, 2, 2, 99, 398, 3, 2, 2, 2, 101, 400, 3, 2, 2, 2, 103, 402, 3, 2, 2, 2, 105, 404, 3, 2, 2, 2, 107, 406, 3, 2, 2, 2, 109, 409, 3, 2, 2, 2, 111, 413, 3, 2, 2, 2, 113, 416, 3, 2, 2, 2, 115, 422, 3, 2, 2, 2, 117, 424, 3, 2, 2, 2, 119, 426, 3, 2, 2, 2, 121, 429, 3, 2, 2, 2, 123, 431, 3, 2, 2, 2, 125, 434, 3, 2, 2, 2, 127, 436, 3, 2, 2, 2, 129, 438, 3, 2, 2, 2, 131, 440, 3, 2, 2, 2, 133, 442, 3, 2, 2, 2, 135, 444, 3, 2, 2, 2, 137, 446, 3, 2, 2, 2, 139, 448, 3, 2, 2, 2, 141, 450, 3, 2, 2, 2, 143, 452, 3, 2, 2, 2, 145, 454, 3, 2, 2, 2, 147, 456, 3, 2, 2, 2, 149, 458, 3, 2, 2, 2, 151, 460, 3, 2, 2, 2, 153, 462, 3, 2, 2, 2, 155, 157, 9, 2, 2, 2, 156, 155, 3, 2, 2, 2, 157, 160, 3, 2, 2, 2, 158, 159, 3, 2, 2, 2, 158, 156, 3, 2, 2, 2, 159, 162, 3, 2, 2, 2, 160, 158, 3, 2, 2, 2, 161, 163, 9, 3, 2, 2, 162, 161, 3, 2, 2, 2, 163, 164, 3, 2, 2, 2, 164, 165, 3, 2, 2, 2, 164, 162, 3, 2, 2, 2, 165, 169, 3, 2, 2, 2, 166, 168, 9, 2, 2, 2, 167, 166, 3, 2, 2, 2, 168, 171, 3, 2, 2, 2, 169, 167, 3, 2, 2, 2, 169, 170, 3, 2, 2, 2, 170, 181, 3, 2, 2, 2, 171, 169, 3, 2, 2, 2, 172, 174, 5, 145, 73, 2, 173, 175, 10, 4, 2, 2, 174, 173, 3, 2, 2, 2, 175, 176, 3, 2, 2, 2, 176, 174, 3, 2, 2, 2, 176, 177, 3, 2, 2, 2, 177, 178, 3, 2, 2, 2, 178, 179, 5, 145, 73, 2, 179, 181, 3, 2, 2, 2, 180, 158, 3, 2, 2, 2, 180, 172, 3, 2, 2, 2, 181, 4, 3, 2, 2, 2, 182, 190, 5, 141, 71, 2, 183, 184, 7, 94, 2, 2, 184, 189, 11, 2, 2, 2, 185, 186, 7, 36, 2, 2, 186, 189, 7, 36, 2, 2, 187, 189, 10, 5, 2, 2, 188, 183, 3, 2, 2, 2, 188, 185, 3, 2, 2, 2, 188, 187, 3, 2, 2, 2, 189, 192, 3, 2, 2, 2, 190, 188, 3, 2, 2, 2, 190, 191, 3, 2, 2, 2, 191, 193, 3, 2, 2, 2, 192, 190, 3, 2, 2, 2, 193, 194, 5, 141, 71, 2, 194, 209, 3, 2, 2, 2, 195, 203, 5, 143, 72, 2, 196, 197, 7, 94, 2, 2, 197, 202, 11, 2, 2, 2, 198, 199, 7, 41, 2, 2, 199, 202, 7, 41, 2, 2, 200, 202, 10, 6, 2, 2, 201, 196, 3, 2, 2, 2, 201, 198, 3, 2, 2, 2, 201, 200, 3, 2, 2, 2, 202, 205, 3, 2, 2, 2, 203, 201, 3, 2, 2, 2, 203, 204, 3, 2, 2, 2, 204, 206, 3, 2, 2, 2, 205, 203, 3, 2, 2, 2, 206, 207, 5, 143, 72, 2, 207, 209, 3, 2, 2, 2, 208, 182, 3, 2, 2, 2, 208, 195, 3, 2, 2, 2, 209, 6, 3, 2, 2, 2, 210, 212, 9, 7, 2, 2, 211, 210, 3, 2, 2, 2, 212, 213, 3, 2, 2, 2, 213, 211, 3, 2, 2, 2, 213, 214, 3, 2, 2, 2, 214, 8, 3, 2, 2, 2, 215, 216, 9, 8, 2, 2, 216, 10, 3, 2, 2, 2, 217, 219, 5, 7, 4, 2, 218, 217, 3, 2, 2, 2, 218, 219, 3, 2, 2, 2, 219, 221, 3, 2, 2, 2, 220, 222, 5, 105, 53, 2, 221, 220, 3, 2, 2, 2, 221, 222, 3, 2, 2, 2, 222, 223, 3, 2, 2, 2, 223, 231, 5, 7, 4, 2, 224, 227, 5, 27, 14, 2, 225, 228, 5, 95, 48, 2, 226, 228, 5, 97, 49, 2, 227, 225, 3, 2, 2, 2, 227, 226, 3, 2, 2, 2, 227, 228, 3, 2, 2, 2, 228, 229, 3, 2, 2, 2, 229, 230, 5, 7, 4, 2, 230, 232, 3, 2, 2, 2, 231, 224, 3, 2, 2, 2, 231, 232, 3, 2, 2, 2, 232, 12, 3, 2, 2, 2, 233, 234, 7, 50, 2, 2, 234, 235, 7, 122, 2, 2, 235, 237, 3, 2, 2, 2, 236, 238, 5, 9, 5, 2, 237, 236, 3, 2, 2, 2, 238, 239, 3, 2, 2, 2, 239, 237, 3, 2, 2, 2, 239, 240, 3, 2, 2, 2, 240, 251, 3, 2, 2, 2, 241, 242, 7, 90, 2, 2, 242, 244, 5, 143, 72, 2, 243, 245, 5, 9, 5, 2, 244, 243, 3, 2, 2, 2, 245, 246, 3, 2, 2, 2, 246, 244, 3, 2, 2, 2, 246, 247, 3, 2, 2, 2, 247, 248, 3, 2, 2, 2, 248, 249, 5, 143, 72, 2, 249, 251, 3, 2, 2, 2, 250, 233, 3, 2, 2, 2, 250, 241, 3, 2, 2, 2, 251, 14, 3, 2, 2, 2, 252, 253, 7, 50, 2, 2, 253, 254, 7, 100, 2, 2, 254, 256, 3, 2, 2, 2, 255, 257, 4, 50, 51, 2, 256, 255, 3, 2, 2, 2, 257, 258, 3, 2, 2, 2, 258, 256, 3, 2, 2, 2, 258, 259, 3, 2, 2, 2, 259, 270, 3, 2, 2, 2, 260, 261, 5, 21, 11, 2, 261, 263, 5, 143, 72, 2, 262, 264, 4, 50, 51, 2, 263, 262, 3, 2, 2, 2, 264, 265, 3, 2, 2, 2, 265, 263, 3, 2, 2, 2, 265, 266, 3, 2, 2, 2, 266, 267, 3, 2, 2, 2, 267, 268, 5, 143, 72, 2, 268, 270, 3, 2, 2, 2, 269, 252, 3, 2, 2, 2, 269, 260, 3, 2, 2, 2, 270, 16, 3, 2, 2, 2, 271, 272, 7, 70, 2, 2, 272, 273, 7, 81, 2, 2, 273, 274, 7, 34, 2, 2, 274, 275, 7, 80, 2, 2, 275, 276, 7, 81, 2, 2, 276, 277, 7, 86, 2, 2, 277, 278, 7, 34, 2, 2, 278, 279, 7, 79, 2, 2, 279, 280, 7, 67, 2, 2, 280, 281, 7, 86, 2, 2, 281, 282, 7, 69, 2, 2, 282, 283, 7, 74, 2, 2, 283, 284, 7, 34, 2, 2, 284, 285, 7, 67, 2, 2, 285, 286, 7, 80, 2, 2, 286, 287, 7, 91, 2, 2, 287, 288, 7, 34, 2, 2, 288, 289, 7, 86, 2, 2, 289, 290, 7, 74, 2, 2, 290, 291, 7, 75, 2, 2, 291, 292, 7, 80, 2, 2, 292, 293, 7, 73, 2, 2, 293, 294, 7, 46, 2, 2, 294, 295, 7, 34, 2, 2, 295, 296, 7, 76, 2, 2, 296, 297, 7, 87, 2, 2, 297, 298, 7, 85, 2, 2, 298, 299, 7, 86, 2, 2, 299, 300, 7, 34, 2, 2, 300, 301, 7, 72, 2, 2, 301, 302, 7, 81, 2, 2, 302, 303, 7, 84, 2, 2, 303, 304, 7, 34, 2, 2, 304, 305, 7, 73, 2, 2, 305, 306, 7, 71, 2, 2, 306, 307, 7, 80, 2, 2, 307, 308, 7, 71, 2, 2, 308, 309, 7, 84, 2, 2, 309, 310, 7, 67, 2, 2, 310, 311, 7, 86, 2, 2, 311, 312, 7, 81, 2, 2, 312, 313, 7, 84, 2, 2, 313, 18, 3, 2, 2, 2, 314, 315, 9, 9, 2, 2, 315, 20, 3, 2, 2, 2, 316, 317, 9, 10, 2, 2, 317, 22, 3, 2, 2, 2, 318, 319, 9, 11, 2, 2, 319, 24, 3, 2, 2, 2, 320, 321, 9, 12, 2, 2, 321, 26, 3, 2, 2, 2, 322, 323, 9, 13, 2, 2, 323, 28, 3, 2, 2, 2, 324, 325, 9, 14, 2, 2, 325, 30, 3, 2, 2, 2, 326, 327, 9, 15, 2, 2, 327, 32, 3, 2, 2, 2, 328, 329, 9, 16, 2, 2, 329, 34, 3, 2, 2, 2, 330, 331, 9, 17, 2, 2, 331, 36, 3, 2, 2, 2, 332, 333, 9, 18, 2, 2, 333, 38, 3, 2, 2, 2, 334, 335, 9, 19, 2, 2, 335, 40, 3, 2, 2, 2, 336, 337, 9, 20, 2, 2, 337, 42, 3, 2, 2, 2, 338, 339, 9, 21, 2, 2, 339, 44, 3, 2, 2, 2, 340, 341, 9, 22, 2, 2, 341, 46, 3, 2, 2, 2, 342, 343, 9, 23, 2, 2, 343, 48, 3, 2, 2, 2, 344, 345, 9, 24, 2, 2, 345, 50, 3, 2, 2, 2, 346, 347, 9, 25, 2, 2, 347, 52, 3, 2, 2, 2, 348, 349, 9, 26, 2, 2, 349, 54, 3, 2, 2, 2, 350, 351, 9, 27, 2, 2, 351, 56, 3, 2, 2, 2, 352, 353, 9, 28, 2, 2, 353, 58, 3, 2, 2, 2, 354, 355, 9, 29, 2, 2, 355, 60, 3, 2, 2, 2, 356, 357, 9, 30, 2, 2, 357, 62, 3, 2, 2, 2, 358, 359, 9, 31, 2, 2, 359, 64, 3, 2, 2, 2, 360, 361, 9, 32, 2, 2, 361, 66, 3, 2, 2, 2, 362, 363, 9, 33, 2, 2, 363, 68, 3, 2, 2, 2, 364, 365, 9, 34, 2, 2, 365, 70, 3, 2, 2, 2, 366, 367, 7, 97, 2, 2, 367, 72, 3, 2, 2, 2, 368, 369, 7, 40, 2, 2, 369, 370, 7, 40, 2, 2, 370, 74, 3, 2, 2, 2, 371, 372, 7, 126, 2, 2, 372, 373, 7, 126, 2, 2, 373, 76, 3, 2, 2, 2, 374, 375, 7, 35, 2, 2, 375, 78, 3, 2, 2, 2, 376, 377, 7, 128, 2, 2, 377, 80, 3, 2, 2, 2, 378, 379, 7, 126, 2, 2, 379, 82, 3, 2, 2, 2, 380, 381, 7, 40, 2, 2, 381, 84, 3, 2, 2, 2, 382, 383, 7, 62, 2, 2, 383, 384, 7, 62, 2, 2, 384, 86, 3, 2, 2, 2, 385, 386, 7, 64, 2, 2, 386, 387, 7, 64, 2, 2, 387, 88, 3, 2, 2, 2, 388, 389, 7, 96, 2, 2, 389, 90, 3, 2, 2, 2, 390, 391, 7, 39, 2, 2, 391, 92, 3, 2, 2, 2, 392, 393, 7, 60, 2, 2, 393, 94, 3, 2, 2, 2, 394, 395, 7, 45, 2, 2, 395, 96, 3, 2, 2, 2, 396, 397, 7, 47, 2, 2, 397, 98, 3, 2, 2, 2, 398, 399, 7, 44, 2, 2, 399, 100, 3, 2, 2, 2, 400, 401, 7, 49, 2, 2, 401, 102, 3, 2, 2, 2, 402, 403, 7, 94, 2, 2, 403, 104, 3, 2, 2, 2, 404, 405, 7, 48, 2, 2, 405, 106, 3, 2, 2, 2, 406, 407, 7, 48, 2, 2, 407, 408, 7, 44, 2, 2, 408, 108, 3, 2, 2, 2, 409, 410, 7, 62, 2, 2, 410, 411, 7, 63, 2, 2, 411, 412, 7, 64, 2, 2, 412, 110, 3, 2, 2, 2, 413, 414, 7, 63, 2, 2, 414, 415, 7, 63, 2, 2, 415, 112, 3, 2, 2, 2, 416, 417, 7, 63, 2, 2, 417, 114, 3, 2, 2, 2, 418, 419, 7, 62, 2, 2, 419, 423, 7, 64, 2, 2, 420, 421, 7, 35, 2, 2, 421, 423, 7, 63, 2, 2, 422, 418, 3, 2, 2, 2, 422, 420, 3, 2, 2, 2, 423, 116, 3, 2, 2, 2, 424, 425, 7, 64, 2, 2, 425, 118, 3, 2, 2, 2, 426, 427, 7, 64, 2, 2, 427, 428, 7, 63, 2, 2, 428, 120, 3, 2, 2, 2, 429, 430, 7, 62, 2, 2, 430, 122, 3, 2, 2, 2, 431, 432, 7, 62, 2, 2, 432, 433, 7, 63, 2, 2, 433, 124, 3, 2, 2, 2, 434, 435, 7, 37, 2, 2, 435, 126, 3, 2, 2, 2, 436, 437, 7, 42, 2, 2, 437, 128, 3, 2, 2, 2, 438, 439, 7, 43, 2, 2, 439, 130, 3, 2, 2, 2, 440, 441, 7, 125, 2, 2, 441, 132, 3, 2, 2, 2, 442, 443, 7, 127, 2, 2, 443, 134, 3, 2, 2, 2, 444, 445, 7, 93, 2, 2, 445, 136, 3, 2, 2, 2, 446, 447, 7, 95, 2, 2, 447, 138, 3, 2, 2, 2, 448, 449, 7, 46, 2, 2, 449, 140, 3, 2, 2, 2, 450, 451, 7, 36, 2, 2, 451, 142, 3, 2, 2, 2, 452, 453, 7, 41, 2, 2, 453, 144, 3, 2, 2, 2, 454, 455, 7, 98, 2, 2, 455, 146, 3, 2, 2, 2, 456, 457, 7, 65, 2, 2, 457, 148, 3, 2, 2, 2, 458, 459, 7, 66, 2, 2, 459, 150, 3, 2, 2, 2, 460, 461, 7, 61, 2, 2, 461, 152, 3, 2, 2, 2, 462, 463, 7, 47, 2, 2, 463, 464, 7, 64, 2, 2, 464, 465, 7, 64, 2, 2, 465, 154, 3, 2, 2, 2, 25, 2, 158, 164, 169, 176, 180, 188, 190, 201, 203, 208, 213, 218, 221, 227, 231, 239, 246, 250, 258, 265, 269, 422, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Literals.java b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Literals.java new file mode 100644 index 00000000..575bad02 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Literals.java @@ -0,0 +1,298 @@ +// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/Literals.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.misc.*; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class Literals extends Lexer { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + IDENTIFIER_=1, STRING_=2, INT_=3, HEX_=4, NUMBER_=5, HEXDIGIT_=6, BITNUM_=7, + FOR_GENERATOR=8, AND_=9, OR_=10, NOT_=11, TILDE_=12, VERTICALBAR_=13, + AMPERSAND_=14, SIGNEDLEFTSHIFT_=15, SIGNEDRIGHTSHIFT_=16, CARET_=17, MOD_=18, + COLON_=19, PLUS_=20, MINUS_=21, ASTERISK_=22, SLASH_=23, BACKSLASH_=24, + DOT_=25, DOTASTERISK_=26, SAFEEQ_=27, DEQ_=28, EQ_=29, NEQ_=30, GT_=31, + GTE_=32, LT_=33, LTE_=34, POUND_=35, LP_=36, RP_=37, LBE_=38, RBE_=39, + LBT_=40, RBT_=41, COMMA_=42, DQ_=43, SQ_=44, BQ_=45, QUESTION_=46, AT_=47, + SEMI_=48, JSONSEPARATOR_=49; + public static String[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + + public static String[] modeNames = { + "DEFAULT_MODE" + }; + + private static String[] makeRuleNames() { + return new String[] { + "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_", + "FOR_GENERATOR", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", + "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", + "Z", "UL_", "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", + "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", + "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", + "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", + "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", + "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, null, null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'", + "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", "'%'", + "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", "'=='", + "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", "'{'", + "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", "';'", + "'->>'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", + "BITNUM_", "FOR_GENERATOR", "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", + "AMPERSAND_", "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", + "COLON_", "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", + "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", + "LTE_", "POUND_", "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", + "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + + public Literals(CharStream input) { + super(input); + _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + @Override + public String getGrammarFileName() { return "Literals.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public String[] getChannelNames() { return channelNames; } + + @Override + public String[] getModeNames() { return modeNames; } + + @Override + public ATN getATN() { return _ATN; } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2\63\u01d2\b\1\4\2"+ + "\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4"+ + "\13\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22"+ + "\t\22\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31"+ + "\t\31\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t"+ + " \4!\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t"+ + "+\4,\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64"+ + "\t\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t"+ + "=\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4"+ + "I\tI\4J\tJ\4K\tK\4L\tL\4M\tM\3\2\7\2\u009d\n\2\f\2\16\2\u00a0\13\2\3\2"+ + "\6\2\u00a3\n\2\r\2\16\2\u00a4\3\2\7\2\u00a8\n\2\f\2\16\2\u00ab\13\2\3"+ + "\2\3\2\6\2\u00af\n\2\r\2\16\2\u00b0\3\2\3\2\5\2\u00b5\n\2\3\3\3\3\3\3"+ + "\3\3\3\3\3\3\7\3\u00bd\n\3\f\3\16\3\u00c0\13\3\3\3\3\3\3\3\3\3\3\3\3\3"+ + "\3\3\3\3\7\3\u00ca\n\3\f\3\16\3\u00cd\13\3\3\3\3\3\5\3\u00d1\n\3\3\4\6"+ + "\4\u00d4\n\4\r\4\16\4\u00d5\3\5\3\5\3\6\5\6\u00db\n\6\3\6\5\6\u00de\n"+ + "\6\3\6\3\6\3\6\3\6\5\6\u00e4\n\6\3\6\3\6\5\6\u00e8\n\6\3\7\3\7\3\7\3\7"+ + "\6\7\u00ee\n\7\r\7\16\7\u00ef\3\7\3\7\3\7\6\7\u00f5\n\7\r\7\16\7\u00f6"+ + "\3\7\3\7\5\7\u00fb\n\7\3\b\3\b\3\b\3\b\6\b\u0101\n\b\r\b\16\b\u0102\3"+ + "\b\3\b\3\b\6\b\u0108\n\b\r\b\16\b\u0109\3\b\3\b\5\b\u010e\n\b\3\t\3\t"+ + "\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3"+ + "\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t"+ + "\3\t\3\t\3\t\3\t\3\t\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3"+ + "\17\3\17\3\20\3\20\3\21\3\21\3\22\3\22\3\23\3\23\3\24\3\24\3\25\3\25\3"+ + "\26\3\26\3\27\3\27\3\30\3\30\3\31\3\31\3\32\3\32\3\33\3\33\3\34\3\34\3"+ + "\35\3\35\3\36\3\36\3\37\3\37\3 \3 \3!\3!\3\"\3\"\3#\3#\3$\3$\3%\3%\3%"+ + "\3&\3&\3&\3\'\3\'\3(\3(\3)\3)\3*\3*\3+\3+\3+\3,\3,\3,\3-\3-\3.\3.\3/\3"+ + "/\3\60\3\60\3\61\3\61\3\62\3\62\3\63\3\63\3\64\3\64\3\65\3\65\3\66\3\66"+ + "\3\66\3\67\3\67\3\67\3\67\38\38\38\39\39\3:\3:\3:\3:\5:\u01a7\n:\3;\3"+ + ";\3<\3<\3<\3=\3=\3>\3>\3>\3?\3?\3@\3@\3A\3A\3B\3B\3C\3C\3D\3D\3E\3E\3"+ + "F\3F\3G\3G\3H\3H\3I\3I\3J\3J\3K\3K\3L\3L\3M\3M\3M\3M\4\u009e\u00a4\2N"+ + "\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23\2\25\2\27\2\31\2\33\2\35\2\37\2"+ + "!\2#\2%\2\'\2)\2+\2-\2/\2\61\2\63\2\65\2\67\29\2;\2=\2?\2A\2C\2E\2G\2"+ + "I\13K\fM\rO\16Q\17S\20U\21W\22Y\23[\24]\25_\26a\27c\30e\31g\32i\33k\34"+ + "m\35o\36q\37s u!w\"y#{$}%\177&\u0081\'\u0083(\u0085)\u0087*\u0089+\u008b"+ + ",\u008d-\u008f.\u0091/\u0093\60\u0095\61\u0097\62\u0099\63\3\2#\7\2&&"+ + "\62;C\\aac|\6\2&&C\\aac|\3\2bb\4\2$$^^\4\2))^^\3\2\62;\5\2\62;CHch\4\2"+ + "CCcc\4\2DDdd\4\2EEee\4\2FFff\4\2GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4"+ + "\2LLll\4\2MMmm\4\2NNnn\4\2OOoo\4\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4\2TTt"+ + "t\4\2UUuu\4\2VVvv\4\2WWww\4\2XXxx\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\||\2"+ + "\u01cf\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2"+ + "\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2\2\2\2I\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2"+ + "\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2["+ + "\3\2\2\2\2]\3\2\2\2\2_\3\2\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3\2"+ + "\2\2\2i\3\2\2\2\2k\3\2\2\2\2m\3\2\2\2\2o\3\2\2\2\2q\3\2\2\2\2s\3\2\2\2"+ + "\2u\3\2\2\2\2w\3\2\2\2\2y\3\2\2\2\2{\3\2\2\2\2}\3\2\2\2\2\177\3\2\2\2"+ + "\2\u0081\3\2\2\2\2\u0083\3\2\2\2\2\u0085\3\2\2\2\2\u0087\3\2\2\2\2\u0089"+ + "\3\2\2\2\2\u008b\3\2\2\2\2\u008d\3\2\2\2\2\u008f\3\2\2\2\2\u0091\3\2\2"+ + "\2\2\u0093\3\2\2\2\2\u0095\3\2\2\2\2\u0097\3\2\2\2\2\u0099\3\2\2\2\3\u00b4"+ + "\3\2\2\2\5\u00d0\3\2\2\2\7\u00d3\3\2\2\2\t\u00d7\3\2\2\2\13\u00da\3\2"+ + "\2\2\r\u00fa\3\2\2\2\17\u010d\3\2\2\2\21\u010f\3\2\2\2\23\u013a\3\2\2"+ + "\2\25\u013c\3\2\2\2\27\u013e\3\2\2\2\31\u0140\3\2\2\2\33\u0142\3\2\2\2"+ + "\35\u0144\3\2\2\2\37\u0146\3\2\2\2!\u0148\3\2\2\2#\u014a\3\2\2\2%\u014c"+ + "\3\2\2\2\'\u014e\3\2\2\2)\u0150\3\2\2\2+\u0152\3\2\2\2-\u0154\3\2\2\2"+ + "/\u0156\3\2\2\2\61\u0158\3\2\2\2\63\u015a\3\2\2\2\65\u015c\3\2\2\2\67"+ + "\u015e\3\2\2\29\u0160\3\2\2\2;\u0162\3\2\2\2=\u0164\3\2\2\2?\u0166\3\2"+ + "\2\2A\u0168\3\2\2\2C\u016a\3\2\2\2E\u016c\3\2\2\2G\u016e\3\2\2\2I\u0170"+ + "\3\2\2\2K\u0173\3\2\2\2M\u0176\3\2\2\2O\u0178\3\2\2\2Q\u017a\3\2\2\2S"+ + "\u017c\3\2\2\2U\u017e\3\2\2\2W\u0181\3\2\2\2Y\u0184\3\2\2\2[\u0186\3\2"+ + "\2\2]\u0188\3\2\2\2_\u018a\3\2\2\2a\u018c\3\2\2\2c\u018e\3\2\2\2e\u0190"+ + "\3\2\2\2g\u0192\3\2\2\2i\u0194\3\2\2\2k\u0196\3\2\2\2m\u0199\3\2\2\2o"+ + "\u019d\3\2\2\2q\u01a0\3\2\2\2s\u01a6\3\2\2\2u\u01a8\3\2\2\2w\u01aa\3\2"+ + "\2\2y\u01ad\3\2\2\2{\u01af\3\2\2\2}\u01b2\3\2\2\2\177\u01b4\3\2\2\2\u0081"+ + "\u01b6\3\2\2\2\u0083\u01b8\3\2\2\2\u0085\u01ba\3\2\2\2\u0087\u01bc\3\2"+ + "\2\2\u0089\u01be\3\2\2\2\u008b\u01c0\3\2\2\2\u008d\u01c2\3\2\2\2\u008f"+ + "\u01c4\3\2\2\2\u0091\u01c6\3\2\2\2\u0093\u01c8\3\2\2\2\u0095\u01ca\3\2"+ + "\2\2\u0097\u01cc\3\2\2\2\u0099\u01ce\3\2\2\2\u009b\u009d\t\2\2\2\u009c"+ + "\u009b\3\2\2\2\u009d\u00a0\3\2\2\2\u009e\u009f\3\2\2\2\u009e\u009c\3\2"+ + "\2\2\u009f\u00a2\3\2\2\2\u00a0\u009e\3\2\2\2\u00a1\u00a3\t\3\2\2\u00a2"+ + "\u00a1\3\2\2\2\u00a3\u00a4\3\2\2\2\u00a4\u00a5\3\2\2\2\u00a4\u00a2\3\2"+ + "\2\2\u00a5\u00a9\3\2\2\2\u00a6\u00a8\t\2\2\2\u00a7\u00a6\3\2\2\2\u00a8"+ + "\u00ab\3\2\2\2\u00a9\u00a7\3\2\2\2\u00a9\u00aa\3\2\2\2\u00aa\u00b5\3\2"+ + "\2\2\u00ab\u00a9\3\2\2\2\u00ac\u00ae\5\u0091I\2\u00ad\u00af\n\4\2\2\u00ae"+ + "\u00ad\3\2\2\2\u00af\u00b0\3\2\2\2\u00b0\u00ae\3\2\2\2\u00b0\u00b1\3\2"+ + "\2\2\u00b1\u00b2\3\2\2\2\u00b2\u00b3\5\u0091I\2\u00b3\u00b5\3\2\2\2\u00b4"+ + "\u009e\3\2\2\2\u00b4\u00ac\3\2\2\2\u00b5\4\3\2\2\2\u00b6\u00be\5\u008d"+ + "G\2\u00b7\u00b8\7^\2\2\u00b8\u00bd\13\2\2\2\u00b9\u00ba\7$\2\2\u00ba\u00bd"+ + "\7$\2\2\u00bb\u00bd\n\5\2\2\u00bc\u00b7\3\2\2\2\u00bc\u00b9\3\2\2\2\u00bc"+ + "\u00bb\3\2\2\2\u00bd\u00c0\3\2\2\2\u00be\u00bc\3\2\2\2\u00be\u00bf\3\2"+ + "\2\2\u00bf\u00c1\3\2\2\2\u00c0\u00be\3\2\2\2\u00c1\u00c2\5\u008dG\2\u00c2"+ + "\u00d1\3\2\2\2\u00c3\u00cb\5\u008fH\2\u00c4\u00c5\7^\2\2\u00c5\u00ca\13"+ + "\2\2\2\u00c6\u00c7\7)\2\2\u00c7\u00ca\7)\2\2\u00c8\u00ca\n\6\2\2\u00c9"+ + "\u00c4\3\2\2\2\u00c9\u00c6\3\2\2\2\u00c9\u00c8\3\2\2\2\u00ca\u00cd\3\2"+ + "\2\2\u00cb\u00c9\3\2\2\2\u00cb\u00cc\3\2\2\2\u00cc\u00ce\3\2\2\2\u00cd"+ + "\u00cb\3\2\2\2\u00ce\u00cf\5\u008fH\2\u00cf\u00d1\3\2\2\2\u00d0\u00b6"+ + "\3\2\2\2\u00d0\u00c3\3\2\2\2\u00d1\6\3\2\2\2\u00d2\u00d4\t\7\2\2\u00d3"+ + "\u00d2\3\2\2\2\u00d4\u00d5\3\2\2\2\u00d5\u00d3\3\2\2\2\u00d5\u00d6\3\2"+ + "\2\2\u00d6\b\3\2\2\2\u00d7\u00d8\t\b\2\2\u00d8\n\3\2\2\2\u00d9\u00db\5"+ + "\7\4\2\u00da\u00d9\3\2\2\2\u00da\u00db\3\2\2\2\u00db\u00dd\3\2\2\2\u00dc"+ + "\u00de\5i\65\2\u00dd\u00dc\3\2\2\2\u00dd\u00de\3\2\2\2\u00de\u00df\3\2"+ + "\2\2\u00df\u00e7\5\7\4\2\u00e0\u00e3\5\33\16\2\u00e1\u00e4\5_\60\2\u00e2"+ + "\u00e4\5a\61\2\u00e3\u00e1\3\2\2\2\u00e3\u00e2\3\2\2\2\u00e3\u00e4\3\2"+ + "\2\2\u00e4\u00e5\3\2\2\2\u00e5\u00e6\5\7\4\2\u00e6\u00e8\3\2\2\2\u00e7"+ + "\u00e0\3\2\2\2\u00e7\u00e8\3\2\2\2\u00e8\f\3\2\2\2\u00e9\u00ea\7\62\2"+ + "\2\u00ea\u00eb\7z\2\2\u00eb\u00ed\3\2\2\2\u00ec\u00ee\5\t\5\2\u00ed\u00ec"+ + "\3\2\2\2\u00ee\u00ef\3\2\2\2\u00ef\u00ed\3\2\2\2\u00ef\u00f0\3\2\2\2\u00f0"+ + "\u00fb\3\2\2\2\u00f1\u00f2\7Z\2\2\u00f2\u00f4\5\u008fH\2\u00f3\u00f5\5"+ + "\t\5\2\u00f4\u00f3\3\2\2\2\u00f5\u00f6\3\2\2\2\u00f6\u00f4\3\2\2\2\u00f6"+ + "\u00f7\3\2\2\2\u00f7\u00f8\3\2\2\2\u00f8\u00f9\5\u008fH\2\u00f9\u00fb"+ + "\3\2\2\2\u00fa\u00e9\3\2\2\2\u00fa\u00f1\3\2\2\2\u00fb\16\3\2\2\2\u00fc"+ + "\u00fd\7\62\2\2\u00fd\u00fe\7d\2\2\u00fe\u0100\3\2\2\2\u00ff\u0101\4\62"+ + "\63\2\u0100\u00ff\3\2\2\2\u0101\u0102\3\2\2\2\u0102\u0100\3\2\2\2\u0102"+ + "\u0103\3\2\2\2\u0103\u010e\3\2\2\2\u0104\u0105\5\25\13\2\u0105\u0107\5"+ + "\u008fH\2\u0106\u0108\4\62\63\2\u0107\u0106\3\2\2\2\u0108\u0109\3\2\2"+ + "\2\u0109\u0107\3\2\2\2\u0109\u010a\3\2\2\2\u010a\u010b\3\2\2\2\u010b\u010c"+ + "\5\u008fH\2\u010c\u010e\3\2\2\2\u010d\u00fc\3\2\2\2\u010d\u0104\3\2\2"+ + "\2\u010e\20\3\2\2\2\u010f\u0110\7F\2\2\u0110\u0111\7Q\2\2\u0111\u0112"+ + "\7\"\2\2\u0112\u0113\7P\2\2\u0113\u0114\7Q\2\2\u0114\u0115\7V\2\2\u0115"+ + "\u0116\7\"\2\2\u0116\u0117\7O\2\2\u0117\u0118\7C\2\2\u0118\u0119\7V\2"+ + "\2\u0119\u011a\7E\2\2\u011a\u011b\7J\2\2\u011b\u011c\7\"\2\2\u011c\u011d"+ + "\7C\2\2\u011d\u011e\7P\2\2\u011e\u011f\7[\2\2\u011f\u0120\7\"\2\2\u0120"+ + "\u0121\7V\2\2\u0121\u0122\7J\2\2\u0122\u0123\7K\2\2\u0123\u0124\7P\2\2"+ + "\u0124\u0125\7I\2\2\u0125\u0126\7.\2\2\u0126\u0127\7\"\2\2\u0127\u0128"+ + "\7L\2\2\u0128\u0129\7W\2\2\u0129\u012a\7U\2\2\u012a\u012b\7V\2\2\u012b"+ + "\u012c\7\"\2\2\u012c\u012d\7H\2\2\u012d\u012e\7Q\2\2\u012e\u012f\7T\2"+ + "\2\u012f\u0130\7\"\2\2\u0130\u0131\7I\2\2\u0131\u0132\7G\2\2\u0132\u0133"+ + "\7P\2\2\u0133\u0134\7G\2\2\u0134\u0135\7T\2\2\u0135\u0136\7C\2\2\u0136"+ + "\u0137\7V\2\2\u0137\u0138\7Q\2\2\u0138\u0139\7T\2\2\u0139\22\3\2\2\2\u013a"+ + "\u013b\t\t\2\2\u013b\24\3\2\2\2\u013c\u013d\t\n\2\2\u013d\26\3\2\2\2\u013e"+ + "\u013f\t\13\2\2\u013f\30\3\2\2\2\u0140\u0141\t\f\2\2\u0141\32\3\2\2\2"+ + "\u0142\u0143\t\r\2\2\u0143\34\3\2\2\2\u0144\u0145\t\16\2\2\u0145\36\3"+ + "\2\2\2\u0146\u0147\t\17\2\2\u0147 \3\2\2\2\u0148\u0149\t\20\2\2\u0149"+ + "\"\3\2\2\2\u014a\u014b\t\21\2\2\u014b$\3\2\2\2\u014c\u014d\t\22\2\2\u014d"+ + "&\3\2\2\2\u014e\u014f\t\23\2\2\u014f(\3\2\2\2\u0150\u0151\t\24\2\2\u0151"+ + "*\3\2\2\2\u0152\u0153\t\25\2\2\u0153,\3\2\2\2\u0154\u0155\t\26\2\2\u0155"+ + ".\3\2\2\2\u0156\u0157\t\27\2\2\u0157\60\3\2\2\2\u0158\u0159\t\30\2\2\u0159"+ + "\62\3\2\2\2\u015a\u015b\t\31\2\2\u015b\64\3\2\2\2\u015c\u015d\t\32\2\2"+ + "\u015d\66\3\2\2\2\u015e\u015f\t\33\2\2\u015f8\3\2\2\2\u0160\u0161\t\34"+ + "\2\2\u0161:\3\2\2\2\u0162\u0163\t\35\2\2\u0163<\3\2\2\2\u0164\u0165\t"+ + "\36\2\2\u0165>\3\2\2\2\u0166\u0167\t\37\2\2\u0167@\3\2\2\2\u0168\u0169"+ + "\t \2\2\u0169B\3\2\2\2\u016a\u016b\t!\2\2\u016bD\3\2\2\2\u016c\u016d\t"+ + "\"\2\2\u016dF\3\2\2\2\u016e\u016f\7a\2\2\u016fH\3\2\2\2\u0170\u0171\7"+ + "(\2\2\u0171\u0172\7(\2\2\u0172J\3\2\2\2\u0173\u0174\7~\2\2\u0174\u0175"+ + "\7~\2\2\u0175L\3\2\2\2\u0176\u0177\7#\2\2\u0177N\3\2\2\2\u0178\u0179\7"+ + "\u0080\2\2\u0179P\3\2\2\2\u017a\u017b\7~\2\2\u017bR\3\2\2\2\u017c\u017d"+ + "\7(\2\2\u017dT\3\2\2\2\u017e\u017f\7>\2\2\u017f\u0180\7>\2\2\u0180V\3"+ + "\2\2\2\u0181\u0182\7@\2\2\u0182\u0183\7@\2\2\u0183X\3\2\2\2\u0184\u0185"+ + "\7`\2\2\u0185Z\3\2\2\2\u0186\u0187\7\'\2\2\u0187\\\3\2\2\2\u0188\u0189"+ + "\7<\2\2\u0189^\3\2\2\2\u018a\u018b\7-\2\2\u018b`\3\2\2\2\u018c\u018d\7"+ + "/\2\2\u018db\3\2\2\2\u018e\u018f\7,\2\2\u018fd\3\2\2\2\u0190\u0191\7\61"+ + "\2\2\u0191f\3\2\2\2\u0192\u0193\7^\2\2\u0193h\3\2\2\2\u0194\u0195\7\60"+ + "\2\2\u0195j\3\2\2\2\u0196\u0197\7\60\2\2\u0197\u0198\7,\2\2\u0198l\3\2"+ + "\2\2\u0199\u019a\7>\2\2\u019a\u019b\7?\2\2\u019b\u019c\7@\2\2\u019cn\3"+ + "\2\2\2\u019d\u019e\7?\2\2\u019e\u019f\7?\2\2\u019fp\3\2\2\2\u01a0\u01a1"+ + "\7?\2\2\u01a1r\3\2\2\2\u01a2\u01a3\7>\2\2\u01a3\u01a7\7@\2\2\u01a4\u01a5"+ + "\7#\2\2\u01a5\u01a7\7?\2\2\u01a6\u01a2\3\2\2\2\u01a6\u01a4\3\2\2\2\u01a7"+ + "t\3\2\2\2\u01a8\u01a9\7@\2\2\u01a9v\3\2\2\2\u01aa\u01ab\7@\2\2\u01ab\u01ac"+ + "\7?\2\2\u01acx\3\2\2\2\u01ad\u01ae\7>\2\2\u01aez\3\2\2\2\u01af\u01b0\7"+ + ">\2\2\u01b0\u01b1\7?\2\2\u01b1|\3\2\2\2\u01b2\u01b3\7%\2\2\u01b3~\3\2"+ + "\2\2\u01b4\u01b5\7*\2\2\u01b5\u0080\3\2\2\2\u01b6\u01b7\7+\2\2\u01b7\u0082"+ + "\3\2\2\2\u01b8\u01b9\7}\2\2\u01b9\u0084\3\2\2\2\u01ba\u01bb\7\177\2\2"+ + "\u01bb\u0086\3\2\2\2\u01bc\u01bd\7]\2\2\u01bd\u0088\3\2\2\2\u01be\u01bf"+ + "\7_\2\2\u01bf\u008a\3\2\2\2\u01c0\u01c1\7.\2\2\u01c1\u008c\3\2\2\2\u01c2"+ + "\u01c3\7$\2\2\u01c3\u008e\3\2\2\2\u01c4\u01c5\7)\2\2\u01c5\u0090\3\2\2"+ + "\2\u01c6\u01c7\7b\2\2\u01c7\u0092\3\2\2\2\u01c8\u01c9\7A\2\2\u01c9\u0094"+ + "\3\2\2\2\u01ca\u01cb\7B\2\2\u01cb\u0096\3\2\2\2\u01cc\u01cd\7=\2\2\u01cd"+ + "\u0098\3\2\2\2\u01ce\u01cf\7/\2\2\u01cf\u01d0\7@\2\2\u01d0\u01d1\7@\2"+ + "\2\u01d1\u009a\3\2\2\2\31\2\u009e\u00a4\u00a9\u00b0\u00b4\u00bc\u00be"+ + "\u00c9\u00cb\u00d0\u00d5\u00da\u00dd\u00e3\u00e7\u00ef\u00f6\u00fa\u0102"+ + "\u0109\u010d\u01a6\2"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Literals.tokens b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Literals.tokens new file mode 100644 index 00000000..d01c01fa --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Literals.tokens @@ -0,0 +1,90 @@ +IDENTIFIER_=1 +STRING_=2 +INT_=3 +HEX_=4 +NUMBER_=5 +HEXDIGIT_=6 +BITNUM_=7 +FOR_GENERATOR=8 +AND_=9 +OR_=10 +NOT_=11 +TILDE_=12 +VERTICALBAR_=13 +AMPERSAND_=14 +SIGNEDLEFTSHIFT_=15 +SIGNEDRIGHTSHIFT_=16 +CARET_=17 +MOD_=18 +COLON_=19 +PLUS_=20 +MINUS_=21 +ASTERISK_=22 +SLASH_=23 +BACKSLASH_=24 +DOT_=25 +DOTASTERISK_=26 +SAFEEQ_=27 +DEQ_=28 +EQ_=29 +NEQ_=30 +GT_=31 +GTE_=32 +LT_=33 +LTE_=34 +POUND_=35 +LP_=36 +RP_=37 +LBE_=38 +RBE_=39 +LBT_=40 +RBT_=41 +COMMA_=42 +DQ_=43 +SQ_=44 +BQ_=45 +QUESTION_=46 +AT_=47 +SEMI_=48 +JSONSEPARATOR_=49 +'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=8 +'&&'=9 +'||'=10 +'!'=11 +'~'=12 +'|'=13 +'&'=14 +'<<'=15 +'>>'=16 +'^'=17 +'%'=18 +':'=19 +'+'=20 +'-'=21 +'*'=22 +'/'=23 +'\\'=24 +'.'=25 +'.*'=26 +'<=>'=27 +'=='=28 +'='=29 +'>'=31 +'>='=32 +'<'=33 +'<='=34 +'#'=35 +'('=36 +')'=37 +'{'=38 +'}'=39 +'['=40 +']'=41 +','=42 +'"'=43 +'\''=44 +'`'=45 +'?'=46 +'@'=47 +';'=48 +'->>'=49 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatement.interp b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatement.interp new file mode 100644 index 00000000..b4a67393 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatement.interp @@ -0,0 +1,181 @@ +token literal names: +null +'&&' +'||' +'!' +'~' +'|' +'&' +'<<' +'>>' +'^' +'%' +':' +'+' +'-' +'*' +'/' +'\\' +'.' +'.*' +'<=>' +'==' +'=' +null +'>' +'>=' +'<' +'<=' +'#' +'(' +')' +'{' +'}' +'[' +']' +',' +'"' +'\'' +'`' +'?' +'@' +';' +'->>' +'_' +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +'DO NOT MATCH ANY THING, JUST FOR GENERATOR' +null +null +null +null +null +null +null + +token symbolic names: +null +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ +WS +TRUE +FALSE +CREATE +ALTER +DROP +SHOW +RULE +FROM +READWRITE_SPLITTING +WRITE_STORAGE_UNIT +READ_STORAGE_UNITS +TRANSACTIONAL_READ_QUERY_STRATEGY +TYPE +NAME +PROPERTIES +RULES +RESOURCES +STATUS +ENABLE +DISABLE +READ +IF +EXISTS +COUNT +ROUND_ROBIN +RANDOM +WEIGHT +NOT +FOR_GENERATOR +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ + +rule names: +alterReadwriteSplittingStorageUnitStatus +showStatusFromReadwriteSplittingRules +literal +algorithmDefinition +algorithmTypeName +buildInReadQueryLoadBalanceAlgorithmType +propertiesDefinition +properties +property +databaseName +groupName +storageUnitName + + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 81, 103, 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, 3, 2, 3, 2, 3, 2, 3, 2, 5, 2, 31, 10, 2, 3, 2, 3, 2, 3, 2, 3, 2, 5, 2, 37, 10, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 46, 10, 3, 3, 3, 3, 3, 5, 3, 50, 10, 3, 3, 4, 3, 4, 5, 4, 54, 10, 4, 3, 4, 3, 4, 3, 4, 5, 4, 59, 10, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 5, 5, 68, 10, 5, 3, 5, 3, 5, 3, 6, 3, 6, 5, 6, 74, 10, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 5, 8, 81, 10, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 7, 9, 88, 10, 9, 12, 9, 14, 9, 91, 11, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 2, 2, 14, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 2, 4, 3, 2, 64, 65, 3, 2, 70, 72, 2, 102, 2, 26, 3, 2, 2, 2, 4, 38, 3, 2, 2, 2, 6, 58, 3, 2, 2, 2, 8, 60, 3, 2, 2, 2, 10, 73, 3, 2, 2, 2, 12, 75, 3, 2, 2, 2, 14, 77, 3, 2, 2, 2, 16, 84, 3, 2, 2, 2, 18, 92, 3, 2, 2, 2, 20, 96, 3, 2, 2, 2, 22, 98, 3, 2, 2, 2, 24, 100, 3, 2, 2, 2, 26, 27, 7, 49, 2, 2, 27, 28, 7, 54, 2, 2, 28, 30, 7, 52, 2, 2, 29, 31, 5, 22, 12, 2, 30, 29, 3, 2, 2, 2, 30, 31, 3, 2, 2, 2, 31, 32, 3, 2, 2, 2, 32, 33, 9, 2, 2, 2, 33, 36, 5, 24, 13, 2, 34, 35, 7, 53, 2, 2, 35, 37, 5, 20, 11, 2, 36, 34, 3, 2, 2, 2, 36, 37, 3, 2, 2, 2, 37, 3, 3, 2, 2, 2, 38, 39, 7, 51, 2, 2, 39, 40, 7, 63, 2, 2, 40, 41, 7, 53, 2, 2, 41, 45, 7, 54, 2, 2, 42, 46, 7, 61, 2, 2, 43, 44, 7, 52, 2, 2, 44, 46, 5, 22, 12, 2, 45, 42, 3, 2, 2, 2, 45, 43, 3, 2, 2, 2, 46, 49, 3, 2, 2, 2, 47, 48, 7, 53, 2, 2, 48, 50, 5, 20, 11, 2, 49, 47, 3, 2, 2, 2, 49, 50, 3, 2, 2, 2, 50, 5, 3, 2, 2, 2, 51, 59, 7, 76, 2, 2, 52, 54, 7, 15, 2, 2, 53, 52, 3, 2, 2, 2, 53, 54, 3, 2, 2, 2, 54, 55, 3, 2, 2, 2, 55, 59, 7, 77, 2, 2, 56, 59, 7, 46, 2, 2, 57, 59, 7, 47, 2, 2, 58, 51, 3, 2, 2, 2, 58, 53, 3, 2, 2, 2, 58, 56, 3, 2, 2, 2, 58, 57, 3, 2, 2, 2, 59, 7, 3, 2, 2, 2, 60, 61, 7, 58, 2, 2, 61, 62, 7, 30, 2, 2, 62, 63, 7, 59, 2, 2, 63, 64, 7, 23, 2, 2, 64, 67, 5, 10, 6, 2, 65, 66, 7, 36, 2, 2, 66, 68, 5, 14, 8, 2, 67, 65, 3, 2, 2, 2, 67, 68, 3, 2, 2, 2, 68, 69, 3, 2, 2, 2, 69, 70, 7, 31, 2, 2, 70, 9, 3, 2, 2, 2, 71, 74, 7, 76, 2, 2, 72, 74, 5, 12, 7, 2, 73, 71, 3, 2, 2, 2, 73, 72, 3, 2, 2, 2, 74, 11, 3, 2, 2, 2, 75, 76, 9, 3, 2, 2, 76, 13, 3, 2, 2, 2, 77, 78, 7, 60, 2, 2, 78, 80, 7, 30, 2, 2, 79, 81, 5, 16, 9, 2, 80, 79, 3, 2, 2, 2, 80, 81, 3, 2, 2, 2, 81, 82, 3, 2, 2, 2, 82, 83, 7, 31, 2, 2, 83, 15, 3, 2, 2, 2, 84, 89, 5, 18, 10, 2, 85, 86, 7, 36, 2, 2, 86, 88, 5, 18, 10, 2, 87, 85, 3, 2, 2, 2, 88, 91, 3, 2, 2, 2, 89, 87, 3, 2, 2, 2, 89, 90, 3, 2, 2, 2, 90, 17, 3, 2, 2, 2, 91, 89, 3, 2, 2, 2, 92, 93, 7, 76, 2, 2, 93, 94, 7, 23, 2, 2, 94, 95, 5, 6, 4, 2, 95, 19, 3, 2, 2, 2, 96, 97, 7, 75, 2, 2, 97, 21, 3, 2, 2, 2, 98, 99, 7, 75, 2, 2, 99, 23, 3, 2, 2, 2, 100, 101, 7, 75, 2, 2, 101, 25, 3, 2, 2, 2, 12, 30, 36, 45, 49, 53, 58, 67, 73, 80, 89] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatement.tokens b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatement.tokens new file mode 100644 index 00000000..8f1734a8 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatement.tokens @@ -0,0 +1,121 @@ +AND_=1 +OR_=2 +NOT_=3 +TILDE_=4 +VERTICALBAR_=5 +AMPERSAND_=6 +SIGNEDLEFTSHIFT_=7 +SIGNEDRIGHTSHIFT_=8 +CARET_=9 +MOD_=10 +COLON_=11 +PLUS_=12 +MINUS_=13 +ASTERISK_=14 +SLASH_=15 +BACKSLASH_=16 +DOT_=17 +DOTASTERISK_=18 +SAFEEQ_=19 +DEQ_=20 +EQ_=21 +NEQ_=22 +GT_=23 +GTE_=24 +LT_=25 +LTE_=26 +POUND_=27 +LP_=28 +RP_=29 +LBE_=30 +RBE_=31 +LBT_=32 +RBT_=33 +COMMA_=34 +DQ_=35 +SQ_=36 +BQ_=37 +QUESTION_=38 +AT_=39 +SEMI_=40 +JSONSEPARATOR_=41 +UL_=42 +WS=43 +TRUE=44 +FALSE=45 +CREATE=46 +ALTER=47 +DROP=48 +SHOW=49 +RULE=50 +FROM=51 +READWRITE_SPLITTING=52 +WRITE_STORAGE_UNIT=53 +READ_STORAGE_UNITS=54 +TRANSACTIONAL_READ_QUERY_STRATEGY=55 +TYPE=56 +NAME=57 +PROPERTIES=58 +RULES=59 +RESOURCES=60 +STATUS=61 +ENABLE=62 +DISABLE=63 +READ=64 +IF=65 +EXISTS=66 +COUNT=67 +ROUND_ROBIN=68 +RANDOM=69 +WEIGHT=70 +NOT=71 +FOR_GENERATOR=72 +IDENTIFIER_=73 +STRING_=74 +INT_=75 +HEX_=76 +NUMBER_=77 +HEXDIGIT_=78 +BITNUM_=79 +'&&'=1 +'||'=2 +'!'=3 +'~'=4 +'|'=5 +'&'=6 +'<<'=7 +'>>'=8 +'^'=9 +'%'=10 +':'=11 +'+'=12 +'-'=13 +'*'=14 +'/'=15 +'\\'=16 +'.'=17 +'.*'=18 +'<=>'=19 +'=='=20 +'='=21 +'>'=23 +'>='=24 +'<'=25 +'<='=26 +'#'=27 +'('=28 +')'=29 +'{'=30 +'}'=31 +'['=32 +']'=33 +','=34 +'"'=35 +'\''=36 +'`'=37 +'?'=38 +'@'=39 +';'=40 +'->>'=41 +'_'=42 +'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=72 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementLexer.interp b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementLexer.interp new file mode 100644 index 00000000..3301b273 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementLexer.interp @@ -0,0 +1,280 @@ +token literal names: +null +'&&' +'||' +'!' +'~' +'|' +'&' +'<<' +'>>' +'^' +'%' +':' +'+' +'-' +'*' +'/' +'\\' +'.' +'.*' +'<=>' +'==' +'=' +null +'>' +'>=' +'<' +'<=' +'#' +'(' +')' +'{' +'}' +'[' +']' +',' +'"' +'\'' +'`' +'?' +'@' +';' +'->>' +'_' +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +'DO NOT MATCH ANY THING, JUST FOR GENERATOR' +null +null +null +null +null +null +null + +token symbolic names: +null +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ +WS +TRUE +FALSE +CREATE +ALTER +DROP +SHOW +RULE +FROM +READWRITE_SPLITTING +WRITE_STORAGE_UNIT +READ_STORAGE_UNITS +TRANSACTIONAL_READ_QUERY_STRATEGY +TYPE +NAME +PROPERTIES +RULES +RESOURCES +STATUS +ENABLE +DISABLE +READ +IF +EXISTS +COUNT +ROUND_ROBIN +RANDOM +WEIGHT +NOT +FOR_GENERATOR +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ + +rule names: +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ +WS +TRUE +FALSE +CREATE +ALTER +DROP +SHOW +RULE +FROM +READWRITE_SPLITTING +WRITE_STORAGE_UNIT +READ_STORAGE_UNITS +TRANSACTIONAL_READ_QUERY_STRATEGY +TYPE +NAME +PROPERTIES +RULES +RESOURCES +STATUS +ENABLE +DISABLE +READ +IF +EXISTS +COUNT +ROUND_ROBIN +RANDOM +WEIGHT +NOT +FOR_GENERATOR +A +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y +Z +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 81, 777, 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, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 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, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 268, 10, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 44, 6, 44, 315, 10, 44, 13, 44, 14, 44, 316, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 66, 3, 66, 3, 66, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 72, 3, 72, 3, 72, 3, 72, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 74, 3, 74, 3, 75, 3, 75, 3, 76, 3, 76, 3, 77, 3, 77, 3, 78, 3, 78, 3, 79, 3, 79, 3, 80, 3, 80, 3, 81, 3, 81, 3, 82, 3, 82, 3, 83, 3, 83, 3, 84, 3, 84, 3, 85, 3, 85, 3, 86, 3, 86, 3, 87, 3, 87, 3, 88, 3, 88, 3, 89, 3, 89, 3, 90, 3, 90, 3, 91, 3, 91, 3, 92, 3, 92, 3, 93, 3, 93, 3, 94, 3, 94, 3, 95, 3, 95, 3, 96, 3, 96, 3, 97, 3, 97, 3, 98, 3, 98, 3, 99, 3, 99, 3, 100, 7, 100, 663, 10, 100, 12, 100, 14, 100, 666, 11, 100, 3, 100, 6, 100, 669, 10, 100, 13, 100, 14, 100, 670, 3, 100, 7, 100, 674, 10, 100, 12, 100, 14, 100, 677, 11, 100, 3, 100, 3, 100, 6, 100, 681, 10, 100, 13, 100, 14, 100, 682, 3, 100, 3, 100, 5, 100, 687, 10, 100, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 7, 101, 695, 10, 101, 12, 101, 14, 101, 698, 11, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 7, 101, 708, 10, 101, 12, 101, 14, 101, 711, 11, 101, 3, 101, 3, 101, 5, 101, 715, 10, 101, 3, 102, 6, 102, 718, 10, 102, 13, 102, 14, 102, 719, 3, 103, 3, 103, 3, 104, 5, 104, 725, 10, 104, 3, 104, 5, 104, 728, 10, 104, 3, 104, 3, 104, 3, 104, 3, 104, 5, 104, 734, 10, 104, 3, 104, 3, 104, 5, 104, 738, 10, 104, 3, 105, 3, 105, 3, 105, 3, 105, 6, 105, 744, 10, 105, 13, 105, 14, 105, 745, 3, 105, 3, 105, 3, 105, 6, 105, 751, 10, 105, 13, 105, 14, 105, 752, 3, 105, 3, 105, 5, 105, 757, 10, 105, 3, 106, 3, 106, 3, 106, 3, 106, 6, 106, 763, 10, 106, 13, 106, 14, 106, 764, 3, 106, 3, 106, 3, 106, 6, 106, 770, 10, 106, 13, 106, 14, 106, 771, 3, 106, 3, 106, 5, 106, 776, 10, 106, 4, 664, 670, 2, 107, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, 91, 47, 93, 48, 95, 49, 97, 50, 99, 51, 101, 52, 103, 53, 105, 54, 107, 55, 109, 56, 111, 57, 113, 58, 115, 59, 117, 60, 119, 61, 121, 62, 123, 63, 125, 64, 127, 65, 129, 66, 131, 67, 133, 68, 135, 69, 137, 70, 139, 71, 141, 72, 143, 73, 145, 74, 147, 2, 149, 2, 151, 2, 153, 2, 155, 2, 157, 2, 159, 2, 161, 2, 163, 2, 165, 2, 167, 2, 169, 2, 171, 2, 173, 2, 175, 2, 177, 2, 179, 2, 181, 2, 183, 2, 185, 2, 187, 2, 189, 2, 191, 2, 193, 2, 195, 2, 197, 2, 199, 75, 201, 76, 203, 77, 205, 78, 207, 79, 209, 80, 211, 81, 3, 2, 36, 5, 2, 11, 12, 15, 15, 34, 34, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 7, 2, 38, 38, 50, 59, 67, 92, 97, 97, 99, 124, 6, 2, 38, 38, 67, 92, 97, 97, 99, 124, 3, 2, 98, 98, 4, 2, 36, 36, 94, 94, 4, 2, 41, 41, 94, 94, 3, 2, 50, 59, 5, 2, 50, 59, 67, 72, 99, 104, 2, 776, 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, 199, 3, 2, 2, 2, 2, 201, 3, 2, 2, 2, 2, 203, 3, 2, 2, 2, 2, 205, 3, 2, 2, 2, 2, 207, 3, 2, 2, 2, 2, 209, 3, 2, 2, 2, 2, 211, 3, 2, 2, 2, 3, 213, 3, 2, 2, 2, 5, 216, 3, 2, 2, 2, 7, 219, 3, 2, 2, 2, 9, 221, 3, 2, 2, 2, 11, 223, 3, 2, 2, 2, 13, 225, 3, 2, 2, 2, 15, 227, 3, 2, 2, 2, 17, 230, 3, 2, 2, 2, 19, 233, 3, 2, 2, 2, 21, 235, 3, 2, 2, 2, 23, 237, 3, 2, 2, 2, 25, 239, 3, 2, 2, 2, 27, 241, 3, 2, 2, 2, 29, 243, 3, 2, 2, 2, 31, 245, 3, 2, 2, 2, 33, 247, 3, 2, 2, 2, 35, 249, 3, 2, 2, 2, 37, 251, 3, 2, 2, 2, 39, 254, 3, 2, 2, 2, 41, 258, 3, 2, 2, 2, 43, 261, 3, 2, 2, 2, 45, 267, 3, 2, 2, 2, 47, 269, 3, 2, 2, 2, 49, 271, 3, 2, 2, 2, 51, 274, 3, 2, 2, 2, 53, 276, 3, 2, 2, 2, 55, 279, 3, 2, 2, 2, 57, 281, 3, 2, 2, 2, 59, 283, 3, 2, 2, 2, 61, 285, 3, 2, 2, 2, 63, 287, 3, 2, 2, 2, 65, 289, 3, 2, 2, 2, 67, 291, 3, 2, 2, 2, 69, 293, 3, 2, 2, 2, 71, 295, 3, 2, 2, 2, 73, 297, 3, 2, 2, 2, 75, 299, 3, 2, 2, 2, 77, 301, 3, 2, 2, 2, 79, 303, 3, 2, 2, 2, 81, 305, 3, 2, 2, 2, 83, 307, 3, 2, 2, 2, 85, 311, 3, 2, 2, 2, 87, 314, 3, 2, 2, 2, 89, 320, 3, 2, 2, 2, 91, 325, 3, 2, 2, 2, 93, 331, 3, 2, 2, 2, 95, 338, 3, 2, 2, 2, 97, 344, 3, 2, 2, 2, 99, 349, 3, 2, 2, 2, 101, 354, 3, 2, 2, 2, 103, 359, 3, 2, 2, 2, 105, 364, 3, 2, 2, 2, 107, 384, 3, 2, 2, 2, 109, 403, 3, 2, 2, 2, 111, 422, 3, 2, 2, 2, 113, 456, 3, 2, 2, 2, 115, 461, 3, 2, 2, 2, 117, 466, 3, 2, 2, 2, 119, 477, 3, 2, 2, 2, 121, 483, 3, 2, 2, 2, 123, 493, 3, 2, 2, 2, 125, 500, 3, 2, 2, 2, 127, 507, 3, 2, 2, 2, 129, 515, 3, 2, 2, 2, 131, 520, 3, 2, 2, 2, 133, 523, 3, 2, 2, 2, 135, 530, 3, 2, 2, 2, 137, 536, 3, 2, 2, 2, 139, 548, 3, 2, 2, 2, 141, 555, 3, 2, 2, 2, 143, 562, 3, 2, 2, 2, 145, 566, 3, 2, 2, 2, 147, 609, 3, 2, 2, 2, 149, 611, 3, 2, 2, 2, 151, 613, 3, 2, 2, 2, 153, 615, 3, 2, 2, 2, 155, 617, 3, 2, 2, 2, 157, 619, 3, 2, 2, 2, 159, 621, 3, 2, 2, 2, 161, 623, 3, 2, 2, 2, 163, 625, 3, 2, 2, 2, 165, 627, 3, 2, 2, 2, 167, 629, 3, 2, 2, 2, 169, 631, 3, 2, 2, 2, 171, 633, 3, 2, 2, 2, 173, 635, 3, 2, 2, 2, 175, 637, 3, 2, 2, 2, 177, 639, 3, 2, 2, 2, 179, 641, 3, 2, 2, 2, 181, 643, 3, 2, 2, 2, 183, 645, 3, 2, 2, 2, 185, 647, 3, 2, 2, 2, 187, 649, 3, 2, 2, 2, 189, 651, 3, 2, 2, 2, 191, 653, 3, 2, 2, 2, 193, 655, 3, 2, 2, 2, 195, 657, 3, 2, 2, 2, 197, 659, 3, 2, 2, 2, 199, 686, 3, 2, 2, 2, 201, 714, 3, 2, 2, 2, 203, 717, 3, 2, 2, 2, 205, 721, 3, 2, 2, 2, 207, 724, 3, 2, 2, 2, 209, 756, 3, 2, 2, 2, 211, 775, 3, 2, 2, 2, 213, 214, 7, 40, 2, 2, 214, 215, 7, 40, 2, 2, 215, 4, 3, 2, 2, 2, 216, 217, 7, 126, 2, 2, 217, 218, 7, 126, 2, 2, 218, 6, 3, 2, 2, 2, 219, 220, 7, 35, 2, 2, 220, 8, 3, 2, 2, 2, 221, 222, 7, 128, 2, 2, 222, 10, 3, 2, 2, 2, 223, 224, 7, 126, 2, 2, 224, 12, 3, 2, 2, 2, 225, 226, 7, 40, 2, 2, 226, 14, 3, 2, 2, 2, 227, 228, 7, 62, 2, 2, 228, 229, 7, 62, 2, 2, 229, 16, 3, 2, 2, 2, 230, 231, 7, 64, 2, 2, 231, 232, 7, 64, 2, 2, 232, 18, 3, 2, 2, 2, 233, 234, 7, 96, 2, 2, 234, 20, 3, 2, 2, 2, 235, 236, 7, 39, 2, 2, 236, 22, 3, 2, 2, 2, 237, 238, 7, 60, 2, 2, 238, 24, 3, 2, 2, 2, 239, 240, 7, 45, 2, 2, 240, 26, 3, 2, 2, 2, 241, 242, 7, 47, 2, 2, 242, 28, 3, 2, 2, 2, 243, 244, 7, 44, 2, 2, 244, 30, 3, 2, 2, 2, 245, 246, 7, 49, 2, 2, 246, 32, 3, 2, 2, 2, 247, 248, 7, 94, 2, 2, 248, 34, 3, 2, 2, 2, 249, 250, 7, 48, 2, 2, 250, 36, 3, 2, 2, 2, 251, 252, 7, 48, 2, 2, 252, 253, 7, 44, 2, 2, 253, 38, 3, 2, 2, 2, 254, 255, 7, 62, 2, 2, 255, 256, 7, 63, 2, 2, 256, 257, 7, 64, 2, 2, 257, 40, 3, 2, 2, 2, 258, 259, 7, 63, 2, 2, 259, 260, 7, 63, 2, 2, 260, 42, 3, 2, 2, 2, 261, 262, 7, 63, 2, 2, 262, 44, 3, 2, 2, 2, 263, 264, 7, 62, 2, 2, 264, 268, 7, 64, 2, 2, 265, 266, 7, 35, 2, 2, 266, 268, 7, 63, 2, 2, 267, 263, 3, 2, 2, 2, 267, 265, 3, 2, 2, 2, 268, 46, 3, 2, 2, 2, 269, 270, 7, 64, 2, 2, 270, 48, 3, 2, 2, 2, 271, 272, 7, 64, 2, 2, 272, 273, 7, 63, 2, 2, 273, 50, 3, 2, 2, 2, 274, 275, 7, 62, 2, 2, 275, 52, 3, 2, 2, 2, 276, 277, 7, 62, 2, 2, 277, 278, 7, 63, 2, 2, 278, 54, 3, 2, 2, 2, 279, 280, 7, 37, 2, 2, 280, 56, 3, 2, 2, 2, 281, 282, 7, 42, 2, 2, 282, 58, 3, 2, 2, 2, 283, 284, 7, 43, 2, 2, 284, 60, 3, 2, 2, 2, 285, 286, 7, 125, 2, 2, 286, 62, 3, 2, 2, 2, 287, 288, 7, 127, 2, 2, 288, 64, 3, 2, 2, 2, 289, 290, 7, 93, 2, 2, 290, 66, 3, 2, 2, 2, 291, 292, 7, 95, 2, 2, 292, 68, 3, 2, 2, 2, 293, 294, 7, 46, 2, 2, 294, 70, 3, 2, 2, 2, 295, 296, 7, 36, 2, 2, 296, 72, 3, 2, 2, 2, 297, 298, 7, 41, 2, 2, 298, 74, 3, 2, 2, 2, 299, 300, 7, 98, 2, 2, 300, 76, 3, 2, 2, 2, 301, 302, 7, 65, 2, 2, 302, 78, 3, 2, 2, 2, 303, 304, 7, 66, 2, 2, 304, 80, 3, 2, 2, 2, 305, 306, 7, 61, 2, 2, 306, 82, 3, 2, 2, 2, 307, 308, 7, 47, 2, 2, 308, 309, 7, 64, 2, 2, 309, 310, 7, 64, 2, 2, 310, 84, 3, 2, 2, 2, 311, 312, 7, 97, 2, 2, 312, 86, 3, 2, 2, 2, 313, 315, 9, 2, 2, 2, 314, 313, 3, 2, 2, 2, 315, 316, 3, 2, 2, 2, 316, 314, 3, 2, 2, 2, 316, 317, 3, 2, 2, 2, 317, 318, 3, 2, 2, 2, 318, 319, 8, 44, 2, 2, 319, 88, 3, 2, 2, 2, 320, 321, 5, 185, 93, 2, 321, 322, 5, 181, 91, 2, 322, 323, 5, 187, 94, 2, 323, 324, 5, 155, 78, 2, 324, 90, 3, 2, 2, 2, 325, 326, 5, 157, 79, 2, 326, 327, 5, 147, 74, 2, 327, 328, 5, 169, 85, 2, 328, 329, 5, 183, 92, 2, 329, 330, 5, 155, 78, 2, 330, 92, 3, 2, 2, 2, 331, 332, 5, 151, 76, 2, 332, 333, 5, 181, 91, 2, 333, 334, 5, 155, 78, 2, 334, 335, 5, 147, 74, 2, 335, 336, 5, 185, 93, 2, 336, 337, 5, 155, 78, 2, 337, 94, 3, 2, 2, 2, 338, 339, 5, 147, 74, 2, 339, 340, 5, 169, 85, 2, 340, 341, 5, 185, 93, 2, 341, 342, 5, 155, 78, 2, 342, 343, 5, 181, 91, 2, 343, 96, 3, 2, 2, 2, 344, 345, 5, 153, 77, 2, 345, 346, 5, 181, 91, 2, 346, 347, 5, 175, 88, 2, 347, 348, 5, 177, 89, 2, 348, 98, 3, 2, 2, 2, 349, 350, 5, 183, 92, 2, 350, 351, 5, 161, 81, 2, 351, 352, 5, 175, 88, 2, 352, 353, 5, 191, 96, 2, 353, 100, 3, 2, 2, 2, 354, 355, 5, 181, 91, 2, 355, 356, 5, 187, 94, 2, 356, 357, 5, 169, 85, 2, 357, 358, 5, 155, 78, 2, 358, 102, 3, 2, 2, 2, 359, 360, 5, 157, 79, 2, 360, 361, 5, 181, 91, 2, 361, 362, 5, 175, 88, 2, 362, 363, 5, 171, 86, 2, 363, 104, 3, 2, 2, 2, 364, 365, 5, 181, 91, 2, 365, 366, 5, 155, 78, 2, 366, 367, 5, 147, 74, 2, 367, 368, 5, 153, 77, 2, 368, 369, 5, 191, 96, 2, 369, 370, 5, 181, 91, 2, 370, 371, 5, 163, 82, 2, 371, 372, 5, 185, 93, 2, 372, 373, 5, 155, 78, 2, 373, 374, 5, 85, 43, 2, 374, 375, 5, 183, 92, 2, 375, 376, 5, 177, 89, 2, 376, 377, 5, 169, 85, 2, 377, 378, 5, 163, 82, 2, 378, 379, 5, 185, 93, 2, 379, 380, 5, 185, 93, 2, 380, 381, 5, 163, 82, 2, 381, 382, 5, 173, 87, 2, 382, 383, 5, 159, 80, 2, 383, 106, 3, 2, 2, 2, 384, 385, 5, 191, 96, 2, 385, 386, 5, 181, 91, 2, 386, 387, 5, 163, 82, 2, 387, 388, 5, 185, 93, 2, 388, 389, 5, 155, 78, 2, 389, 390, 5, 85, 43, 2, 390, 391, 5, 183, 92, 2, 391, 392, 5, 185, 93, 2, 392, 393, 5, 175, 88, 2, 393, 394, 5, 181, 91, 2, 394, 395, 5, 147, 74, 2, 395, 396, 5, 159, 80, 2, 396, 397, 5, 155, 78, 2, 397, 398, 5, 85, 43, 2, 398, 399, 5, 187, 94, 2, 399, 400, 5, 173, 87, 2, 400, 401, 5, 163, 82, 2, 401, 402, 5, 185, 93, 2, 402, 108, 3, 2, 2, 2, 403, 404, 5, 181, 91, 2, 404, 405, 5, 155, 78, 2, 405, 406, 5, 147, 74, 2, 406, 407, 5, 153, 77, 2, 407, 408, 5, 85, 43, 2, 408, 409, 5, 183, 92, 2, 409, 410, 5, 185, 93, 2, 410, 411, 5, 175, 88, 2, 411, 412, 5, 181, 91, 2, 412, 413, 5, 147, 74, 2, 413, 414, 5, 159, 80, 2, 414, 415, 5, 155, 78, 2, 415, 416, 5, 85, 43, 2, 416, 417, 5, 187, 94, 2, 417, 418, 5, 173, 87, 2, 418, 419, 5, 163, 82, 2, 419, 420, 5, 185, 93, 2, 420, 421, 5, 183, 92, 2, 421, 110, 3, 2, 2, 2, 422, 423, 5, 185, 93, 2, 423, 424, 5, 181, 91, 2, 424, 425, 5, 147, 74, 2, 425, 426, 5, 173, 87, 2, 426, 427, 5, 183, 92, 2, 427, 428, 5, 147, 74, 2, 428, 429, 5, 151, 76, 2, 429, 430, 5, 185, 93, 2, 430, 431, 5, 163, 82, 2, 431, 432, 5, 175, 88, 2, 432, 433, 5, 173, 87, 2, 433, 434, 5, 147, 74, 2, 434, 435, 5, 169, 85, 2, 435, 436, 5, 85, 43, 2, 436, 437, 5, 181, 91, 2, 437, 438, 5, 155, 78, 2, 438, 439, 5, 147, 74, 2, 439, 440, 5, 153, 77, 2, 440, 441, 5, 85, 43, 2, 441, 442, 5, 179, 90, 2, 442, 443, 5, 187, 94, 2, 443, 444, 5, 155, 78, 2, 444, 445, 5, 181, 91, 2, 445, 446, 5, 195, 98, 2, 446, 447, 5, 85, 43, 2, 447, 448, 5, 183, 92, 2, 448, 449, 5, 185, 93, 2, 449, 450, 5, 181, 91, 2, 450, 451, 5, 147, 74, 2, 451, 452, 5, 185, 93, 2, 452, 453, 5, 155, 78, 2, 453, 454, 5, 159, 80, 2, 454, 455, 5, 195, 98, 2, 455, 112, 3, 2, 2, 2, 456, 457, 5, 185, 93, 2, 457, 458, 5, 195, 98, 2, 458, 459, 5, 177, 89, 2, 459, 460, 5, 155, 78, 2, 460, 114, 3, 2, 2, 2, 461, 462, 5, 173, 87, 2, 462, 463, 5, 147, 74, 2, 463, 464, 5, 171, 86, 2, 464, 465, 5, 155, 78, 2, 465, 116, 3, 2, 2, 2, 466, 467, 5, 177, 89, 2, 467, 468, 5, 181, 91, 2, 468, 469, 5, 175, 88, 2, 469, 470, 5, 177, 89, 2, 470, 471, 5, 155, 78, 2, 471, 472, 5, 181, 91, 2, 472, 473, 5, 185, 93, 2, 473, 474, 5, 163, 82, 2, 474, 475, 5, 155, 78, 2, 475, 476, 5, 183, 92, 2, 476, 118, 3, 2, 2, 2, 477, 478, 5, 181, 91, 2, 478, 479, 5, 187, 94, 2, 479, 480, 5, 169, 85, 2, 480, 481, 5, 155, 78, 2, 481, 482, 5, 183, 92, 2, 482, 120, 3, 2, 2, 2, 483, 484, 5, 181, 91, 2, 484, 485, 5, 155, 78, 2, 485, 486, 5, 183, 92, 2, 486, 487, 5, 175, 88, 2, 487, 488, 5, 187, 94, 2, 488, 489, 5, 181, 91, 2, 489, 490, 5, 151, 76, 2, 490, 491, 5, 155, 78, 2, 491, 492, 5, 183, 92, 2, 492, 122, 3, 2, 2, 2, 493, 494, 5, 183, 92, 2, 494, 495, 5, 185, 93, 2, 495, 496, 5, 147, 74, 2, 496, 497, 5, 185, 93, 2, 497, 498, 5, 187, 94, 2, 498, 499, 5, 183, 92, 2, 499, 124, 3, 2, 2, 2, 500, 501, 5, 155, 78, 2, 501, 502, 5, 173, 87, 2, 502, 503, 5, 147, 74, 2, 503, 504, 5, 149, 75, 2, 504, 505, 5, 169, 85, 2, 505, 506, 5, 155, 78, 2, 506, 126, 3, 2, 2, 2, 507, 508, 5, 153, 77, 2, 508, 509, 5, 163, 82, 2, 509, 510, 5, 183, 92, 2, 510, 511, 5, 147, 74, 2, 511, 512, 5, 149, 75, 2, 512, 513, 5, 169, 85, 2, 513, 514, 5, 155, 78, 2, 514, 128, 3, 2, 2, 2, 515, 516, 5, 181, 91, 2, 516, 517, 5, 155, 78, 2, 517, 518, 5, 147, 74, 2, 518, 519, 5, 153, 77, 2, 519, 130, 3, 2, 2, 2, 520, 521, 5, 163, 82, 2, 521, 522, 5, 157, 79, 2, 522, 132, 3, 2, 2, 2, 523, 524, 5, 155, 78, 2, 524, 525, 5, 193, 97, 2, 525, 526, 5, 163, 82, 2, 526, 527, 5, 183, 92, 2, 527, 528, 5, 185, 93, 2, 528, 529, 5, 183, 92, 2, 529, 134, 3, 2, 2, 2, 530, 531, 5, 151, 76, 2, 531, 532, 5, 175, 88, 2, 532, 533, 5, 187, 94, 2, 533, 534, 5, 173, 87, 2, 534, 535, 5, 185, 93, 2, 535, 136, 3, 2, 2, 2, 536, 537, 5, 181, 91, 2, 537, 538, 5, 175, 88, 2, 538, 539, 5, 187, 94, 2, 539, 540, 5, 173, 87, 2, 540, 541, 5, 153, 77, 2, 541, 542, 5, 85, 43, 2, 542, 543, 5, 181, 91, 2, 543, 544, 5, 175, 88, 2, 544, 545, 5, 149, 75, 2, 545, 546, 5, 163, 82, 2, 546, 547, 5, 173, 87, 2, 547, 138, 3, 2, 2, 2, 548, 549, 5, 181, 91, 2, 549, 550, 5, 147, 74, 2, 550, 551, 5, 173, 87, 2, 551, 552, 5, 153, 77, 2, 552, 553, 5, 175, 88, 2, 553, 554, 5, 171, 86, 2, 554, 140, 3, 2, 2, 2, 555, 556, 5, 191, 96, 2, 556, 557, 5, 155, 78, 2, 557, 558, 5, 163, 82, 2, 558, 559, 5, 159, 80, 2, 559, 560, 5, 161, 81, 2, 560, 561, 5, 185, 93, 2, 561, 142, 3, 2, 2, 2, 562, 563, 5, 173, 87, 2, 563, 564, 5, 175, 88, 2, 564, 565, 5, 185, 93, 2, 565, 144, 3, 2, 2, 2, 566, 567, 7, 70, 2, 2, 567, 568, 7, 81, 2, 2, 568, 569, 7, 34, 2, 2, 569, 570, 7, 80, 2, 2, 570, 571, 7, 81, 2, 2, 571, 572, 7, 86, 2, 2, 572, 573, 7, 34, 2, 2, 573, 574, 7, 79, 2, 2, 574, 575, 7, 67, 2, 2, 575, 576, 7, 86, 2, 2, 576, 577, 7, 69, 2, 2, 577, 578, 7, 74, 2, 2, 578, 579, 7, 34, 2, 2, 579, 580, 7, 67, 2, 2, 580, 581, 7, 80, 2, 2, 581, 582, 7, 91, 2, 2, 582, 583, 7, 34, 2, 2, 583, 584, 7, 86, 2, 2, 584, 585, 7, 74, 2, 2, 585, 586, 7, 75, 2, 2, 586, 587, 7, 80, 2, 2, 587, 588, 7, 73, 2, 2, 588, 589, 7, 46, 2, 2, 589, 590, 7, 34, 2, 2, 590, 591, 7, 76, 2, 2, 591, 592, 7, 87, 2, 2, 592, 593, 7, 85, 2, 2, 593, 594, 7, 86, 2, 2, 594, 595, 7, 34, 2, 2, 595, 596, 7, 72, 2, 2, 596, 597, 7, 81, 2, 2, 597, 598, 7, 84, 2, 2, 598, 599, 7, 34, 2, 2, 599, 600, 7, 73, 2, 2, 600, 601, 7, 71, 2, 2, 601, 602, 7, 80, 2, 2, 602, 603, 7, 71, 2, 2, 603, 604, 7, 84, 2, 2, 604, 605, 7, 67, 2, 2, 605, 606, 7, 86, 2, 2, 606, 607, 7, 81, 2, 2, 607, 608, 7, 84, 2, 2, 608, 146, 3, 2, 2, 2, 609, 610, 9, 3, 2, 2, 610, 148, 3, 2, 2, 2, 611, 612, 9, 4, 2, 2, 612, 150, 3, 2, 2, 2, 613, 614, 9, 5, 2, 2, 614, 152, 3, 2, 2, 2, 615, 616, 9, 6, 2, 2, 616, 154, 3, 2, 2, 2, 617, 618, 9, 7, 2, 2, 618, 156, 3, 2, 2, 2, 619, 620, 9, 8, 2, 2, 620, 158, 3, 2, 2, 2, 621, 622, 9, 9, 2, 2, 622, 160, 3, 2, 2, 2, 623, 624, 9, 10, 2, 2, 624, 162, 3, 2, 2, 2, 625, 626, 9, 11, 2, 2, 626, 164, 3, 2, 2, 2, 627, 628, 9, 12, 2, 2, 628, 166, 3, 2, 2, 2, 629, 630, 9, 13, 2, 2, 630, 168, 3, 2, 2, 2, 631, 632, 9, 14, 2, 2, 632, 170, 3, 2, 2, 2, 633, 634, 9, 15, 2, 2, 634, 172, 3, 2, 2, 2, 635, 636, 9, 16, 2, 2, 636, 174, 3, 2, 2, 2, 637, 638, 9, 17, 2, 2, 638, 176, 3, 2, 2, 2, 639, 640, 9, 18, 2, 2, 640, 178, 3, 2, 2, 2, 641, 642, 9, 19, 2, 2, 642, 180, 3, 2, 2, 2, 643, 644, 9, 20, 2, 2, 644, 182, 3, 2, 2, 2, 645, 646, 9, 21, 2, 2, 646, 184, 3, 2, 2, 2, 647, 648, 9, 22, 2, 2, 648, 186, 3, 2, 2, 2, 649, 650, 9, 23, 2, 2, 650, 188, 3, 2, 2, 2, 651, 652, 9, 24, 2, 2, 652, 190, 3, 2, 2, 2, 653, 654, 9, 25, 2, 2, 654, 192, 3, 2, 2, 2, 655, 656, 9, 26, 2, 2, 656, 194, 3, 2, 2, 2, 657, 658, 9, 27, 2, 2, 658, 196, 3, 2, 2, 2, 659, 660, 9, 28, 2, 2, 660, 198, 3, 2, 2, 2, 661, 663, 9, 29, 2, 2, 662, 661, 3, 2, 2, 2, 663, 666, 3, 2, 2, 2, 664, 665, 3, 2, 2, 2, 664, 662, 3, 2, 2, 2, 665, 668, 3, 2, 2, 2, 666, 664, 3, 2, 2, 2, 667, 669, 9, 30, 2, 2, 668, 667, 3, 2, 2, 2, 669, 670, 3, 2, 2, 2, 670, 671, 3, 2, 2, 2, 670, 668, 3, 2, 2, 2, 671, 675, 3, 2, 2, 2, 672, 674, 9, 29, 2, 2, 673, 672, 3, 2, 2, 2, 674, 677, 3, 2, 2, 2, 675, 673, 3, 2, 2, 2, 675, 676, 3, 2, 2, 2, 676, 687, 3, 2, 2, 2, 677, 675, 3, 2, 2, 2, 678, 680, 5, 75, 38, 2, 679, 681, 10, 31, 2, 2, 680, 679, 3, 2, 2, 2, 681, 682, 3, 2, 2, 2, 682, 680, 3, 2, 2, 2, 682, 683, 3, 2, 2, 2, 683, 684, 3, 2, 2, 2, 684, 685, 5, 75, 38, 2, 685, 687, 3, 2, 2, 2, 686, 664, 3, 2, 2, 2, 686, 678, 3, 2, 2, 2, 687, 200, 3, 2, 2, 2, 688, 696, 5, 71, 36, 2, 689, 690, 7, 94, 2, 2, 690, 695, 11, 2, 2, 2, 691, 692, 7, 36, 2, 2, 692, 695, 7, 36, 2, 2, 693, 695, 10, 32, 2, 2, 694, 689, 3, 2, 2, 2, 694, 691, 3, 2, 2, 2, 694, 693, 3, 2, 2, 2, 695, 698, 3, 2, 2, 2, 696, 694, 3, 2, 2, 2, 696, 697, 3, 2, 2, 2, 697, 699, 3, 2, 2, 2, 698, 696, 3, 2, 2, 2, 699, 700, 5, 71, 36, 2, 700, 715, 3, 2, 2, 2, 701, 709, 5, 73, 37, 2, 702, 703, 7, 94, 2, 2, 703, 708, 11, 2, 2, 2, 704, 705, 7, 41, 2, 2, 705, 708, 7, 41, 2, 2, 706, 708, 10, 33, 2, 2, 707, 702, 3, 2, 2, 2, 707, 704, 3, 2, 2, 2, 707, 706, 3, 2, 2, 2, 708, 711, 3, 2, 2, 2, 709, 707, 3, 2, 2, 2, 709, 710, 3, 2, 2, 2, 710, 712, 3, 2, 2, 2, 711, 709, 3, 2, 2, 2, 712, 713, 5, 73, 37, 2, 713, 715, 3, 2, 2, 2, 714, 688, 3, 2, 2, 2, 714, 701, 3, 2, 2, 2, 715, 202, 3, 2, 2, 2, 716, 718, 9, 34, 2, 2, 717, 716, 3, 2, 2, 2, 718, 719, 3, 2, 2, 2, 719, 717, 3, 2, 2, 2, 719, 720, 3, 2, 2, 2, 720, 204, 3, 2, 2, 2, 721, 722, 9, 35, 2, 2, 722, 206, 3, 2, 2, 2, 723, 725, 5, 203, 102, 2, 724, 723, 3, 2, 2, 2, 724, 725, 3, 2, 2, 2, 725, 727, 3, 2, 2, 2, 726, 728, 5, 35, 18, 2, 727, 726, 3, 2, 2, 2, 727, 728, 3, 2, 2, 2, 728, 729, 3, 2, 2, 2, 729, 737, 5, 203, 102, 2, 730, 733, 5, 155, 78, 2, 731, 734, 5, 25, 13, 2, 732, 734, 5, 27, 14, 2, 733, 731, 3, 2, 2, 2, 733, 732, 3, 2, 2, 2, 733, 734, 3, 2, 2, 2, 734, 735, 3, 2, 2, 2, 735, 736, 5, 203, 102, 2, 736, 738, 3, 2, 2, 2, 737, 730, 3, 2, 2, 2, 737, 738, 3, 2, 2, 2, 738, 208, 3, 2, 2, 2, 739, 740, 7, 50, 2, 2, 740, 741, 7, 122, 2, 2, 741, 743, 3, 2, 2, 2, 742, 744, 5, 205, 103, 2, 743, 742, 3, 2, 2, 2, 744, 745, 3, 2, 2, 2, 745, 743, 3, 2, 2, 2, 745, 746, 3, 2, 2, 2, 746, 757, 3, 2, 2, 2, 747, 748, 7, 90, 2, 2, 748, 750, 5, 73, 37, 2, 749, 751, 5, 205, 103, 2, 750, 749, 3, 2, 2, 2, 751, 752, 3, 2, 2, 2, 752, 750, 3, 2, 2, 2, 752, 753, 3, 2, 2, 2, 753, 754, 3, 2, 2, 2, 754, 755, 5, 73, 37, 2, 755, 757, 3, 2, 2, 2, 756, 739, 3, 2, 2, 2, 756, 747, 3, 2, 2, 2, 757, 210, 3, 2, 2, 2, 758, 759, 7, 50, 2, 2, 759, 760, 7, 100, 2, 2, 760, 762, 3, 2, 2, 2, 761, 763, 4, 50, 51, 2, 762, 761, 3, 2, 2, 2, 763, 764, 3, 2, 2, 2, 764, 762, 3, 2, 2, 2, 764, 765, 3, 2, 2, 2, 765, 776, 3, 2, 2, 2, 766, 767, 5, 149, 75, 2, 767, 769, 5, 73, 37, 2, 768, 770, 4, 50, 51, 2, 769, 768, 3, 2, 2, 2, 770, 771, 3, 2, 2, 2, 771, 769, 3, 2, 2, 2, 771, 772, 3, 2, 2, 2, 772, 773, 3, 2, 2, 2, 773, 774, 5, 73, 37, 2, 774, 776, 3, 2, 2, 2, 775, 758, 3, 2, 2, 2, 775, 766, 3, 2, 2, 2, 776, 212, 3, 2, 2, 2, 26, 2, 267, 316, 664, 670, 675, 682, 686, 694, 696, 707, 709, 714, 719, 724, 727, 733, 737, 745, 752, 756, 764, 771, 775, 3, 8, 2, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementLexer.java b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementLexer.java new file mode 100644 index 00000000..74641334 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementLexer.java @@ -0,0 +1,424 @@ +// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/RALStatement.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.misc.*; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class RALStatementLexer extends Lexer { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, + SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, + ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, + DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, + LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, + SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, + WS=43, TRUE=44, FALSE=45, CREATE=46, ALTER=47, DROP=48, SHOW=49, RULE=50, + FROM=51, READWRITE_SPLITTING=52, WRITE_STORAGE_UNIT=53, READ_STORAGE_UNITS=54, + TRANSACTIONAL_READ_QUERY_STRATEGY=55, TYPE=56, NAME=57, PROPERTIES=58, + RULES=59, RESOURCES=60, STATUS=61, ENABLE=62, DISABLE=63, READ=64, IF=65, + EXISTS=66, COUNT=67, ROUND_ROBIN=68, RANDOM=69, WEIGHT=70, NOT=71, FOR_GENERATOR=72, + IDENTIFIER_=73, STRING_=74, INT_=75, HEX_=76, NUMBER_=77, HEXDIGIT_=78, + BITNUM_=79; + public static String[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + + public static String[] modeNames = { + "DEFAULT_MODE" + }; + + private static String[] makeRuleNames() { + return new String[] { + "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", + "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", + "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", + "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", + "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", + "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", "FALSE", "CREATE", "ALTER", + "DROP", "SHOW", "RULE", "FROM", "READWRITE_SPLITTING", "WRITE_STORAGE_UNIT", + "READ_STORAGE_UNITS", "TRANSACTIONAL_READ_QUERY_STRATEGY", "TYPE", "NAME", + "PROPERTIES", "RULES", "RESOURCES", "STATUS", "ENABLE", "DISABLE", "READ", + "IF", "EXISTS", "COUNT", "ROUND_ROBIN", "RANDOM", "WEIGHT", "NOT", "FOR_GENERATOR", + "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", + "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "IDENTIFIER_", + "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", + "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", + "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", + "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", + "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", + "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", + "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", + "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", + "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", + "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", + "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", "FROM", "READWRITE_SPLITTING", + "WRITE_STORAGE_UNIT", "READ_STORAGE_UNITS", "TRANSACTIONAL_READ_QUERY_STRATEGY", + "TYPE", "NAME", "PROPERTIES", "RULES", "RESOURCES", "STATUS", "ENABLE", + "DISABLE", "READ", "IF", "EXISTS", "COUNT", "ROUND_ROBIN", "RANDOM", + "WEIGHT", "NOT", "FOR_GENERATOR", "IDENTIFIER_", "STRING_", "INT_", "HEX_", + "NUMBER_", "HEXDIGIT_", "BITNUM_" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + + public RALStatementLexer(CharStream input) { + super(input); + _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + @Override + public String getGrammarFileName() { return "RALStatement.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public String[] getChannelNames() { return channelNames; } + + @Override + public String[] getModeNames() { return modeNames; } + + @Override + public ATN getATN() { return _ATN; } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2Q\u0309\b\1\4\2\t"+ + "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ + "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ + "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ + "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ + "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ + ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ + "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ + "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+ + "\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+ + "\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+ + "`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\3\2\3"+ + "\2\3\2\3\3\3\3\3\3\3\4\3\4\3\5\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\t\3\t"+ + "\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3\17\3\17\3\20\3\20\3"+ + "\21\3\21\3\22\3\22\3\23\3\23\3\23\3\24\3\24\3\24\3\24\3\25\3\25\3\25\3"+ + "\26\3\26\3\27\3\27\3\27\3\27\5\27\u010c\n\27\3\30\3\30\3\31\3\31\3\31"+ + "\3\32\3\32\3\33\3\33\3\33\3\34\3\34\3\35\3\35\3\36\3\36\3\37\3\37\3 \3"+ + " \3!\3!\3\"\3\"\3#\3#\3$\3$\3%\3%\3&\3&\3\'\3\'\3(\3(\3)\3)\3*\3*\3*\3"+ + "*\3+\3+\3,\6,\u013b\n,\r,\16,\u013c\3,\3,\3-\3-\3-\3-\3-\3.\3.\3.\3.\3"+ + ".\3.\3/\3/\3/\3/\3/\3/\3/\3\60\3\60\3\60\3\60\3\60\3\60\3\61\3\61\3\61"+ + "\3\61\3\61\3\62\3\62\3\62\3\62\3\62\3\63\3\63\3\63\3\63\3\63\3\64\3\64"+ + "\3\64\3\64\3\64\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65"+ + "\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\66\3\66\3\66\3\66\3\66"+ + "\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66"+ + "\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67"+ + "\3\67\3\67\3\67\3\67\3\67\38\38\38\38\38\38\38\38\38\38\38\38\38\38\3"+ + "8\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\39\39\39\3"+ + "9\39\3:\3:\3:\3:\3:\3;\3;\3;\3;\3;\3;\3;\3;\3;\3;\3;\3<\3<\3<\3<\3<\3"+ + "<\3=\3=\3=\3=\3=\3=\3=\3=\3=\3=\3>\3>\3>\3>\3>\3>\3>\3?\3?\3?\3?\3?\3"+ + "?\3?\3@\3@\3@\3@\3@\3@\3@\3@\3A\3A\3A\3A\3A\3B\3B\3B\3C\3C\3C\3C\3C\3"+ + "C\3C\3D\3D\3D\3D\3D\3D\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3F\3F\3F\3"+ + "F\3F\3F\3F\3G\3G\3G\3G\3G\3G\3G\3H\3H\3H\3H\3I\3I\3I\3I\3I\3I\3I\3I\3"+ + "I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3"+ + "I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3J\3J\3K\3K\3L\3L\3M\3M\3N\3N\3O\3"+ + "O\3P\3P\3Q\3Q\3R\3R\3S\3S\3T\3T\3U\3U\3V\3V\3W\3W\3X\3X\3Y\3Y\3Z\3Z\3"+ + "[\3[\3\\\3\\\3]\3]\3^\3^\3_\3_\3`\3`\3a\3a\3b\3b\3c\3c\3d\7d\u0297\nd"+ + "\fd\16d\u029a\13d\3d\6d\u029d\nd\rd\16d\u029e\3d\7d\u02a2\nd\fd\16d\u02a5"+ + "\13d\3d\3d\6d\u02a9\nd\rd\16d\u02aa\3d\3d\5d\u02af\nd\3e\3e\3e\3e\3e\3"+ + "e\7e\u02b7\ne\fe\16e\u02ba\13e\3e\3e\3e\3e\3e\3e\3e\3e\7e\u02c4\ne\fe"+ + "\16e\u02c7\13e\3e\3e\5e\u02cb\ne\3f\6f\u02ce\nf\rf\16f\u02cf\3g\3g\3h"+ + "\5h\u02d5\nh\3h\5h\u02d8\nh\3h\3h\3h\3h\5h\u02de\nh\3h\3h\5h\u02e2\nh"+ + "\3i\3i\3i\3i\6i\u02e8\ni\ri\16i\u02e9\3i\3i\3i\6i\u02ef\ni\ri\16i\u02f0"+ + "\3i\3i\5i\u02f5\ni\3j\3j\3j\3j\6j\u02fb\nj\rj\16j\u02fc\3j\3j\3j\6j\u0302"+ + "\nj\rj\16j\u0303\3j\3j\5j\u0308\nj\4\u0298\u029e\2k\3\3\5\4\7\5\t\6\13"+ + "\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\35\20\37\21!\22#\23%\24\'"+ + "\25)\26+\27-\30/\31\61\32\63\33\65\34\67\359\36;\37= ?!A\"C#E$G%I&K\'"+ + "M(O)Q*S+U,W-Y.[/]\60_\61a\62c\63e\64g\65i\66k\67m8o9q:s;u{?}@\177"+ + "A\u0081B\u0083C\u0085D\u0087E\u0089F\u008bG\u008dH\u008fI\u0091J\u0093"+ + "\2\u0095\2\u0097\2\u0099\2\u009b\2\u009d\2\u009f\2\u00a1\2\u00a3\2\u00a5"+ + "\2\u00a7\2\u00a9\2\u00ab\2\u00ad\2\u00af\2\u00b1\2\u00b3\2\u00b5\2\u00b7"+ + "\2\u00b9\2\u00bb\2\u00bd\2\u00bf\2\u00c1\2\u00c3\2\u00c5\2\u00c7K\u00c9"+ + "L\u00cbM\u00cdN\u00cfO\u00d1P\u00d3Q\3\2$\5\2\13\f\17\17\"\"\4\2CCcc\4"+ + "\2DDdd\4\2EEee\4\2FFff\4\2GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4\2LLl"+ + "l\4\2MMmm\4\2NNnn\4\2OOoo\4\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4\2TTtt\4\2"+ + "UUuu\4\2VVvv\4\2WWww\4\2XXxx\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\||\7\2&&\62"+ + ";C\\aac|\6\2&&C\\aac|\3\2bb\4\2$$^^\4\2))^^\3\2\62;\5\2\62;CHch\2\u0308"+ + "\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2"+ + "\2\2\2\17\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\31\3\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2"+ + "\2\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\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\29\3\2\2\2\2;\3"+ + "\2\2\2\2=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2"+ + "\2\2I\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2"+ + "U\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3\2\2\2\2a\3"+ + "\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3\2\2\2\2i\3\2\2\2\2k\3\2\2\2\2m\3\2\2"+ + "\2\2o\3\2\2\2\2q\3\2\2\2\2s\3\2\2\2\2u\3\2\2\2\2w\3\2\2\2\2y\3\2\2\2\2"+ + "{\3\2\2\2\2}\3\2\2\2\2\177\3\2\2\2\2\u0081\3\2\2\2\2\u0083\3\2\2\2\2\u0085"+ + "\3\2\2\2\2\u0087\3\2\2\2\2\u0089\3\2\2\2\2\u008b\3\2\2\2\2\u008d\3\2\2"+ + "\2\2\u008f\3\2\2\2\2\u0091\3\2\2\2\2\u00c7\3\2\2\2\2\u00c9\3\2\2\2\2\u00cb"+ + "\3\2\2\2\2\u00cd\3\2\2\2\2\u00cf\3\2\2\2\2\u00d1\3\2\2\2\2\u00d3\3\2\2"+ + "\2\3\u00d5\3\2\2\2\5\u00d8\3\2\2\2\7\u00db\3\2\2\2\t\u00dd\3\2\2\2\13"+ + "\u00df\3\2\2\2\r\u00e1\3\2\2\2\17\u00e3\3\2\2\2\21\u00e6\3\2\2\2\23\u00e9"+ + "\3\2\2\2\25\u00eb\3\2\2\2\27\u00ed\3\2\2\2\31\u00ef\3\2\2\2\33\u00f1\3"+ + "\2\2\2\35\u00f3\3\2\2\2\37\u00f5\3\2\2\2!\u00f7\3\2\2\2#\u00f9\3\2\2\2"+ + "%\u00fb\3\2\2\2\'\u00fe\3\2\2\2)\u0102\3\2\2\2+\u0105\3\2\2\2-\u010b\3"+ + "\2\2\2/\u010d\3\2\2\2\61\u010f\3\2\2\2\63\u0112\3\2\2\2\65\u0114\3\2\2"+ + "\2\67\u0117\3\2\2\29\u0119\3\2\2\2;\u011b\3\2\2\2=\u011d\3\2\2\2?\u011f"+ + "\3\2\2\2A\u0121\3\2\2\2C\u0123\3\2\2\2E\u0125\3\2\2\2G\u0127\3\2\2\2I"+ + "\u0129\3\2\2\2K\u012b\3\2\2\2M\u012d\3\2\2\2O\u012f\3\2\2\2Q\u0131\3\2"+ + "\2\2S\u0133\3\2\2\2U\u0137\3\2\2\2W\u013a\3\2\2\2Y\u0140\3\2\2\2[\u0145"+ + "\3\2\2\2]\u014b\3\2\2\2_\u0152\3\2\2\2a\u0158\3\2\2\2c\u015d\3\2\2\2e"+ + "\u0162\3\2\2\2g\u0167\3\2\2\2i\u016c\3\2\2\2k\u0180\3\2\2\2m\u0193\3\2"+ + "\2\2o\u01a6\3\2\2\2q\u01c8\3\2\2\2s\u01cd\3\2\2\2u\u01d2\3\2\2\2w\u01dd"+ + "\3\2\2\2y\u01e3\3\2\2\2{\u01ed\3\2\2\2}\u01f4\3\2\2\2\177\u01fb\3\2\2"+ + "\2\u0081\u0203\3\2\2\2\u0083\u0208\3\2\2\2\u0085\u020b\3\2\2\2\u0087\u0212"+ + "\3\2\2\2\u0089\u0218\3\2\2\2\u008b\u0224\3\2\2\2\u008d\u022b\3\2\2\2\u008f"+ + "\u0232\3\2\2\2\u0091\u0236\3\2\2\2\u0093\u0261\3\2\2\2\u0095\u0263\3\2"+ + "\2\2\u0097\u0265\3\2\2\2\u0099\u0267\3\2\2\2\u009b\u0269\3\2\2\2\u009d"+ + "\u026b\3\2\2\2\u009f\u026d\3\2\2\2\u00a1\u026f\3\2\2\2\u00a3\u0271\3\2"+ + "\2\2\u00a5\u0273\3\2\2\2\u00a7\u0275\3\2\2\2\u00a9\u0277\3\2\2\2\u00ab"+ + "\u0279\3\2\2\2\u00ad\u027b\3\2\2\2\u00af\u027d\3\2\2\2\u00b1\u027f\3\2"+ + "\2\2\u00b3\u0281\3\2\2\2\u00b5\u0283\3\2\2\2\u00b7\u0285\3\2\2\2\u00b9"+ + "\u0287\3\2\2\2\u00bb\u0289\3\2\2\2\u00bd\u028b\3\2\2\2\u00bf\u028d\3\2"+ + "\2\2\u00c1\u028f\3\2\2\2\u00c3\u0291\3\2\2\2\u00c5\u0293\3\2\2\2\u00c7"+ + "\u02ae\3\2\2\2\u00c9\u02ca\3\2\2\2\u00cb\u02cd\3\2\2\2\u00cd\u02d1\3\2"+ + "\2\2\u00cf\u02d4\3\2\2\2\u00d1\u02f4\3\2\2\2\u00d3\u0307\3\2\2\2\u00d5"+ + "\u00d6\7(\2\2\u00d6\u00d7\7(\2\2\u00d7\4\3\2\2\2\u00d8\u00d9\7~\2\2\u00d9"+ + "\u00da\7~\2\2\u00da\6\3\2\2\2\u00db\u00dc\7#\2\2\u00dc\b\3\2\2\2\u00dd"+ + "\u00de\7\u0080\2\2\u00de\n\3\2\2\2\u00df\u00e0\7~\2\2\u00e0\f\3\2\2\2"+ + "\u00e1\u00e2\7(\2\2\u00e2\16\3\2\2\2\u00e3\u00e4\7>\2\2\u00e4\u00e5\7"+ + ">\2\2\u00e5\20\3\2\2\2\u00e6\u00e7\7@\2\2\u00e7\u00e8\7@\2\2\u00e8\22"+ + "\3\2\2\2\u00e9\u00ea\7`\2\2\u00ea\24\3\2\2\2\u00eb\u00ec\7\'\2\2\u00ec"+ + "\26\3\2\2\2\u00ed\u00ee\7<\2\2\u00ee\30\3\2\2\2\u00ef\u00f0\7-\2\2\u00f0"+ + "\32\3\2\2\2\u00f1\u00f2\7/\2\2\u00f2\34\3\2\2\2\u00f3\u00f4\7,\2\2\u00f4"+ + "\36\3\2\2\2\u00f5\u00f6\7\61\2\2\u00f6 \3\2\2\2\u00f7\u00f8\7^\2\2\u00f8"+ + "\"\3\2\2\2\u00f9\u00fa\7\60\2\2\u00fa$\3\2\2\2\u00fb\u00fc\7\60\2\2\u00fc"+ + "\u00fd\7,\2\2\u00fd&\3\2\2\2\u00fe\u00ff\7>\2\2\u00ff\u0100\7?\2\2\u0100"+ + "\u0101\7@\2\2\u0101(\3\2\2\2\u0102\u0103\7?\2\2\u0103\u0104\7?\2\2\u0104"+ + "*\3\2\2\2\u0105\u0106\7?\2\2\u0106,\3\2\2\2\u0107\u0108\7>\2\2\u0108\u010c"+ + "\7@\2\2\u0109\u010a\7#\2\2\u010a\u010c\7?\2\2\u010b\u0107\3\2\2\2\u010b"+ + "\u0109\3\2\2\2\u010c.\3\2\2\2\u010d\u010e\7@\2\2\u010e\60\3\2\2\2\u010f"+ + "\u0110\7@\2\2\u0110\u0111\7?\2\2\u0111\62\3\2\2\2\u0112\u0113\7>\2\2\u0113"+ + "\64\3\2\2\2\u0114\u0115\7>\2\2\u0115\u0116\7?\2\2\u0116\66\3\2\2\2\u0117"+ + "\u0118\7%\2\2\u01188\3\2\2\2\u0119\u011a\7*\2\2\u011a:\3\2\2\2\u011b\u011c"+ + "\7+\2\2\u011c<\3\2\2\2\u011d\u011e\7}\2\2\u011e>\3\2\2\2\u011f\u0120\7"+ + "\177\2\2\u0120@\3\2\2\2\u0121\u0122\7]\2\2\u0122B\3\2\2\2\u0123\u0124"+ + "\7_\2\2\u0124D\3\2\2\2\u0125\u0126\7.\2\2\u0126F\3\2\2\2\u0127\u0128\7"+ + "$\2\2\u0128H\3\2\2\2\u0129\u012a\7)\2\2\u012aJ\3\2\2\2\u012b\u012c\7b"+ + "\2\2\u012cL\3\2\2\2\u012d\u012e\7A\2\2\u012eN\3\2\2\2\u012f\u0130\7B\2"+ + "\2\u0130P\3\2\2\2\u0131\u0132\7=\2\2\u0132R\3\2\2\2\u0133\u0134\7/\2\2"+ + "\u0134\u0135\7@\2\2\u0135\u0136\7@\2\2\u0136T\3\2\2\2\u0137\u0138\7a\2"+ + "\2\u0138V\3\2\2\2\u0139\u013b\t\2\2\2\u013a\u0139\3\2\2\2\u013b\u013c"+ + "\3\2\2\2\u013c\u013a\3\2\2\2\u013c\u013d\3\2\2\2\u013d\u013e\3\2\2\2\u013e"+ + "\u013f\b,\2\2\u013fX\3\2\2\2\u0140\u0141\5\u00b9]\2\u0141\u0142\5\u00b5"+ + "[\2\u0142\u0143\5\u00bb^\2\u0143\u0144\5\u009bN\2\u0144Z\3\2\2\2\u0145"+ + "\u0146\5\u009dO\2\u0146\u0147\5\u0093J\2\u0147\u0148\5\u00a9U\2\u0148"+ + "\u0149\5\u00b7\\\2\u0149\u014a\5\u009bN\2\u014a\\\3\2\2\2\u014b\u014c"+ + "\5\u0097L\2\u014c\u014d\5\u00b5[\2\u014d\u014e\5\u009bN\2\u014e\u014f"+ + "\5\u0093J\2\u014f\u0150\5\u00b9]\2\u0150\u0151\5\u009bN\2\u0151^\3\2\2"+ + "\2\u0152\u0153\5\u0093J\2\u0153\u0154\5\u00a9U\2\u0154\u0155\5\u00b9]"+ + "\2\u0155\u0156\5\u009bN\2\u0156\u0157\5\u00b5[\2\u0157`\3\2\2\2\u0158"+ + "\u0159\5\u0099M\2\u0159\u015a\5\u00b5[\2\u015a\u015b\5\u00afX\2\u015b"+ + "\u015c\5\u00b1Y\2\u015cb\3\2\2\2\u015d\u015e\5\u00b7\\\2\u015e\u015f\5"+ + "\u00a1Q\2\u015f\u0160\5\u00afX\2\u0160\u0161\5\u00bf`\2\u0161d\3\2\2\2"+ + "\u0162\u0163\5\u00b5[\2\u0163\u0164\5\u00bb^\2\u0164\u0165\5\u00a9U\2"+ + "\u0165\u0166\5\u009bN\2\u0166f\3\2\2\2\u0167\u0168\5\u009dO\2\u0168\u0169"+ + "\5\u00b5[\2\u0169\u016a\5\u00afX\2\u016a\u016b\5\u00abV\2\u016bh\3\2\2"+ + "\2\u016c\u016d\5\u00b5[\2\u016d\u016e\5\u009bN\2\u016e\u016f\5\u0093J"+ + "\2\u016f\u0170\5\u0099M\2\u0170\u0171\5\u00bf`\2\u0171\u0172\5\u00b5["+ + "\2\u0172\u0173\5\u00a3R\2\u0173\u0174\5\u00b9]\2\u0174\u0175\5\u009bN"+ + "\2\u0175\u0176\5U+\2\u0176\u0177\5\u00b7\\\2\u0177\u0178\5\u00b1Y\2\u0178"+ + "\u0179\5\u00a9U\2\u0179\u017a\5\u00a3R\2\u017a\u017b\5\u00b9]\2\u017b"+ + "\u017c\5\u00b9]\2\u017c\u017d\5\u00a3R\2\u017d\u017e\5\u00adW\2\u017e"+ + "\u017f\5\u009fP\2\u017fj\3\2\2\2\u0180\u0181\5\u00bf`\2\u0181\u0182\5"+ + "\u00b5[\2\u0182\u0183\5\u00a3R\2\u0183\u0184\5\u00b9]\2\u0184\u0185\5"+ + "\u009bN\2\u0185\u0186\5U+\2\u0186\u0187\5\u00b7\\\2\u0187\u0188\5\u00b9"+ + "]\2\u0188\u0189\5\u00afX\2\u0189\u018a\5\u00b5[\2\u018a\u018b\5\u0093"+ + "J\2\u018b\u018c\5\u009fP\2\u018c\u018d\5\u009bN\2\u018d\u018e\5U+\2\u018e"+ + "\u018f\5\u00bb^\2\u018f\u0190\5\u00adW\2\u0190\u0191\5\u00a3R\2\u0191"+ + "\u0192\5\u00b9]\2\u0192l\3\2\2\2\u0193\u0194\5\u00b5[\2\u0194\u0195\5"+ + "\u009bN\2\u0195\u0196\5\u0093J\2\u0196\u0197\5\u0099M\2\u0197\u0198\5"+ + "U+\2\u0198\u0199\5\u00b7\\\2\u0199\u019a\5\u00b9]\2\u019a\u019b\5\u00af"+ + "X\2\u019b\u019c\5\u00b5[\2\u019c\u019d\5\u0093J\2\u019d\u019e\5\u009f"+ + "P\2\u019e\u019f\5\u009bN\2\u019f\u01a0\5U+\2\u01a0\u01a1\5\u00bb^\2\u01a1"+ + "\u01a2\5\u00adW\2\u01a2\u01a3\5\u00a3R\2\u01a3\u01a4\5\u00b9]\2\u01a4"+ + "\u01a5\5\u00b7\\\2\u01a5n\3\2\2\2\u01a6\u01a7\5\u00b9]\2\u01a7\u01a8\5"+ + "\u00b5[\2\u01a8\u01a9\5\u0093J\2\u01a9\u01aa\5\u00adW\2\u01aa\u01ab\5"+ + "\u00b7\\\2\u01ab\u01ac\5\u0093J\2\u01ac\u01ad\5\u0097L\2\u01ad\u01ae\5"+ + "\u00b9]\2\u01ae\u01af\5\u00a3R\2\u01af\u01b0\5\u00afX\2\u01b0\u01b1\5"+ + "\u00adW\2\u01b1\u01b2\5\u0093J\2\u01b2\u01b3\5\u00a9U\2\u01b3\u01b4\5"+ + "U+\2\u01b4\u01b5\5\u00b5[\2\u01b5\u01b6\5\u009bN\2\u01b6\u01b7\5\u0093"+ + "J\2\u01b7\u01b8\5\u0099M\2\u01b8\u01b9\5U+\2\u01b9\u01ba\5\u00b3Z\2\u01ba"+ + "\u01bb\5\u00bb^\2\u01bb\u01bc\5\u009bN\2\u01bc\u01bd\5\u00b5[\2\u01bd"+ + "\u01be\5\u00c3b\2\u01be\u01bf\5U+\2\u01bf\u01c0\5\u00b7\\\2\u01c0\u01c1"+ + "\5\u00b9]\2\u01c1\u01c2\5\u00b5[\2\u01c2\u01c3\5\u0093J\2\u01c3\u01c4"+ + "\5\u00b9]\2\u01c4\u01c5\5\u009bN\2\u01c5\u01c6\5\u009fP\2\u01c6\u01c7"+ + "\5\u00c3b\2\u01c7p\3\2\2\2\u01c8\u01c9\5\u00b9]\2\u01c9\u01ca\5\u00c3"+ + "b\2\u01ca\u01cb\5\u00b1Y\2\u01cb\u01cc\5\u009bN\2\u01ccr\3\2\2\2\u01cd"+ + "\u01ce\5\u00adW\2\u01ce\u01cf\5\u0093J\2\u01cf\u01d0\5\u00abV\2\u01d0"+ + "\u01d1\5\u009bN\2\u01d1t\3\2\2\2\u01d2\u01d3\5\u00b1Y\2\u01d3\u01d4\5"+ + "\u00b5[\2\u01d4\u01d5\5\u00afX\2\u01d5\u01d6\5\u00b1Y\2\u01d6\u01d7\5"+ + "\u009bN\2\u01d7\u01d8\5\u00b5[\2\u01d8\u01d9\5\u00b9]\2\u01d9\u01da\5"+ + "\u00a3R\2\u01da\u01db\5\u009bN\2\u01db\u01dc\5\u00b7\\\2\u01dcv\3\2\2"+ + "\2\u01dd\u01de\5\u00b5[\2\u01de\u01df\5\u00bb^\2\u01df\u01e0\5\u00a9U"+ + "\2\u01e0\u01e1\5\u009bN\2\u01e1\u01e2\5\u00b7\\\2\u01e2x\3\2\2\2\u01e3"+ + "\u01e4\5\u00b5[\2\u01e4\u01e5\5\u009bN\2\u01e5\u01e6\5\u00b7\\\2\u01e6"+ + "\u01e7\5\u00afX\2\u01e7\u01e8\5\u00bb^\2\u01e8\u01e9\5\u00b5[\2\u01e9"+ + "\u01ea\5\u0097L\2\u01ea\u01eb\5\u009bN\2\u01eb\u01ec\5\u00b7\\\2\u01ec"+ + "z\3\2\2\2\u01ed\u01ee\5\u00b7\\\2\u01ee\u01ef\5\u00b9]\2\u01ef\u01f0\5"+ + "\u0093J\2\u01f0\u01f1\5\u00b9]\2\u01f1\u01f2\5\u00bb^\2\u01f2\u01f3\5"+ + "\u00b7\\\2\u01f3|\3\2\2\2\u01f4\u01f5\5\u009bN\2\u01f5\u01f6\5\u00adW"+ + "\2\u01f6\u01f7\5\u0093J\2\u01f7\u01f8\5\u0095K\2\u01f8\u01f9\5\u00a9U"+ + "\2\u01f9\u01fa\5\u009bN\2\u01fa~\3\2\2\2\u01fb\u01fc\5\u0099M\2\u01fc"+ + "\u01fd\5\u00a3R\2\u01fd\u01fe\5\u00b7\\\2\u01fe\u01ff\5\u0093J\2\u01ff"+ + "\u0200\5\u0095K\2\u0200\u0201\5\u00a9U\2\u0201\u0202\5\u009bN\2\u0202"+ + "\u0080\3\2\2\2\u0203\u0204\5\u00b5[\2\u0204\u0205\5\u009bN\2\u0205\u0206"+ + "\5\u0093J\2\u0206\u0207\5\u0099M\2\u0207\u0082\3\2\2\2\u0208\u0209\5\u00a3"+ + "R\2\u0209\u020a\5\u009dO\2\u020a\u0084\3\2\2\2\u020b\u020c\5\u009bN\2"+ + "\u020c\u020d\5\u00c1a\2\u020d\u020e\5\u00a3R\2\u020e\u020f\5\u00b7\\\2"+ + "\u020f\u0210\5\u00b9]\2\u0210\u0211\5\u00b7\\\2\u0211\u0086\3\2\2\2\u0212"+ + "\u0213\5\u0097L\2\u0213\u0214\5\u00afX\2\u0214\u0215\5\u00bb^\2\u0215"+ + "\u0216\5\u00adW\2\u0216\u0217\5\u00b9]\2\u0217\u0088\3\2\2\2\u0218\u0219"+ + "\5\u00b5[\2\u0219\u021a\5\u00afX\2\u021a\u021b\5\u00bb^\2\u021b\u021c"+ + "\5\u00adW\2\u021c\u021d\5\u0099M\2\u021d\u021e\5U+\2\u021e\u021f\5\u00b5"+ + "[\2\u021f\u0220\5\u00afX\2\u0220\u0221\5\u0095K\2\u0221\u0222\5\u00a3"+ + "R\2\u0222\u0223\5\u00adW\2\u0223\u008a\3\2\2\2\u0224\u0225\5\u00b5[\2"+ + "\u0225\u0226\5\u0093J\2\u0226\u0227\5\u00adW\2\u0227\u0228\5\u0099M\2"+ + "\u0228\u0229\5\u00afX\2\u0229\u022a\5\u00abV\2\u022a\u008c\3\2\2\2\u022b"+ + "\u022c\5\u00bf`\2\u022c\u022d\5\u009bN\2\u022d\u022e\5\u00a3R\2\u022e"+ + "\u022f\5\u009fP\2\u022f\u0230\5\u00a1Q\2\u0230\u0231\5\u00b9]\2\u0231"+ + "\u008e\3\2\2\2\u0232\u0233\5\u00adW\2\u0233\u0234\5\u00afX\2\u0234\u0235"+ + "\5\u00b9]\2\u0235\u0090\3\2\2\2\u0236\u0237\7F\2\2\u0237\u0238\7Q\2\2"+ + "\u0238\u0239\7\"\2\2\u0239\u023a\7P\2\2\u023a\u023b\7Q\2\2\u023b\u023c"+ + "\7V\2\2\u023c\u023d\7\"\2\2\u023d\u023e\7O\2\2\u023e\u023f\7C\2\2\u023f"+ + "\u0240\7V\2\2\u0240\u0241\7E\2\2\u0241\u0242\7J\2\2\u0242\u0243\7\"\2"+ + "\2\u0243\u0244\7C\2\2\u0244\u0245\7P\2\2\u0245\u0246\7[\2\2\u0246\u0247"+ + "\7\"\2\2\u0247\u0248\7V\2\2\u0248\u0249\7J\2\2\u0249\u024a\7K\2\2\u024a"+ + "\u024b\7P\2\2\u024b\u024c\7I\2\2\u024c\u024d\7.\2\2\u024d\u024e\7\"\2"+ + "\2\u024e\u024f\7L\2\2\u024f\u0250\7W\2\2\u0250\u0251\7U\2\2\u0251\u0252"+ + "\7V\2\2\u0252\u0253\7\"\2\2\u0253\u0254\7H\2\2\u0254\u0255\7Q\2\2\u0255"+ + "\u0256\7T\2\2\u0256\u0257\7\"\2\2\u0257\u0258\7I\2\2\u0258\u0259\7G\2"+ + "\2\u0259\u025a\7P\2\2\u025a\u025b\7G\2\2\u025b\u025c\7T\2\2\u025c\u025d"+ + "\7C\2\2\u025d\u025e\7V\2\2\u025e\u025f\7Q\2\2\u025f\u0260\7T\2\2\u0260"+ + "\u0092\3\2\2\2\u0261\u0262\t\3\2\2\u0262\u0094\3\2\2\2\u0263\u0264\t\4"+ + "\2\2\u0264\u0096\3\2\2\2\u0265\u0266\t\5\2\2\u0266\u0098\3\2\2\2\u0267"+ + "\u0268\t\6\2\2\u0268\u009a\3\2\2\2\u0269\u026a\t\7\2\2\u026a\u009c\3\2"+ + "\2\2\u026b\u026c\t\b\2\2\u026c\u009e\3\2\2\2\u026d\u026e\t\t\2\2\u026e"+ + "\u00a0\3\2\2\2\u026f\u0270\t\n\2\2\u0270\u00a2\3\2\2\2\u0271\u0272\t\13"+ + "\2\2\u0272\u00a4\3\2\2\2\u0273\u0274\t\f\2\2\u0274\u00a6\3\2\2\2\u0275"+ + "\u0276\t\r\2\2\u0276\u00a8\3\2\2\2\u0277\u0278\t\16\2\2\u0278\u00aa\3"+ + "\2\2\2\u0279\u027a\t\17\2\2\u027a\u00ac\3\2\2\2\u027b\u027c\t\20\2\2\u027c"+ + "\u00ae\3\2\2\2\u027d\u027e\t\21\2\2\u027e\u00b0\3\2\2\2\u027f\u0280\t"+ + "\22\2\2\u0280\u00b2\3\2\2\2\u0281\u0282\t\23\2\2\u0282\u00b4\3\2\2\2\u0283"+ + "\u0284\t\24\2\2\u0284\u00b6\3\2\2\2\u0285\u0286\t\25\2\2\u0286\u00b8\3"+ + "\2\2\2\u0287\u0288\t\26\2\2\u0288\u00ba\3\2\2\2\u0289\u028a\t\27\2\2\u028a"+ + "\u00bc\3\2\2\2\u028b\u028c\t\30\2\2\u028c\u00be\3\2\2\2\u028d\u028e\t"+ + "\31\2\2\u028e\u00c0\3\2\2\2\u028f\u0290\t\32\2\2\u0290\u00c2\3\2\2\2\u0291"+ + "\u0292\t\33\2\2\u0292\u00c4\3\2\2\2\u0293\u0294\t\34\2\2\u0294\u00c6\3"+ + "\2\2\2\u0295\u0297\t\35\2\2\u0296\u0295\3\2\2\2\u0297\u029a\3\2\2\2\u0298"+ + "\u0299\3\2\2\2\u0298\u0296\3\2\2\2\u0299\u029c\3\2\2\2\u029a\u0298\3\2"+ + "\2\2\u029b\u029d\t\36\2\2\u029c\u029b\3\2\2\2\u029d\u029e\3\2\2\2\u029e"+ + "\u029f\3\2\2\2\u029e\u029c\3\2\2\2\u029f\u02a3\3\2\2\2\u02a0\u02a2\t\35"+ + "\2\2\u02a1\u02a0\3\2\2\2\u02a2\u02a5\3\2\2\2\u02a3\u02a1\3\2\2\2\u02a3"+ + "\u02a4\3\2\2\2\u02a4\u02af\3\2\2\2\u02a5\u02a3\3\2\2\2\u02a6\u02a8\5K"+ + "&\2\u02a7\u02a9\n\37\2\2\u02a8\u02a7\3\2\2\2\u02a9\u02aa\3\2\2\2\u02aa"+ + "\u02a8\3\2\2\2\u02aa\u02ab\3\2\2\2\u02ab\u02ac\3\2\2\2\u02ac\u02ad\5K"+ + "&\2\u02ad\u02af\3\2\2\2\u02ae\u0298\3\2\2\2\u02ae\u02a6\3\2\2\2\u02af"+ + "\u00c8\3\2\2\2\u02b0\u02b8\5G$\2\u02b1\u02b2\7^\2\2\u02b2\u02b7\13\2\2"+ + "\2\u02b3\u02b4\7$\2\2\u02b4\u02b7\7$\2\2\u02b5\u02b7\n \2\2\u02b6\u02b1"+ + "\3\2\2\2\u02b6\u02b3\3\2\2\2\u02b6\u02b5\3\2\2\2\u02b7\u02ba\3\2\2\2\u02b8"+ + "\u02b6\3\2\2\2\u02b8\u02b9\3\2\2\2\u02b9\u02bb\3\2\2\2\u02ba\u02b8\3\2"+ + "\2\2\u02bb\u02bc\5G$\2\u02bc\u02cb\3\2\2\2\u02bd\u02c5\5I%\2\u02be\u02bf"+ + "\7^\2\2\u02bf\u02c4\13\2\2\2\u02c0\u02c1\7)\2\2\u02c1\u02c4\7)\2\2\u02c2"+ + "\u02c4\n!\2\2\u02c3\u02be\3\2\2\2\u02c3\u02c0\3\2\2\2\u02c3\u02c2\3\2"+ + "\2\2\u02c4\u02c7\3\2\2\2\u02c5\u02c3\3\2\2\2\u02c5\u02c6\3\2\2\2\u02c6"+ + "\u02c8\3\2\2\2\u02c7\u02c5\3\2\2\2\u02c8\u02c9\5I%\2\u02c9\u02cb\3\2\2"+ + "\2\u02ca\u02b0\3\2\2\2\u02ca\u02bd\3\2\2\2\u02cb\u00ca\3\2\2\2\u02cc\u02ce"+ + "\t\"\2\2\u02cd\u02cc\3\2\2\2\u02ce\u02cf\3\2\2\2\u02cf\u02cd\3\2\2\2\u02cf"+ + "\u02d0\3\2\2\2\u02d0\u00cc\3\2\2\2\u02d1\u02d2\t#\2\2\u02d2\u00ce\3\2"+ + "\2\2\u02d3\u02d5\5\u00cbf\2\u02d4\u02d3\3\2\2\2\u02d4\u02d5\3\2\2\2\u02d5"+ + "\u02d7\3\2\2\2\u02d6\u02d8\5#\22\2\u02d7\u02d6\3\2\2\2\u02d7\u02d8\3\2"+ + "\2\2\u02d8\u02d9\3\2\2\2\u02d9\u02e1\5\u00cbf\2\u02da\u02dd\5\u009bN\2"+ + "\u02db\u02de\5\31\r\2\u02dc\u02de\5\33\16\2\u02dd\u02db\3\2\2\2\u02dd"+ + "\u02dc\3\2\2\2\u02dd\u02de\3\2\2\2\u02de\u02df\3\2\2\2\u02df\u02e0\5\u00cb"+ + "f\2\u02e0\u02e2\3\2\2\2\u02e1\u02da\3\2\2\2\u02e1\u02e2\3\2\2\2\u02e2"+ + "\u00d0\3\2\2\2\u02e3\u02e4\7\62\2\2\u02e4\u02e5\7z\2\2\u02e5\u02e7\3\2"+ + "\2\2\u02e6\u02e8\5\u00cdg\2\u02e7\u02e6\3\2\2\2\u02e8\u02e9\3\2\2\2\u02e9"+ + "\u02e7\3\2\2\2\u02e9\u02ea\3\2\2\2\u02ea\u02f5\3\2\2\2\u02eb\u02ec\7Z"+ + "\2\2\u02ec\u02ee\5I%\2\u02ed\u02ef\5\u00cdg\2\u02ee\u02ed\3\2\2\2\u02ef"+ + "\u02f0\3\2\2\2\u02f0\u02ee\3\2\2\2\u02f0\u02f1\3\2\2\2\u02f1\u02f2\3\2"+ + "\2\2\u02f2\u02f3\5I%\2\u02f3\u02f5\3\2\2\2\u02f4\u02e3\3\2\2\2\u02f4\u02eb"+ + "\3\2\2\2\u02f5\u00d2\3\2\2\2\u02f6\u02f7\7\62\2\2\u02f7\u02f8\7d\2\2\u02f8"+ + "\u02fa\3\2\2\2\u02f9\u02fb\4\62\63\2\u02fa\u02f9\3\2\2\2\u02fb\u02fc\3"+ + "\2\2\2\u02fc\u02fa\3\2\2\2\u02fc\u02fd\3\2\2\2\u02fd\u0308\3\2\2\2\u02fe"+ + "\u02ff\5\u0095K\2\u02ff\u0301\5I%\2\u0300\u0302\4\62\63\2\u0301\u0300"+ + "\3\2\2\2\u0302\u0303\3\2\2\2\u0303\u0301\3\2\2\2\u0303\u0304\3\2\2\2\u0304"+ + "\u0305\3\2\2\2\u0305\u0306\5I%\2\u0306\u0308\3\2\2\2\u0307\u02f6\3\2\2"+ + "\2\u0307\u02fe\3\2\2\2\u0308\u00d4\3\2\2\2\32\2\u010b\u013c\u0298\u029e"+ + "\u02a3\u02aa\u02ae\u02b6\u02b8\u02c3\u02c5\u02ca\u02cf\u02d4\u02d7\u02dd"+ + "\u02e1\u02e9\u02f0\u02f4\u02fc\u0303\u0307\3\b\2\2"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementLexer.tokens b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementLexer.tokens new file mode 100644 index 00000000..8f1734a8 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementLexer.tokens @@ -0,0 +1,121 @@ +AND_=1 +OR_=2 +NOT_=3 +TILDE_=4 +VERTICALBAR_=5 +AMPERSAND_=6 +SIGNEDLEFTSHIFT_=7 +SIGNEDRIGHTSHIFT_=8 +CARET_=9 +MOD_=10 +COLON_=11 +PLUS_=12 +MINUS_=13 +ASTERISK_=14 +SLASH_=15 +BACKSLASH_=16 +DOT_=17 +DOTASTERISK_=18 +SAFEEQ_=19 +DEQ_=20 +EQ_=21 +NEQ_=22 +GT_=23 +GTE_=24 +LT_=25 +LTE_=26 +POUND_=27 +LP_=28 +RP_=29 +LBE_=30 +RBE_=31 +LBT_=32 +RBT_=33 +COMMA_=34 +DQ_=35 +SQ_=36 +BQ_=37 +QUESTION_=38 +AT_=39 +SEMI_=40 +JSONSEPARATOR_=41 +UL_=42 +WS=43 +TRUE=44 +FALSE=45 +CREATE=46 +ALTER=47 +DROP=48 +SHOW=49 +RULE=50 +FROM=51 +READWRITE_SPLITTING=52 +WRITE_STORAGE_UNIT=53 +READ_STORAGE_UNITS=54 +TRANSACTIONAL_READ_QUERY_STRATEGY=55 +TYPE=56 +NAME=57 +PROPERTIES=58 +RULES=59 +RESOURCES=60 +STATUS=61 +ENABLE=62 +DISABLE=63 +READ=64 +IF=65 +EXISTS=66 +COUNT=67 +ROUND_ROBIN=68 +RANDOM=69 +WEIGHT=70 +NOT=71 +FOR_GENERATOR=72 +IDENTIFIER_=73 +STRING_=74 +INT_=75 +HEX_=76 +NUMBER_=77 +HEXDIGIT_=78 +BITNUM_=79 +'&&'=1 +'||'=2 +'!'=3 +'~'=4 +'|'=5 +'&'=6 +'<<'=7 +'>>'=8 +'^'=9 +'%'=10 +':'=11 +'+'=12 +'-'=13 +'*'=14 +'/'=15 +'\\'=16 +'.'=17 +'.*'=18 +'<=>'=19 +'=='=20 +'='=21 +'>'=23 +'>='=24 +'<'=25 +'<='=26 +'#'=27 +'('=28 +')'=29 +'{'=30 +'}'=31 +'['=32 +']'=33 +','=34 +'"'=35 +'\''=36 +'`'=37 +'?'=38 +'@'=39 +';'=40 +'->>'=41 +'_'=42 +'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=72 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementParser.java b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementParser.java new file mode 100644 index 00000000..e23541bb --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementParser.java @@ -0,0 +1,781 @@ +// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/RALStatement.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.misc.*; +import org.antlr.v4.runtime.tree.*; +import java.util.List; +import java.util.Iterator; +import java.util.ArrayList; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class RALStatementParser extends Parser { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, + SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, + ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, + DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, + LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, + SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, + WS=43, TRUE=44, FALSE=45, CREATE=46, ALTER=47, DROP=48, SHOW=49, RULE=50, + FROM=51, READWRITE_SPLITTING=52, WRITE_STORAGE_UNIT=53, READ_STORAGE_UNITS=54, + TRANSACTIONAL_READ_QUERY_STRATEGY=55, TYPE=56, NAME=57, PROPERTIES=58, + RULES=59, RESOURCES=60, STATUS=61, ENABLE=62, DISABLE=63, READ=64, IF=65, + EXISTS=66, COUNT=67, ROUND_ROBIN=68, RANDOM=69, WEIGHT=70, NOT=71, FOR_GENERATOR=72, + IDENTIFIER_=73, STRING_=74, INT_=75, HEX_=76, NUMBER_=77, HEXDIGIT_=78, + BITNUM_=79; + public static final int + RULE_alterReadwriteSplittingStorageUnitStatus = 0, RULE_showStatusFromReadwriteSplittingRules = 1, + RULE_literal = 2, RULE_algorithmDefinition = 3, RULE_algorithmTypeName = 4, + RULE_buildInReadQueryLoadBalanceAlgorithmType = 5, RULE_propertiesDefinition = 6, + RULE_properties = 7, RULE_property = 8, RULE_databaseName = 9, RULE_groupName = 10, + RULE_storageUnitName = 11; + private static String[] makeRuleNames() { + return new String[] { + "alterReadwriteSplittingStorageUnitStatus", "showStatusFromReadwriteSplittingRules", + "literal", "algorithmDefinition", "algorithmTypeName", "buildInReadQueryLoadBalanceAlgorithmType", + "propertiesDefinition", "properties", "property", "databaseName", "groupName", + "storageUnitName" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", + "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", + "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", + "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", + "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", + "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", + "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", + "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", + "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", + "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", + "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", "FROM", "READWRITE_SPLITTING", + "WRITE_STORAGE_UNIT", "READ_STORAGE_UNITS", "TRANSACTIONAL_READ_QUERY_STRATEGY", + "TYPE", "NAME", "PROPERTIES", "RULES", "RESOURCES", "STATUS", "ENABLE", + "DISABLE", "READ", "IF", "EXISTS", "COUNT", "ROUND_ROBIN", "RANDOM", + "WEIGHT", "NOT", "FOR_GENERATOR", "IDENTIFIER_", "STRING_", "INT_", "HEX_", + "NUMBER_", "HEXDIGIT_", "BITNUM_" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + @Override + public String getGrammarFileName() { return "RALStatement.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public ATN getATN() { return _ATN; } + + public RALStatementParser(TokenStream input) { + super(input); + _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + public static class AlterReadwriteSplittingStorageUnitStatusContext extends ParserRuleContext { + public TerminalNode ALTER() { return getToken(RALStatementParser.ALTER, 0); } + public TerminalNode READWRITE_SPLITTING() { return getToken(RALStatementParser.READWRITE_SPLITTING, 0); } + public TerminalNode RULE() { return getToken(RALStatementParser.RULE, 0); } + public StorageUnitNameContext storageUnitName() { + return getRuleContext(StorageUnitNameContext.class,0); + } + public TerminalNode ENABLE() { return getToken(RALStatementParser.ENABLE, 0); } + public TerminalNode DISABLE() { return getToken(RALStatementParser.DISABLE, 0); } + public GroupNameContext groupName() { + return getRuleContext(GroupNameContext.class,0); + } + public TerminalNode FROM() { return getToken(RALStatementParser.FROM, 0); } + public DatabaseNameContext databaseName() { + return getRuleContext(DatabaseNameContext.class,0); + } + public AlterReadwriteSplittingStorageUnitStatusContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_alterReadwriteSplittingStorageUnitStatus; } + } + + public final AlterReadwriteSplittingStorageUnitStatusContext alterReadwriteSplittingStorageUnitStatus() throws RecognitionException { + AlterReadwriteSplittingStorageUnitStatusContext _localctx = new AlterReadwriteSplittingStorageUnitStatusContext(_ctx, getState()); + enterRule(_localctx, 0, RULE_alterReadwriteSplittingStorageUnitStatus); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(24); + match(ALTER); + setState(25); + match(READWRITE_SPLITTING); + setState(26); + match(RULE); + setState(28); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==IDENTIFIER_) { + { + setState(27); + groupName(); + } + } + + setState(30); + _la = _input.LA(1); + if ( !(_la==ENABLE || _la==DISABLE) ) { + _errHandler.recoverInline(this); + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); + consume(); + } + setState(31); + storageUnitName(); + setState(34); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==FROM) { + { + setState(32); + match(FROM); + setState(33); + databaseName(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ShowStatusFromReadwriteSplittingRulesContext extends ParserRuleContext { + public TerminalNode SHOW() { return getToken(RALStatementParser.SHOW, 0); } + public TerminalNode STATUS() { return getToken(RALStatementParser.STATUS, 0); } + public List FROM() { return getTokens(RALStatementParser.FROM); } + public TerminalNode FROM(int i) { + return getToken(RALStatementParser.FROM, i); + } + public TerminalNode READWRITE_SPLITTING() { return getToken(RALStatementParser.READWRITE_SPLITTING, 0); } + public TerminalNode RULES() { return getToken(RALStatementParser.RULES, 0); } + public TerminalNode RULE() { return getToken(RALStatementParser.RULE, 0); } + public GroupNameContext groupName() { + return getRuleContext(GroupNameContext.class,0); + } + public DatabaseNameContext databaseName() { + return getRuleContext(DatabaseNameContext.class,0); + } + public ShowStatusFromReadwriteSplittingRulesContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_showStatusFromReadwriteSplittingRules; } + } + + public final ShowStatusFromReadwriteSplittingRulesContext showStatusFromReadwriteSplittingRules() throws RecognitionException { + ShowStatusFromReadwriteSplittingRulesContext _localctx = new ShowStatusFromReadwriteSplittingRulesContext(_ctx, getState()); + enterRule(_localctx, 2, RULE_showStatusFromReadwriteSplittingRules); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(36); + match(SHOW); + setState(37); + match(STATUS); + setState(38); + match(FROM); + setState(39); + match(READWRITE_SPLITTING); + setState(43); + _errHandler.sync(this); + switch (_input.LA(1)) { + case RULES: + { + setState(40); + match(RULES); + } + break; + case RULE: + { + setState(41); + match(RULE); + setState(42); + groupName(); + } + break; + default: + throw new NoViableAltException(this); + } + setState(47); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==FROM) { + { + setState(45); + match(FROM); + setState(46); + databaseName(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class LiteralContext extends ParserRuleContext { + public TerminalNode STRING_() { return getToken(RALStatementParser.STRING_, 0); } + public TerminalNode INT_() { return getToken(RALStatementParser.INT_, 0); } + public TerminalNode MINUS_() { return getToken(RALStatementParser.MINUS_, 0); } + public TerminalNode TRUE() { return getToken(RALStatementParser.TRUE, 0); } + public TerminalNode FALSE() { return getToken(RALStatementParser.FALSE, 0); } + public LiteralContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_literal; } + } + + public final LiteralContext literal() throws RecognitionException { + LiteralContext _localctx = new LiteralContext(_ctx, getState()); + enterRule(_localctx, 4, RULE_literal); + int _la; + try { + setState(56); + _errHandler.sync(this); + switch (_input.LA(1)) { + case STRING_: + enterOuterAlt(_localctx, 1); + { + setState(49); + match(STRING_); + } + break; + case MINUS_: + case INT_: + enterOuterAlt(_localctx, 2); + { + setState(51); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==MINUS_) { + { + setState(50); + match(MINUS_); + } + } + + setState(53); + match(INT_); + } + break; + case TRUE: + enterOuterAlt(_localctx, 3); + { + setState(54); + match(TRUE); + } + break; + case FALSE: + enterOuterAlt(_localctx, 4); + { + setState(55); + match(FALSE); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AlgorithmDefinitionContext extends ParserRuleContext { + public TerminalNode TYPE() { return getToken(RALStatementParser.TYPE, 0); } + public TerminalNode LP_() { return getToken(RALStatementParser.LP_, 0); } + public TerminalNode NAME() { return getToken(RALStatementParser.NAME, 0); } + public TerminalNode EQ_() { return getToken(RALStatementParser.EQ_, 0); } + public AlgorithmTypeNameContext algorithmTypeName() { + return getRuleContext(AlgorithmTypeNameContext.class,0); + } + public TerminalNode RP_() { return getToken(RALStatementParser.RP_, 0); } + public TerminalNode COMMA_() { return getToken(RALStatementParser.COMMA_, 0); } + public PropertiesDefinitionContext propertiesDefinition() { + return getRuleContext(PropertiesDefinitionContext.class,0); + } + public AlgorithmDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_algorithmDefinition; } + } + + public final AlgorithmDefinitionContext algorithmDefinition() throws RecognitionException { + AlgorithmDefinitionContext _localctx = new AlgorithmDefinitionContext(_ctx, getState()); + enterRule(_localctx, 6, RULE_algorithmDefinition); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(58); + match(TYPE); + setState(59); + match(LP_); + setState(60); + match(NAME); + setState(61); + match(EQ_); + setState(62); + algorithmTypeName(); + setState(65); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==COMMA_) { + { + setState(63); + match(COMMA_); + setState(64); + propertiesDefinition(); + } + } + + setState(67); + match(RP_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AlgorithmTypeNameContext extends ParserRuleContext { + public TerminalNode STRING_() { return getToken(RALStatementParser.STRING_, 0); } + public BuildInReadQueryLoadBalanceAlgorithmTypeContext buildInReadQueryLoadBalanceAlgorithmType() { + return getRuleContext(BuildInReadQueryLoadBalanceAlgorithmTypeContext.class,0); + } + public AlgorithmTypeNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_algorithmTypeName; } + } + + public final AlgorithmTypeNameContext algorithmTypeName() throws RecognitionException { + AlgorithmTypeNameContext _localctx = new AlgorithmTypeNameContext(_ctx, getState()); + enterRule(_localctx, 8, RULE_algorithmTypeName); + try { + setState(71); + _errHandler.sync(this); + switch (_input.LA(1)) { + case STRING_: + enterOuterAlt(_localctx, 1); + { + setState(69); + match(STRING_); + } + break; + case ROUND_ROBIN: + case RANDOM: + case WEIGHT: + enterOuterAlt(_localctx, 2); + { + setState(70); + buildInReadQueryLoadBalanceAlgorithmType(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class BuildInReadQueryLoadBalanceAlgorithmTypeContext extends ParserRuleContext { + public TerminalNode ROUND_ROBIN() { return getToken(RALStatementParser.ROUND_ROBIN, 0); } + public TerminalNode RANDOM() { return getToken(RALStatementParser.RANDOM, 0); } + public TerminalNode WEIGHT() { return getToken(RALStatementParser.WEIGHT, 0); } + public BuildInReadQueryLoadBalanceAlgorithmTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_buildInReadQueryLoadBalanceAlgorithmType; } + } + + public final BuildInReadQueryLoadBalanceAlgorithmTypeContext buildInReadQueryLoadBalanceAlgorithmType() throws RecognitionException { + BuildInReadQueryLoadBalanceAlgorithmTypeContext _localctx = new BuildInReadQueryLoadBalanceAlgorithmTypeContext(_ctx, getState()); + enterRule(_localctx, 10, RULE_buildInReadQueryLoadBalanceAlgorithmType); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(73); + _la = _input.LA(1); + if ( !(((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & ((1L << (ROUND_ROBIN - 68)) | (1L << (RANDOM - 68)) | (1L << (WEIGHT - 68)))) != 0)) ) { + _errHandler.recoverInline(this); + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PropertiesDefinitionContext extends ParserRuleContext { + public TerminalNode PROPERTIES() { return getToken(RALStatementParser.PROPERTIES, 0); } + public TerminalNode LP_() { return getToken(RALStatementParser.LP_, 0); } + public TerminalNode RP_() { return getToken(RALStatementParser.RP_, 0); } + public PropertiesContext properties() { + return getRuleContext(PropertiesContext.class,0); + } + public PropertiesDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_propertiesDefinition; } + } + + public final PropertiesDefinitionContext propertiesDefinition() throws RecognitionException { + PropertiesDefinitionContext _localctx = new PropertiesDefinitionContext(_ctx, getState()); + enterRule(_localctx, 12, RULE_propertiesDefinition); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(75); + match(PROPERTIES); + setState(76); + match(LP_); + setState(78); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==STRING_) { + { + setState(77); + properties(); + } + } + + setState(80); + match(RP_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PropertiesContext extends ParserRuleContext { + public List property() { + return getRuleContexts(PropertyContext.class); + } + public PropertyContext property(int i) { + return getRuleContext(PropertyContext.class,i); + } + public List COMMA_() { return getTokens(RALStatementParser.COMMA_); } + public TerminalNode COMMA_(int i) { + return getToken(RALStatementParser.COMMA_, i); + } + public PropertiesContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_properties; } + } + + public final PropertiesContext properties() throws RecognitionException { + PropertiesContext _localctx = new PropertiesContext(_ctx, getState()); + enterRule(_localctx, 14, RULE_properties); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(82); + property(); + setState(87); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA_) { + { + { + setState(83); + match(COMMA_); + setState(84); + property(); + } + } + setState(89); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PropertyContext extends ParserRuleContext { + public Token key; + public LiteralContext value; + public TerminalNode EQ_() { return getToken(RALStatementParser.EQ_, 0); } + public TerminalNode STRING_() { return getToken(RALStatementParser.STRING_, 0); } + public LiteralContext literal() { + return getRuleContext(LiteralContext.class,0); + } + public PropertyContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_property; } + } + + public final PropertyContext property() throws RecognitionException { + PropertyContext _localctx = new PropertyContext(_ctx, getState()); + enterRule(_localctx, 16, RULE_property); + try { + enterOuterAlt(_localctx, 1); + { + setState(90); + ((PropertyContext)_localctx).key = match(STRING_); + setState(91); + match(EQ_); + setState(92); + ((PropertyContext)_localctx).value = literal(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class DatabaseNameContext extends ParserRuleContext { + public TerminalNode IDENTIFIER_() { return getToken(RALStatementParser.IDENTIFIER_, 0); } + public DatabaseNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_databaseName; } + } + + public final DatabaseNameContext databaseName() throws RecognitionException { + DatabaseNameContext _localctx = new DatabaseNameContext(_ctx, getState()); + enterRule(_localctx, 18, RULE_databaseName); + try { + enterOuterAlt(_localctx, 1); + { + setState(94); + match(IDENTIFIER_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class GroupNameContext extends ParserRuleContext { + public TerminalNode IDENTIFIER_() { return getToken(RALStatementParser.IDENTIFIER_, 0); } + public GroupNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_groupName; } + } + + public final GroupNameContext groupName() throws RecognitionException { + GroupNameContext _localctx = new GroupNameContext(_ctx, getState()); + enterRule(_localctx, 20, RULE_groupName); + try { + enterOuterAlt(_localctx, 1); + { + setState(96); + match(IDENTIFIER_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class StorageUnitNameContext extends ParserRuleContext { + public TerminalNode IDENTIFIER_() { return getToken(RALStatementParser.IDENTIFIER_, 0); } + public StorageUnitNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_storageUnitName; } + } + + public final StorageUnitNameContext storageUnitName() throws RecognitionException { + StorageUnitNameContext _localctx = new StorageUnitNameContext(_ctx, getState()); + enterRule(_localctx, 22, RULE_storageUnitName); + try { + enterOuterAlt(_localctx, 1); + { + setState(98); + match(IDENTIFIER_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3Qg\4\2\t\2\4\3\t\3"+ + "\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\4\f"+ + "\t\f\4\r\t\r\3\2\3\2\3\2\3\2\5\2\37\n\2\3\2\3\2\3\2\3\2\5\2%\n\2\3\3\3"+ + "\3\3\3\3\3\3\3\3\3\3\3\5\3.\n\3\3\3\3\3\5\3\62\n\3\3\4\3\4\5\4\66\n\4"+ + "\3\4\3\4\3\4\5\4;\n\4\3\5\3\5\3\5\3\5\3\5\3\5\3\5\5\5D\n\5\3\5\3\5\3\6"+ + "\3\6\5\6J\n\6\3\7\3\7\3\b\3\b\3\b\5\bQ\n\b\3\b\3\b\3\t\3\t\3\t\7\tX\n"+ + "\t\f\t\16\t[\13\t\3\n\3\n\3\n\3\n\3\13\3\13\3\f\3\f\3\r\3\r\3\r\2\2\16"+ + "\2\4\6\b\n\f\16\20\22\24\26\30\2\4\3\2@A\3\2FH\2f\2\32\3\2\2\2\4&\3\2"+ + "\2\2\6:\3\2\2\2\b<\3\2\2\2\nI\3\2\2\2\fK\3\2\2\2\16M\3\2\2\2\20T\3\2\2"+ + "\2\22\\\3\2\2\2\24`\3\2\2\2\26b\3\2\2\2\30d\3\2\2\2\32\33\7\61\2\2\33"+ + "\34\7\66\2\2\34\36\7\64\2\2\35\37\5\26\f\2\36\35\3\2\2\2\36\37\3\2\2\2"+ + "\37 \3\2\2\2 !\t\2\2\2!$\5\30\r\2\"#\7\65\2\2#%\5\24\13\2$\"\3\2\2\2$"+ + "%\3\2\2\2%\3\3\2\2\2&\'\7\63\2\2\'(\7?\2\2()\7\65\2\2)-\7\66\2\2*.\7="+ + "\2\2+,\7\64\2\2,.\5\26\f\2-*\3\2\2\2-+\3\2\2\2.\61\3\2\2\2/\60\7\65\2"+ + "\2\60\62\5\24\13\2\61/\3\2\2\2\61\62\3\2\2\2\62\5\3\2\2\2\63;\7L\2\2\64"+ + "\66\7\17\2\2\65\64\3\2\2\2\65\66\3\2\2\2\66\67\3\2\2\2\67;\7M\2\28;\7"+ + ".\2\29;\7/\2\2:\63\3\2\2\2:\65\3\2\2\2:8\3\2\2\2:9\3\2\2\2;\7\3\2\2\2"+ + "<=\7:\2\2=>\7\36\2\2>?\7;\2\2?@\7\27\2\2@C\5\n\6\2AB\7$\2\2BD\5\16\b\2"+ + "CA\3\2\2\2CD\3\2\2\2DE\3\2\2\2EF\7\37\2\2F\t\3\2\2\2GJ\7L\2\2HJ\5\f\7"+ + "\2IG\3\2\2\2IH\3\2\2\2J\13\3\2\2\2KL\t\3\2\2L\r\3\2\2\2MN\7<\2\2NP\7\36"+ + "\2\2OQ\5\20\t\2PO\3\2\2\2PQ\3\2\2\2QR\3\2\2\2RS\7\37\2\2S\17\3\2\2\2T"+ + "Y\5\22\n\2UV\7$\2\2VX\5\22\n\2WU\3\2\2\2X[\3\2\2\2YW\3\2\2\2YZ\3\2\2\2"+ + "Z\21\3\2\2\2[Y\3\2\2\2\\]\7L\2\2]^\7\27\2\2^_\5\6\4\2_\23\3\2\2\2`a\7"+ + "K\2\2a\25\3\2\2\2bc\7K\2\2c\27\3\2\2\2de\7K\2\2e\31\3\2\2\2\f\36$-\61"+ + "\65:CIPY"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatement.interp b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatement.interp new file mode 100644 index 00000000..15e489be --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatement.interp @@ -0,0 +1,193 @@ +token literal names: +null +'&&' +'||' +'!' +'~' +'|' +'&' +'<<' +'>>' +'^' +'%' +':' +'+' +'-' +'*' +'/' +'\\' +'.' +'.*' +'<=>' +'==' +'=' +null +'>' +'>=' +'<' +'<=' +'#' +'(' +')' +'{' +'}' +'[' +']' +',' +'"' +'\'' +'`' +'?' +'@' +';' +'->>' +'_' +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +'DO NOT MATCH ANY THING, JUST FOR GENERATOR' +null +null +null +null +null +null +null + +token symbolic names: +null +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ +WS +TRUE +FALSE +CREATE +ALTER +DROP +SHOW +RULE +FROM +READWRITE_SPLITTING +WRITE_STORAGE_UNIT +READ_STORAGE_UNITS +TRANSACTIONAL_READ_QUERY_STRATEGY +TYPE +NAME +PROPERTIES +RULES +RESOURCES +STATUS +ENABLE +DISABLE +READ +IF +EXISTS +COUNT +ROUND_ROBIN +RANDOM +WEIGHT +NOT +FOR_GENERATOR +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ + +rule names: +createReadwriteSplittingRule +alterReadwriteSplittingRule +dropReadwriteSplittingRule +readwriteSplittingRuleDefinition +dataSourceDefinition +ruleName +writeStorageUnit +readStorageUnits +transactionalReadQueryStrategy +writeStorageUnitName +readStorageUnitsNames +transactionalReadQueryStrategyName +ifExists +ifNotExists +literal +algorithmDefinition +algorithmTypeName +buildInReadQueryLoadBalanceAlgorithmType +propertiesDefinition +properties +property +databaseName +groupName +storageUnitName + + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 81, 192, 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, 3, 2, 3, 2, 3, 2, 3, 2, 5, 2, 55, 10, 2, 3, 2, 3, 2, 3, 2, 7, 2, 60, 10, 2, 12, 2, 14, 2, 63, 11, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 71, 10, 3, 12, 3, 14, 3, 74, 11, 3, 3, 4, 3, 4, 3, 4, 3, 4, 5, 4, 80, 10, 4, 3, 4, 3, 4, 3, 4, 7, 4, 85, 10, 4, 12, 4, 14, 4, 88, 11, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 5, 5, 95, 10, 5, 3, 5, 3, 5, 5, 5, 99, 10, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 7, 12, 127, 10, 12, 12, 12, 14, 12, 130, 11, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 3, 15, 3, 16, 3, 16, 5, 16, 143, 10, 16, 3, 16, 3, 16, 3, 16, 5, 16, 148, 10, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 5, 17, 157, 10, 17, 3, 17, 3, 17, 3, 18, 3, 18, 5, 18, 163, 10, 18, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 5, 20, 170, 10, 20, 3, 20, 3, 20, 3, 21, 3, 21, 3, 21, 7, 21, 177, 10, 21, 12, 21, 14, 21, 180, 11, 21, 3, 22, 3, 22, 3, 22, 3, 22, 3, 23, 3, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 2, 2, 26, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 2, 3, 3, 2, 70, 72, 2, 183, 2, 50, 3, 2, 2, 2, 4, 64, 3, 2, 2, 2, 6, 75, 3, 2, 2, 2, 8, 89, 3, 2, 2, 2, 10, 102, 3, 2, 2, 2, 12, 106, 3, 2, 2, 2, 14, 108, 3, 2, 2, 2, 16, 112, 3, 2, 2, 2, 18, 117, 3, 2, 2, 2, 20, 121, 3, 2, 2, 2, 22, 123, 3, 2, 2, 2, 24, 131, 3, 2, 2, 2, 26, 133, 3, 2, 2, 2, 28, 136, 3, 2, 2, 2, 30, 147, 3, 2, 2, 2, 32, 149, 3, 2, 2, 2, 34, 162, 3, 2, 2, 2, 36, 164, 3, 2, 2, 2, 38, 166, 3, 2, 2, 2, 40, 173, 3, 2, 2, 2, 42, 181, 3, 2, 2, 2, 44, 185, 3, 2, 2, 2, 46, 187, 3, 2, 2, 2, 48, 189, 3, 2, 2, 2, 50, 51, 7, 48, 2, 2, 51, 52, 7, 54, 2, 2, 52, 54, 7, 52, 2, 2, 53, 55, 5, 28, 15, 2, 54, 53, 3, 2, 2, 2, 54, 55, 3, 2, 2, 2, 55, 56, 3, 2, 2, 2, 56, 61, 5, 8, 5, 2, 57, 58, 7, 36, 2, 2, 58, 60, 5, 8, 5, 2, 59, 57, 3, 2, 2, 2, 60, 63, 3, 2, 2, 2, 61, 59, 3, 2, 2, 2, 61, 62, 3, 2, 2, 2, 62, 3, 3, 2, 2, 2, 63, 61, 3, 2, 2, 2, 64, 65, 7, 49, 2, 2, 65, 66, 7, 54, 2, 2, 66, 67, 7, 52, 2, 2, 67, 72, 5, 8, 5, 2, 68, 69, 7, 36, 2, 2, 69, 71, 5, 8, 5, 2, 70, 68, 3, 2, 2, 2, 71, 74, 3, 2, 2, 2, 72, 70, 3, 2, 2, 2, 72, 73, 3, 2, 2, 2, 73, 5, 3, 2, 2, 2, 74, 72, 3, 2, 2, 2, 75, 76, 7, 50, 2, 2, 76, 77, 7, 54, 2, 2, 77, 79, 7, 52, 2, 2, 78, 80, 5, 26, 14, 2, 79, 78, 3, 2, 2, 2, 79, 80, 3, 2, 2, 2, 80, 81, 3, 2, 2, 2, 81, 86, 5, 12, 7, 2, 82, 83, 7, 36, 2, 2, 83, 85, 5, 12, 7, 2, 84, 82, 3, 2, 2, 2, 85, 88, 3, 2, 2, 2, 86, 84, 3, 2, 2, 2, 86, 87, 3, 2, 2, 2, 87, 7, 3, 2, 2, 2, 88, 86, 3, 2, 2, 2, 89, 90, 5, 12, 7, 2, 90, 91, 7, 30, 2, 2, 91, 94, 5, 10, 6, 2, 92, 93, 7, 36, 2, 2, 93, 95, 5, 18, 10, 2, 94, 92, 3, 2, 2, 2, 94, 95, 3, 2, 2, 2, 95, 98, 3, 2, 2, 2, 96, 97, 7, 36, 2, 2, 97, 99, 5, 32, 17, 2, 98, 96, 3, 2, 2, 2, 98, 99, 3, 2, 2, 2, 99, 100, 3, 2, 2, 2, 100, 101, 7, 31, 2, 2, 101, 9, 3, 2, 2, 2, 102, 103, 5, 14, 8, 2, 103, 104, 7, 36, 2, 2, 104, 105, 5, 16, 9, 2, 105, 11, 3, 2, 2, 2, 106, 107, 7, 75, 2, 2, 107, 13, 3, 2, 2, 2, 108, 109, 7, 55, 2, 2, 109, 110, 7, 23, 2, 2, 110, 111, 5, 20, 11, 2, 111, 15, 3, 2, 2, 2, 112, 113, 7, 56, 2, 2, 113, 114, 7, 30, 2, 2, 114, 115, 5, 22, 12, 2, 115, 116, 7, 31, 2, 2, 116, 17, 3, 2, 2, 2, 117, 118, 7, 57, 2, 2, 118, 119, 7, 23, 2, 2, 119, 120, 5, 24, 13, 2, 120, 19, 3, 2, 2, 2, 121, 122, 5, 48, 25, 2, 122, 21, 3, 2, 2, 2, 123, 128, 5, 48, 25, 2, 124, 125, 7, 36, 2, 2, 125, 127, 5, 48, 25, 2, 126, 124, 3, 2, 2, 2, 127, 130, 3, 2, 2, 2, 128, 126, 3, 2, 2, 2, 128, 129, 3, 2, 2, 2, 129, 23, 3, 2, 2, 2, 130, 128, 3, 2, 2, 2, 131, 132, 7, 76, 2, 2, 132, 25, 3, 2, 2, 2, 133, 134, 7, 67, 2, 2, 134, 135, 7, 68, 2, 2, 135, 27, 3, 2, 2, 2, 136, 137, 7, 67, 2, 2, 137, 138, 7, 73, 2, 2, 138, 139, 7, 68, 2, 2, 139, 29, 3, 2, 2, 2, 140, 148, 7, 76, 2, 2, 141, 143, 7, 15, 2, 2, 142, 141, 3, 2, 2, 2, 142, 143, 3, 2, 2, 2, 143, 144, 3, 2, 2, 2, 144, 148, 7, 77, 2, 2, 145, 148, 7, 46, 2, 2, 146, 148, 7, 47, 2, 2, 147, 140, 3, 2, 2, 2, 147, 142, 3, 2, 2, 2, 147, 145, 3, 2, 2, 2, 147, 146, 3, 2, 2, 2, 148, 31, 3, 2, 2, 2, 149, 150, 7, 58, 2, 2, 150, 151, 7, 30, 2, 2, 151, 152, 7, 59, 2, 2, 152, 153, 7, 23, 2, 2, 153, 156, 5, 34, 18, 2, 154, 155, 7, 36, 2, 2, 155, 157, 5, 38, 20, 2, 156, 154, 3, 2, 2, 2, 156, 157, 3, 2, 2, 2, 157, 158, 3, 2, 2, 2, 158, 159, 7, 31, 2, 2, 159, 33, 3, 2, 2, 2, 160, 163, 7, 76, 2, 2, 161, 163, 5, 36, 19, 2, 162, 160, 3, 2, 2, 2, 162, 161, 3, 2, 2, 2, 163, 35, 3, 2, 2, 2, 164, 165, 9, 2, 2, 2, 165, 37, 3, 2, 2, 2, 166, 167, 7, 60, 2, 2, 167, 169, 7, 30, 2, 2, 168, 170, 5, 40, 21, 2, 169, 168, 3, 2, 2, 2, 169, 170, 3, 2, 2, 2, 170, 171, 3, 2, 2, 2, 171, 172, 7, 31, 2, 2, 172, 39, 3, 2, 2, 2, 173, 178, 5, 42, 22, 2, 174, 175, 7, 36, 2, 2, 175, 177, 5, 42, 22, 2, 176, 174, 3, 2, 2, 2, 177, 180, 3, 2, 2, 2, 178, 176, 3, 2, 2, 2, 178, 179, 3, 2, 2, 2, 179, 41, 3, 2, 2, 2, 180, 178, 3, 2, 2, 2, 181, 182, 7, 76, 2, 2, 182, 183, 7, 23, 2, 2, 183, 184, 5, 30, 16, 2, 184, 43, 3, 2, 2, 2, 185, 186, 7, 75, 2, 2, 186, 45, 3, 2, 2, 2, 187, 188, 7, 75, 2, 2, 188, 47, 3, 2, 2, 2, 189, 190, 7, 75, 2, 2, 190, 49, 3, 2, 2, 2, 16, 54, 61, 72, 79, 86, 94, 98, 128, 142, 147, 156, 162, 169, 178] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatement.tokens b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatement.tokens new file mode 100644 index 00000000..8f1734a8 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatement.tokens @@ -0,0 +1,121 @@ +AND_=1 +OR_=2 +NOT_=3 +TILDE_=4 +VERTICALBAR_=5 +AMPERSAND_=6 +SIGNEDLEFTSHIFT_=7 +SIGNEDRIGHTSHIFT_=8 +CARET_=9 +MOD_=10 +COLON_=11 +PLUS_=12 +MINUS_=13 +ASTERISK_=14 +SLASH_=15 +BACKSLASH_=16 +DOT_=17 +DOTASTERISK_=18 +SAFEEQ_=19 +DEQ_=20 +EQ_=21 +NEQ_=22 +GT_=23 +GTE_=24 +LT_=25 +LTE_=26 +POUND_=27 +LP_=28 +RP_=29 +LBE_=30 +RBE_=31 +LBT_=32 +RBT_=33 +COMMA_=34 +DQ_=35 +SQ_=36 +BQ_=37 +QUESTION_=38 +AT_=39 +SEMI_=40 +JSONSEPARATOR_=41 +UL_=42 +WS=43 +TRUE=44 +FALSE=45 +CREATE=46 +ALTER=47 +DROP=48 +SHOW=49 +RULE=50 +FROM=51 +READWRITE_SPLITTING=52 +WRITE_STORAGE_UNIT=53 +READ_STORAGE_UNITS=54 +TRANSACTIONAL_READ_QUERY_STRATEGY=55 +TYPE=56 +NAME=57 +PROPERTIES=58 +RULES=59 +RESOURCES=60 +STATUS=61 +ENABLE=62 +DISABLE=63 +READ=64 +IF=65 +EXISTS=66 +COUNT=67 +ROUND_ROBIN=68 +RANDOM=69 +WEIGHT=70 +NOT=71 +FOR_GENERATOR=72 +IDENTIFIER_=73 +STRING_=74 +INT_=75 +HEX_=76 +NUMBER_=77 +HEXDIGIT_=78 +BITNUM_=79 +'&&'=1 +'||'=2 +'!'=3 +'~'=4 +'|'=5 +'&'=6 +'<<'=7 +'>>'=8 +'^'=9 +'%'=10 +':'=11 +'+'=12 +'-'=13 +'*'=14 +'/'=15 +'\\'=16 +'.'=17 +'.*'=18 +'<=>'=19 +'=='=20 +'='=21 +'>'=23 +'>='=24 +'<'=25 +'<='=26 +'#'=27 +'('=28 +')'=29 +'{'=30 +'}'=31 +'['=32 +']'=33 +','=34 +'"'=35 +'\''=36 +'`'=37 +'?'=38 +'@'=39 +';'=40 +'->>'=41 +'_'=42 +'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=72 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementLexer.interp b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementLexer.interp new file mode 100644 index 00000000..3301b273 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementLexer.interp @@ -0,0 +1,280 @@ +token literal names: +null +'&&' +'||' +'!' +'~' +'|' +'&' +'<<' +'>>' +'^' +'%' +':' +'+' +'-' +'*' +'/' +'\\' +'.' +'.*' +'<=>' +'==' +'=' +null +'>' +'>=' +'<' +'<=' +'#' +'(' +')' +'{' +'}' +'[' +']' +',' +'"' +'\'' +'`' +'?' +'@' +';' +'->>' +'_' +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +'DO NOT MATCH ANY THING, JUST FOR GENERATOR' +null +null +null +null +null +null +null + +token symbolic names: +null +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ +WS +TRUE +FALSE +CREATE +ALTER +DROP +SHOW +RULE +FROM +READWRITE_SPLITTING +WRITE_STORAGE_UNIT +READ_STORAGE_UNITS +TRANSACTIONAL_READ_QUERY_STRATEGY +TYPE +NAME +PROPERTIES +RULES +RESOURCES +STATUS +ENABLE +DISABLE +READ +IF +EXISTS +COUNT +ROUND_ROBIN +RANDOM +WEIGHT +NOT +FOR_GENERATOR +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ + +rule names: +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ +WS +TRUE +FALSE +CREATE +ALTER +DROP +SHOW +RULE +FROM +READWRITE_SPLITTING +WRITE_STORAGE_UNIT +READ_STORAGE_UNITS +TRANSACTIONAL_READ_QUERY_STRATEGY +TYPE +NAME +PROPERTIES +RULES +RESOURCES +STATUS +ENABLE +DISABLE +READ +IF +EXISTS +COUNT +ROUND_ROBIN +RANDOM +WEIGHT +NOT +FOR_GENERATOR +A +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y +Z +IDENTIFIER_ +STRING_ +INT_ +HEX_ +NUMBER_ +HEXDIGIT_ +BITNUM_ + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 81, 777, 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, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 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, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 268, 10, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 44, 6, 44, 315, 10, 44, 13, 44, 14, 44, 316, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 66, 3, 66, 3, 66, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 72, 3, 72, 3, 72, 3, 72, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 74, 3, 74, 3, 75, 3, 75, 3, 76, 3, 76, 3, 77, 3, 77, 3, 78, 3, 78, 3, 79, 3, 79, 3, 80, 3, 80, 3, 81, 3, 81, 3, 82, 3, 82, 3, 83, 3, 83, 3, 84, 3, 84, 3, 85, 3, 85, 3, 86, 3, 86, 3, 87, 3, 87, 3, 88, 3, 88, 3, 89, 3, 89, 3, 90, 3, 90, 3, 91, 3, 91, 3, 92, 3, 92, 3, 93, 3, 93, 3, 94, 3, 94, 3, 95, 3, 95, 3, 96, 3, 96, 3, 97, 3, 97, 3, 98, 3, 98, 3, 99, 3, 99, 3, 100, 7, 100, 663, 10, 100, 12, 100, 14, 100, 666, 11, 100, 3, 100, 6, 100, 669, 10, 100, 13, 100, 14, 100, 670, 3, 100, 7, 100, 674, 10, 100, 12, 100, 14, 100, 677, 11, 100, 3, 100, 3, 100, 6, 100, 681, 10, 100, 13, 100, 14, 100, 682, 3, 100, 3, 100, 5, 100, 687, 10, 100, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 7, 101, 695, 10, 101, 12, 101, 14, 101, 698, 11, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 7, 101, 708, 10, 101, 12, 101, 14, 101, 711, 11, 101, 3, 101, 3, 101, 5, 101, 715, 10, 101, 3, 102, 6, 102, 718, 10, 102, 13, 102, 14, 102, 719, 3, 103, 3, 103, 3, 104, 5, 104, 725, 10, 104, 3, 104, 5, 104, 728, 10, 104, 3, 104, 3, 104, 3, 104, 3, 104, 5, 104, 734, 10, 104, 3, 104, 3, 104, 5, 104, 738, 10, 104, 3, 105, 3, 105, 3, 105, 3, 105, 6, 105, 744, 10, 105, 13, 105, 14, 105, 745, 3, 105, 3, 105, 3, 105, 6, 105, 751, 10, 105, 13, 105, 14, 105, 752, 3, 105, 3, 105, 5, 105, 757, 10, 105, 3, 106, 3, 106, 3, 106, 3, 106, 6, 106, 763, 10, 106, 13, 106, 14, 106, 764, 3, 106, 3, 106, 3, 106, 6, 106, 770, 10, 106, 13, 106, 14, 106, 771, 3, 106, 3, 106, 5, 106, 776, 10, 106, 4, 664, 670, 2, 107, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, 91, 47, 93, 48, 95, 49, 97, 50, 99, 51, 101, 52, 103, 53, 105, 54, 107, 55, 109, 56, 111, 57, 113, 58, 115, 59, 117, 60, 119, 61, 121, 62, 123, 63, 125, 64, 127, 65, 129, 66, 131, 67, 133, 68, 135, 69, 137, 70, 139, 71, 141, 72, 143, 73, 145, 74, 147, 2, 149, 2, 151, 2, 153, 2, 155, 2, 157, 2, 159, 2, 161, 2, 163, 2, 165, 2, 167, 2, 169, 2, 171, 2, 173, 2, 175, 2, 177, 2, 179, 2, 181, 2, 183, 2, 185, 2, 187, 2, 189, 2, 191, 2, 193, 2, 195, 2, 197, 2, 199, 75, 201, 76, 203, 77, 205, 78, 207, 79, 209, 80, 211, 81, 3, 2, 36, 5, 2, 11, 12, 15, 15, 34, 34, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 7, 2, 38, 38, 50, 59, 67, 92, 97, 97, 99, 124, 6, 2, 38, 38, 67, 92, 97, 97, 99, 124, 3, 2, 98, 98, 4, 2, 36, 36, 94, 94, 4, 2, 41, 41, 94, 94, 3, 2, 50, 59, 5, 2, 50, 59, 67, 72, 99, 104, 2, 776, 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, 199, 3, 2, 2, 2, 2, 201, 3, 2, 2, 2, 2, 203, 3, 2, 2, 2, 2, 205, 3, 2, 2, 2, 2, 207, 3, 2, 2, 2, 2, 209, 3, 2, 2, 2, 2, 211, 3, 2, 2, 2, 3, 213, 3, 2, 2, 2, 5, 216, 3, 2, 2, 2, 7, 219, 3, 2, 2, 2, 9, 221, 3, 2, 2, 2, 11, 223, 3, 2, 2, 2, 13, 225, 3, 2, 2, 2, 15, 227, 3, 2, 2, 2, 17, 230, 3, 2, 2, 2, 19, 233, 3, 2, 2, 2, 21, 235, 3, 2, 2, 2, 23, 237, 3, 2, 2, 2, 25, 239, 3, 2, 2, 2, 27, 241, 3, 2, 2, 2, 29, 243, 3, 2, 2, 2, 31, 245, 3, 2, 2, 2, 33, 247, 3, 2, 2, 2, 35, 249, 3, 2, 2, 2, 37, 251, 3, 2, 2, 2, 39, 254, 3, 2, 2, 2, 41, 258, 3, 2, 2, 2, 43, 261, 3, 2, 2, 2, 45, 267, 3, 2, 2, 2, 47, 269, 3, 2, 2, 2, 49, 271, 3, 2, 2, 2, 51, 274, 3, 2, 2, 2, 53, 276, 3, 2, 2, 2, 55, 279, 3, 2, 2, 2, 57, 281, 3, 2, 2, 2, 59, 283, 3, 2, 2, 2, 61, 285, 3, 2, 2, 2, 63, 287, 3, 2, 2, 2, 65, 289, 3, 2, 2, 2, 67, 291, 3, 2, 2, 2, 69, 293, 3, 2, 2, 2, 71, 295, 3, 2, 2, 2, 73, 297, 3, 2, 2, 2, 75, 299, 3, 2, 2, 2, 77, 301, 3, 2, 2, 2, 79, 303, 3, 2, 2, 2, 81, 305, 3, 2, 2, 2, 83, 307, 3, 2, 2, 2, 85, 311, 3, 2, 2, 2, 87, 314, 3, 2, 2, 2, 89, 320, 3, 2, 2, 2, 91, 325, 3, 2, 2, 2, 93, 331, 3, 2, 2, 2, 95, 338, 3, 2, 2, 2, 97, 344, 3, 2, 2, 2, 99, 349, 3, 2, 2, 2, 101, 354, 3, 2, 2, 2, 103, 359, 3, 2, 2, 2, 105, 364, 3, 2, 2, 2, 107, 384, 3, 2, 2, 2, 109, 403, 3, 2, 2, 2, 111, 422, 3, 2, 2, 2, 113, 456, 3, 2, 2, 2, 115, 461, 3, 2, 2, 2, 117, 466, 3, 2, 2, 2, 119, 477, 3, 2, 2, 2, 121, 483, 3, 2, 2, 2, 123, 493, 3, 2, 2, 2, 125, 500, 3, 2, 2, 2, 127, 507, 3, 2, 2, 2, 129, 515, 3, 2, 2, 2, 131, 520, 3, 2, 2, 2, 133, 523, 3, 2, 2, 2, 135, 530, 3, 2, 2, 2, 137, 536, 3, 2, 2, 2, 139, 548, 3, 2, 2, 2, 141, 555, 3, 2, 2, 2, 143, 562, 3, 2, 2, 2, 145, 566, 3, 2, 2, 2, 147, 609, 3, 2, 2, 2, 149, 611, 3, 2, 2, 2, 151, 613, 3, 2, 2, 2, 153, 615, 3, 2, 2, 2, 155, 617, 3, 2, 2, 2, 157, 619, 3, 2, 2, 2, 159, 621, 3, 2, 2, 2, 161, 623, 3, 2, 2, 2, 163, 625, 3, 2, 2, 2, 165, 627, 3, 2, 2, 2, 167, 629, 3, 2, 2, 2, 169, 631, 3, 2, 2, 2, 171, 633, 3, 2, 2, 2, 173, 635, 3, 2, 2, 2, 175, 637, 3, 2, 2, 2, 177, 639, 3, 2, 2, 2, 179, 641, 3, 2, 2, 2, 181, 643, 3, 2, 2, 2, 183, 645, 3, 2, 2, 2, 185, 647, 3, 2, 2, 2, 187, 649, 3, 2, 2, 2, 189, 651, 3, 2, 2, 2, 191, 653, 3, 2, 2, 2, 193, 655, 3, 2, 2, 2, 195, 657, 3, 2, 2, 2, 197, 659, 3, 2, 2, 2, 199, 686, 3, 2, 2, 2, 201, 714, 3, 2, 2, 2, 203, 717, 3, 2, 2, 2, 205, 721, 3, 2, 2, 2, 207, 724, 3, 2, 2, 2, 209, 756, 3, 2, 2, 2, 211, 775, 3, 2, 2, 2, 213, 214, 7, 40, 2, 2, 214, 215, 7, 40, 2, 2, 215, 4, 3, 2, 2, 2, 216, 217, 7, 126, 2, 2, 217, 218, 7, 126, 2, 2, 218, 6, 3, 2, 2, 2, 219, 220, 7, 35, 2, 2, 220, 8, 3, 2, 2, 2, 221, 222, 7, 128, 2, 2, 222, 10, 3, 2, 2, 2, 223, 224, 7, 126, 2, 2, 224, 12, 3, 2, 2, 2, 225, 226, 7, 40, 2, 2, 226, 14, 3, 2, 2, 2, 227, 228, 7, 62, 2, 2, 228, 229, 7, 62, 2, 2, 229, 16, 3, 2, 2, 2, 230, 231, 7, 64, 2, 2, 231, 232, 7, 64, 2, 2, 232, 18, 3, 2, 2, 2, 233, 234, 7, 96, 2, 2, 234, 20, 3, 2, 2, 2, 235, 236, 7, 39, 2, 2, 236, 22, 3, 2, 2, 2, 237, 238, 7, 60, 2, 2, 238, 24, 3, 2, 2, 2, 239, 240, 7, 45, 2, 2, 240, 26, 3, 2, 2, 2, 241, 242, 7, 47, 2, 2, 242, 28, 3, 2, 2, 2, 243, 244, 7, 44, 2, 2, 244, 30, 3, 2, 2, 2, 245, 246, 7, 49, 2, 2, 246, 32, 3, 2, 2, 2, 247, 248, 7, 94, 2, 2, 248, 34, 3, 2, 2, 2, 249, 250, 7, 48, 2, 2, 250, 36, 3, 2, 2, 2, 251, 252, 7, 48, 2, 2, 252, 253, 7, 44, 2, 2, 253, 38, 3, 2, 2, 2, 254, 255, 7, 62, 2, 2, 255, 256, 7, 63, 2, 2, 256, 257, 7, 64, 2, 2, 257, 40, 3, 2, 2, 2, 258, 259, 7, 63, 2, 2, 259, 260, 7, 63, 2, 2, 260, 42, 3, 2, 2, 2, 261, 262, 7, 63, 2, 2, 262, 44, 3, 2, 2, 2, 263, 264, 7, 62, 2, 2, 264, 268, 7, 64, 2, 2, 265, 266, 7, 35, 2, 2, 266, 268, 7, 63, 2, 2, 267, 263, 3, 2, 2, 2, 267, 265, 3, 2, 2, 2, 268, 46, 3, 2, 2, 2, 269, 270, 7, 64, 2, 2, 270, 48, 3, 2, 2, 2, 271, 272, 7, 64, 2, 2, 272, 273, 7, 63, 2, 2, 273, 50, 3, 2, 2, 2, 274, 275, 7, 62, 2, 2, 275, 52, 3, 2, 2, 2, 276, 277, 7, 62, 2, 2, 277, 278, 7, 63, 2, 2, 278, 54, 3, 2, 2, 2, 279, 280, 7, 37, 2, 2, 280, 56, 3, 2, 2, 2, 281, 282, 7, 42, 2, 2, 282, 58, 3, 2, 2, 2, 283, 284, 7, 43, 2, 2, 284, 60, 3, 2, 2, 2, 285, 286, 7, 125, 2, 2, 286, 62, 3, 2, 2, 2, 287, 288, 7, 127, 2, 2, 288, 64, 3, 2, 2, 2, 289, 290, 7, 93, 2, 2, 290, 66, 3, 2, 2, 2, 291, 292, 7, 95, 2, 2, 292, 68, 3, 2, 2, 2, 293, 294, 7, 46, 2, 2, 294, 70, 3, 2, 2, 2, 295, 296, 7, 36, 2, 2, 296, 72, 3, 2, 2, 2, 297, 298, 7, 41, 2, 2, 298, 74, 3, 2, 2, 2, 299, 300, 7, 98, 2, 2, 300, 76, 3, 2, 2, 2, 301, 302, 7, 65, 2, 2, 302, 78, 3, 2, 2, 2, 303, 304, 7, 66, 2, 2, 304, 80, 3, 2, 2, 2, 305, 306, 7, 61, 2, 2, 306, 82, 3, 2, 2, 2, 307, 308, 7, 47, 2, 2, 308, 309, 7, 64, 2, 2, 309, 310, 7, 64, 2, 2, 310, 84, 3, 2, 2, 2, 311, 312, 7, 97, 2, 2, 312, 86, 3, 2, 2, 2, 313, 315, 9, 2, 2, 2, 314, 313, 3, 2, 2, 2, 315, 316, 3, 2, 2, 2, 316, 314, 3, 2, 2, 2, 316, 317, 3, 2, 2, 2, 317, 318, 3, 2, 2, 2, 318, 319, 8, 44, 2, 2, 319, 88, 3, 2, 2, 2, 320, 321, 5, 185, 93, 2, 321, 322, 5, 181, 91, 2, 322, 323, 5, 187, 94, 2, 323, 324, 5, 155, 78, 2, 324, 90, 3, 2, 2, 2, 325, 326, 5, 157, 79, 2, 326, 327, 5, 147, 74, 2, 327, 328, 5, 169, 85, 2, 328, 329, 5, 183, 92, 2, 329, 330, 5, 155, 78, 2, 330, 92, 3, 2, 2, 2, 331, 332, 5, 151, 76, 2, 332, 333, 5, 181, 91, 2, 333, 334, 5, 155, 78, 2, 334, 335, 5, 147, 74, 2, 335, 336, 5, 185, 93, 2, 336, 337, 5, 155, 78, 2, 337, 94, 3, 2, 2, 2, 338, 339, 5, 147, 74, 2, 339, 340, 5, 169, 85, 2, 340, 341, 5, 185, 93, 2, 341, 342, 5, 155, 78, 2, 342, 343, 5, 181, 91, 2, 343, 96, 3, 2, 2, 2, 344, 345, 5, 153, 77, 2, 345, 346, 5, 181, 91, 2, 346, 347, 5, 175, 88, 2, 347, 348, 5, 177, 89, 2, 348, 98, 3, 2, 2, 2, 349, 350, 5, 183, 92, 2, 350, 351, 5, 161, 81, 2, 351, 352, 5, 175, 88, 2, 352, 353, 5, 191, 96, 2, 353, 100, 3, 2, 2, 2, 354, 355, 5, 181, 91, 2, 355, 356, 5, 187, 94, 2, 356, 357, 5, 169, 85, 2, 357, 358, 5, 155, 78, 2, 358, 102, 3, 2, 2, 2, 359, 360, 5, 157, 79, 2, 360, 361, 5, 181, 91, 2, 361, 362, 5, 175, 88, 2, 362, 363, 5, 171, 86, 2, 363, 104, 3, 2, 2, 2, 364, 365, 5, 181, 91, 2, 365, 366, 5, 155, 78, 2, 366, 367, 5, 147, 74, 2, 367, 368, 5, 153, 77, 2, 368, 369, 5, 191, 96, 2, 369, 370, 5, 181, 91, 2, 370, 371, 5, 163, 82, 2, 371, 372, 5, 185, 93, 2, 372, 373, 5, 155, 78, 2, 373, 374, 5, 85, 43, 2, 374, 375, 5, 183, 92, 2, 375, 376, 5, 177, 89, 2, 376, 377, 5, 169, 85, 2, 377, 378, 5, 163, 82, 2, 378, 379, 5, 185, 93, 2, 379, 380, 5, 185, 93, 2, 380, 381, 5, 163, 82, 2, 381, 382, 5, 173, 87, 2, 382, 383, 5, 159, 80, 2, 383, 106, 3, 2, 2, 2, 384, 385, 5, 191, 96, 2, 385, 386, 5, 181, 91, 2, 386, 387, 5, 163, 82, 2, 387, 388, 5, 185, 93, 2, 388, 389, 5, 155, 78, 2, 389, 390, 5, 85, 43, 2, 390, 391, 5, 183, 92, 2, 391, 392, 5, 185, 93, 2, 392, 393, 5, 175, 88, 2, 393, 394, 5, 181, 91, 2, 394, 395, 5, 147, 74, 2, 395, 396, 5, 159, 80, 2, 396, 397, 5, 155, 78, 2, 397, 398, 5, 85, 43, 2, 398, 399, 5, 187, 94, 2, 399, 400, 5, 173, 87, 2, 400, 401, 5, 163, 82, 2, 401, 402, 5, 185, 93, 2, 402, 108, 3, 2, 2, 2, 403, 404, 5, 181, 91, 2, 404, 405, 5, 155, 78, 2, 405, 406, 5, 147, 74, 2, 406, 407, 5, 153, 77, 2, 407, 408, 5, 85, 43, 2, 408, 409, 5, 183, 92, 2, 409, 410, 5, 185, 93, 2, 410, 411, 5, 175, 88, 2, 411, 412, 5, 181, 91, 2, 412, 413, 5, 147, 74, 2, 413, 414, 5, 159, 80, 2, 414, 415, 5, 155, 78, 2, 415, 416, 5, 85, 43, 2, 416, 417, 5, 187, 94, 2, 417, 418, 5, 173, 87, 2, 418, 419, 5, 163, 82, 2, 419, 420, 5, 185, 93, 2, 420, 421, 5, 183, 92, 2, 421, 110, 3, 2, 2, 2, 422, 423, 5, 185, 93, 2, 423, 424, 5, 181, 91, 2, 424, 425, 5, 147, 74, 2, 425, 426, 5, 173, 87, 2, 426, 427, 5, 183, 92, 2, 427, 428, 5, 147, 74, 2, 428, 429, 5, 151, 76, 2, 429, 430, 5, 185, 93, 2, 430, 431, 5, 163, 82, 2, 431, 432, 5, 175, 88, 2, 432, 433, 5, 173, 87, 2, 433, 434, 5, 147, 74, 2, 434, 435, 5, 169, 85, 2, 435, 436, 5, 85, 43, 2, 436, 437, 5, 181, 91, 2, 437, 438, 5, 155, 78, 2, 438, 439, 5, 147, 74, 2, 439, 440, 5, 153, 77, 2, 440, 441, 5, 85, 43, 2, 441, 442, 5, 179, 90, 2, 442, 443, 5, 187, 94, 2, 443, 444, 5, 155, 78, 2, 444, 445, 5, 181, 91, 2, 445, 446, 5, 195, 98, 2, 446, 447, 5, 85, 43, 2, 447, 448, 5, 183, 92, 2, 448, 449, 5, 185, 93, 2, 449, 450, 5, 181, 91, 2, 450, 451, 5, 147, 74, 2, 451, 452, 5, 185, 93, 2, 452, 453, 5, 155, 78, 2, 453, 454, 5, 159, 80, 2, 454, 455, 5, 195, 98, 2, 455, 112, 3, 2, 2, 2, 456, 457, 5, 185, 93, 2, 457, 458, 5, 195, 98, 2, 458, 459, 5, 177, 89, 2, 459, 460, 5, 155, 78, 2, 460, 114, 3, 2, 2, 2, 461, 462, 5, 173, 87, 2, 462, 463, 5, 147, 74, 2, 463, 464, 5, 171, 86, 2, 464, 465, 5, 155, 78, 2, 465, 116, 3, 2, 2, 2, 466, 467, 5, 177, 89, 2, 467, 468, 5, 181, 91, 2, 468, 469, 5, 175, 88, 2, 469, 470, 5, 177, 89, 2, 470, 471, 5, 155, 78, 2, 471, 472, 5, 181, 91, 2, 472, 473, 5, 185, 93, 2, 473, 474, 5, 163, 82, 2, 474, 475, 5, 155, 78, 2, 475, 476, 5, 183, 92, 2, 476, 118, 3, 2, 2, 2, 477, 478, 5, 181, 91, 2, 478, 479, 5, 187, 94, 2, 479, 480, 5, 169, 85, 2, 480, 481, 5, 155, 78, 2, 481, 482, 5, 183, 92, 2, 482, 120, 3, 2, 2, 2, 483, 484, 5, 181, 91, 2, 484, 485, 5, 155, 78, 2, 485, 486, 5, 183, 92, 2, 486, 487, 5, 175, 88, 2, 487, 488, 5, 187, 94, 2, 488, 489, 5, 181, 91, 2, 489, 490, 5, 151, 76, 2, 490, 491, 5, 155, 78, 2, 491, 492, 5, 183, 92, 2, 492, 122, 3, 2, 2, 2, 493, 494, 5, 183, 92, 2, 494, 495, 5, 185, 93, 2, 495, 496, 5, 147, 74, 2, 496, 497, 5, 185, 93, 2, 497, 498, 5, 187, 94, 2, 498, 499, 5, 183, 92, 2, 499, 124, 3, 2, 2, 2, 500, 501, 5, 155, 78, 2, 501, 502, 5, 173, 87, 2, 502, 503, 5, 147, 74, 2, 503, 504, 5, 149, 75, 2, 504, 505, 5, 169, 85, 2, 505, 506, 5, 155, 78, 2, 506, 126, 3, 2, 2, 2, 507, 508, 5, 153, 77, 2, 508, 509, 5, 163, 82, 2, 509, 510, 5, 183, 92, 2, 510, 511, 5, 147, 74, 2, 511, 512, 5, 149, 75, 2, 512, 513, 5, 169, 85, 2, 513, 514, 5, 155, 78, 2, 514, 128, 3, 2, 2, 2, 515, 516, 5, 181, 91, 2, 516, 517, 5, 155, 78, 2, 517, 518, 5, 147, 74, 2, 518, 519, 5, 153, 77, 2, 519, 130, 3, 2, 2, 2, 520, 521, 5, 163, 82, 2, 521, 522, 5, 157, 79, 2, 522, 132, 3, 2, 2, 2, 523, 524, 5, 155, 78, 2, 524, 525, 5, 193, 97, 2, 525, 526, 5, 163, 82, 2, 526, 527, 5, 183, 92, 2, 527, 528, 5, 185, 93, 2, 528, 529, 5, 183, 92, 2, 529, 134, 3, 2, 2, 2, 530, 531, 5, 151, 76, 2, 531, 532, 5, 175, 88, 2, 532, 533, 5, 187, 94, 2, 533, 534, 5, 173, 87, 2, 534, 535, 5, 185, 93, 2, 535, 136, 3, 2, 2, 2, 536, 537, 5, 181, 91, 2, 537, 538, 5, 175, 88, 2, 538, 539, 5, 187, 94, 2, 539, 540, 5, 173, 87, 2, 540, 541, 5, 153, 77, 2, 541, 542, 5, 85, 43, 2, 542, 543, 5, 181, 91, 2, 543, 544, 5, 175, 88, 2, 544, 545, 5, 149, 75, 2, 545, 546, 5, 163, 82, 2, 546, 547, 5, 173, 87, 2, 547, 138, 3, 2, 2, 2, 548, 549, 5, 181, 91, 2, 549, 550, 5, 147, 74, 2, 550, 551, 5, 173, 87, 2, 551, 552, 5, 153, 77, 2, 552, 553, 5, 175, 88, 2, 553, 554, 5, 171, 86, 2, 554, 140, 3, 2, 2, 2, 555, 556, 5, 191, 96, 2, 556, 557, 5, 155, 78, 2, 557, 558, 5, 163, 82, 2, 558, 559, 5, 159, 80, 2, 559, 560, 5, 161, 81, 2, 560, 561, 5, 185, 93, 2, 561, 142, 3, 2, 2, 2, 562, 563, 5, 173, 87, 2, 563, 564, 5, 175, 88, 2, 564, 565, 5, 185, 93, 2, 565, 144, 3, 2, 2, 2, 566, 567, 7, 70, 2, 2, 567, 568, 7, 81, 2, 2, 568, 569, 7, 34, 2, 2, 569, 570, 7, 80, 2, 2, 570, 571, 7, 81, 2, 2, 571, 572, 7, 86, 2, 2, 572, 573, 7, 34, 2, 2, 573, 574, 7, 79, 2, 2, 574, 575, 7, 67, 2, 2, 575, 576, 7, 86, 2, 2, 576, 577, 7, 69, 2, 2, 577, 578, 7, 74, 2, 2, 578, 579, 7, 34, 2, 2, 579, 580, 7, 67, 2, 2, 580, 581, 7, 80, 2, 2, 581, 582, 7, 91, 2, 2, 582, 583, 7, 34, 2, 2, 583, 584, 7, 86, 2, 2, 584, 585, 7, 74, 2, 2, 585, 586, 7, 75, 2, 2, 586, 587, 7, 80, 2, 2, 587, 588, 7, 73, 2, 2, 588, 589, 7, 46, 2, 2, 589, 590, 7, 34, 2, 2, 590, 591, 7, 76, 2, 2, 591, 592, 7, 87, 2, 2, 592, 593, 7, 85, 2, 2, 593, 594, 7, 86, 2, 2, 594, 595, 7, 34, 2, 2, 595, 596, 7, 72, 2, 2, 596, 597, 7, 81, 2, 2, 597, 598, 7, 84, 2, 2, 598, 599, 7, 34, 2, 2, 599, 600, 7, 73, 2, 2, 600, 601, 7, 71, 2, 2, 601, 602, 7, 80, 2, 2, 602, 603, 7, 71, 2, 2, 603, 604, 7, 84, 2, 2, 604, 605, 7, 67, 2, 2, 605, 606, 7, 86, 2, 2, 606, 607, 7, 81, 2, 2, 607, 608, 7, 84, 2, 2, 608, 146, 3, 2, 2, 2, 609, 610, 9, 3, 2, 2, 610, 148, 3, 2, 2, 2, 611, 612, 9, 4, 2, 2, 612, 150, 3, 2, 2, 2, 613, 614, 9, 5, 2, 2, 614, 152, 3, 2, 2, 2, 615, 616, 9, 6, 2, 2, 616, 154, 3, 2, 2, 2, 617, 618, 9, 7, 2, 2, 618, 156, 3, 2, 2, 2, 619, 620, 9, 8, 2, 2, 620, 158, 3, 2, 2, 2, 621, 622, 9, 9, 2, 2, 622, 160, 3, 2, 2, 2, 623, 624, 9, 10, 2, 2, 624, 162, 3, 2, 2, 2, 625, 626, 9, 11, 2, 2, 626, 164, 3, 2, 2, 2, 627, 628, 9, 12, 2, 2, 628, 166, 3, 2, 2, 2, 629, 630, 9, 13, 2, 2, 630, 168, 3, 2, 2, 2, 631, 632, 9, 14, 2, 2, 632, 170, 3, 2, 2, 2, 633, 634, 9, 15, 2, 2, 634, 172, 3, 2, 2, 2, 635, 636, 9, 16, 2, 2, 636, 174, 3, 2, 2, 2, 637, 638, 9, 17, 2, 2, 638, 176, 3, 2, 2, 2, 639, 640, 9, 18, 2, 2, 640, 178, 3, 2, 2, 2, 641, 642, 9, 19, 2, 2, 642, 180, 3, 2, 2, 2, 643, 644, 9, 20, 2, 2, 644, 182, 3, 2, 2, 2, 645, 646, 9, 21, 2, 2, 646, 184, 3, 2, 2, 2, 647, 648, 9, 22, 2, 2, 648, 186, 3, 2, 2, 2, 649, 650, 9, 23, 2, 2, 650, 188, 3, 2, 2, 2, 651, 652, 9, 24, 2, 2, 652, 190, 3, 2, 2, 2, 653, 654, 9, 25, 2, 2, 654, 192, 3, 2, 2, 2, 655, 656, 9, 26, 2, 2, 656, 194, 3, 2, 2, 2, 657, 658, 9, 27, 2, 2, 658, 196, 3, 2, 2, 2, 659, 660, 9, 28, 2, 2, 660, 198, 3, 2, 2, 2, 661, 663, 9, 29, 2, 2, 662, 661, 3, 2, 2, 2, 663, 666, 3, 2, 2, 2, 664, 665, 3, 2, 2, 2, 664, 662, 3, 2, 2, 2, 665, 668, 3, 2, 2, 2, 666, 664, 3, 2, 2, 2, 667, 669, 9, 30, 2, 2, 668, 667, 3, 2, 2, 2, 669, 670, 3, 2, 2, 2, 670, 671, 3, 2, 2, 2, 670, 668, 3, 2, 2, 2, 671, 675, 3, 2, 2, 2, 672, 674, 9, 29, 2, 2, 673, 672, 3, 2, 2, 2, 674, 677, 3, 2, 2, 2, 675, 673, 3, 2, 2, 2, 675, 676, 3, 2, 2, 2, 676, 687, 3, 2, 2, 2, 677, 675, 3, 2, 2, 2, 678, 680, 5, 75, 38, 2, 679, 681, 10, 31, 2, 2, 680, 679, 3, 2, 2, 2, 681, 682, 3, 2, 2, 2, 682, 680, 3, 2, 2, 2, 682, 683, 3, 2, 2, 2, 683, 684, 3, 2, 2, 2, 684, 685, 5, 75, 38, 2, 685, 687, 3, 2, 2, 2, 686, 664, 3, 2, 2, 2, 686, 678, 3, 2, 2, 2, 687, 200, 3, 2, 2, 2, 688, 696, 5, 71, 36, 2, 689, 690, 7, 94, 2, 2, 690, 695, 11, 2, 2, 2, 691, 692, 7, 36, 2, 2, 692, 695, 7, 36, 2, 2, 693, 695, 10, 32, 2, 2, 694, 689, 3, 2, 2, 2, 694, 691, 3, 2, 2, 2, 694, 693, 3, 2, 2, 2, 695, 698, 3, 2, 2, 2, 696, 694, 3, 2, 2, 2, 696, 697, 3, 2, 2, 2, 697, 699, 3, 2, 2, 2, 698, 696, 3, 2, 2, 2, 699, 700, 5, 71, 36, 2, 700, 715, 3, 2, 2, 2, 701, 709, 5, 73, 37, 2, 702, 703, 7, 94, 2, 2, 703, 708, 11, 2, 2, 2, 704, 705, 7, 41, 2, 2, 705, 708, 7, 41, 2, 2, 706, 708, 10, 33, 2, 2, 707, 702, 3, 2, 2, 2, 707, 704, 3, 2, 2, 2, 707, 706, 3, 2, 2, 2, 708, 711, 3, 2, 2, 2, 709, 707, 3, 2, 2, 2, 709, 710, 3, 2, 2, 2, 710, 712, 3, 2, 2, 2, 711, 709, 3, 2, 2, 2, 712, 713, 5, 73, 37, 2, 713, 715, 3, 2, 2, 2, 714, 688, 3, 2, 2, 2, 714, 701, 3, 2, 2, 2, 715, 202, 3, 2, 2, 2, 716, 718, 9, 34, 2, 2, 717, 716, 3, 2, 2, 2, 718, 719, 3, 2, 2, 2, 719, 717, 3, 2, 2, 2, 719, 720, 3, 2, 2, 2, 720, 204, 3, 2, 2, 2, 721, 722, 9, 35, 2, 2, 722, 206, 3, 2, 2, 2, 723, 725, 5, 203, 102, 2, 724, 723, 3, 2, 2, 2, 724, 725, 3, 2, 2, 2, 725, 727, 3, 2, 2, 2, 726, 728, 5, 35, 18, 2, 727, 726, 3, 2, 2, 2, 727, 728, 3, 2, 2, 2, 728, 729, 3, 2, 2, 2, 729, 737, 5, 203, 102, 2, 730, 733, 5, 155, 78, 2, 731, 734, 5, 25, 13, 2, 732, 734, 5, 27, 14, 2, 733, 731, 3, 2, 2, 2, 733, 732, 3, 2, 2, 2, 733, 734, 3, 2, 2, 2, 734, 735, 3, 2, 2, 2, 735, 736, 5, 203, 102, 2, 736, 738, 3, 2, 2, 2, 737, 730, 3, 2, 2, 2, 737, 738, 3, 2, 2, 2, 738, 208, 3, 2, 2, 2, 739, 740, 7, 50, 2, 2, 740, 741, 7, 122, 2, 2, 741, 743, 3, 2, 2, 2, 742, 744, 5, 205, 103, 2, 743, 742, 3, 2, 2, 2, 744, 745, 3, 2, 2, 2, 745, 743, 3, 2, 2, 2, 745, 746, 3, 2, 2, 2, 746, 757, 3, 2, 2, 2, 747, 748, 7, 90, 2, 2, 748, 750, 5, 73, 37, 2, 749, 751, 5, 205, 103, 2, 750, 749, 3, 2, 2, 2, 751, 752, 3, 2, 2, 2, 752, 750, 3, 2, 2, 2, 752, 753, 3, 2, 2, 2, 753, 754, 3, 2, 2, 2, 754, 755, 5, 73, 37, 2, 755, 757, 3, 2, 2, 2, 756, 739, 3, 2, 2, 2, 756, 747, 3, 2, 2, 2, 757, 210, 3, 2, 2, 2, 758, 759, 7, 50, 2, 2, 759, 760, 7, 100, 2, 2, 760, 762, 3, 2, 2, 2, 761, 763, 4, 50, 51, 2, 762, 761, 3, 2, 2, 2, 763, 764, 3, 2, 2, 2, 764, 762, 3, 2, 2, 2, 764, 765, 3, 2, 2, 2, 765, 776, 3, 2, 2, 2, 766, 767, 5, 149, 75, 2, 767, 769, 5, 73, 37, 2, 768, 770, 4, 50, 51, 2, 769, 768, 3, 2, 2, 2, 770, 771, 3, 2, 2, 2, 771, 769, 3, 2, 2, 2, 771, 772, 3, 2, 2, 2, 772, 773, 3, 2, 2, 2, 773, 774, 5, 73, 37, 2, 774, 776, 3, 2, 2, 2, 775, 758, 3, 2, 2, 2, 775, 766, 3, 2, 2, 2, 776, 212, 3, 2, 2, 2, 26, 2, 267, 316, 664, 670, 675, 682, 686, 694, 696, 707, 709, 714, 719, 724, 727, 733, 737, 745, 752, 756, 764, 771, 775, 3, 8, 2, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementLexer.java b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementLexer.java new file mode 100644 index 00000000..d3a6e45d --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementLexer.java @@ -0,0 +1,424 @@ +// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/RDLStatement.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.misc.*; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class RDLStatementLexer extends Lexer { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, + SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, + ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, + DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, + LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, + SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, + WS=43, TRUE=44, FALSE=45, CREATE=46, ALTER=47, DROP=48, SHOW=49, RULE=50, + FROM=51, READWRITE_SPLITTING=52, WRITE_STORAGE_UNIT=53, READ_STORAGE_UNITS=54, + TRANSACTIONAL_READ_QUERY_STRATEGY=55, TYPE=56, NAME=57, PROPERTIES=58, + RULES=59, RESOURCES=60, STATUS=61, ENABLE=62, DISABLE=63, READ=64, IF=65, + EXISTS=66, COUNT=67, ROUND_ROBIN=68, RANDOM=69, WEIGHT=70, NOT=71, FOR_GENERATOR=72, + IDENTIFIER_=73, STRING_=74, INT_=75, HEX_=76, NUMBER_=77, HEXDIGIT_=78, + BITNUM_=79; + public static String[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + + public static String[] modeNames = { + "DEFAULT_MODE" + }; + + private static String[] makeRuleNames() { + return new String[] { + "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", + "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", + "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", + "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", + "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", + "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", "FALSE", "CREATE", "ALTER", + "DROP", "SHOW", "RULE", "FROM", "READWRITE_SPLITTING", "WRITE_STORAGE_UNIT", + "READ_STORAGE_UNITS", "TRANSACTIONAL_READ_QUERY_STRATEGY", "TYPE", "NAME", + "PROPERTIES", "RULES", "RESOURCES", "STATUS", "ENABLE", "DISABLE", "READ", + "IF", "EXISTS", "COUNT", "ROUND_ROBIN", "RANDOM", "WEIGHT", "NOT", "FOR_GENERATOR", + "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", + "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "IDENTIFIER_", + "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", + "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", + "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", + "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", + "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", + "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", + "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", + "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", + "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", + "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", + "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", "FROM", "READWRITE_SPLITTING", + "WRITE_STORAGE_UNIT", "READ_STORAGE_UNITS", "TRANSACTIONAL_READ_QUERY_STRATEGY", + "TYPE", "NAME", "PROPERTIES", "RULES", "RESOURCES", "STATUS", "ENABLE", + "DISABLE", "READ", "IF", "EXISTS", "COUNT", "ROUND_ROBIN", "RANDOM", + "WEIGHT", "NOT", "FOR_GENERATOR", "IDENTIFIER_", "STRING_", "INT_", "HEX_", + "NUMBER_", "HEXDIGIT_", "BITNUM_" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + + public RDLStatementLexer(CharStream input) { + super(input); + _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + @Override + public String getGrammarFileName() { return "RDLStatement.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public String[] getChannelNames() { return channelNames; } + + @Override + public String[] getModeNames() { return modeNames; } + + @Override + public ATN getATN() { return _ATN; } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2Q\u0309\b\1\4\2\t"+ + "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ + "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ + "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ + "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ + "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ + ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ + "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ + "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+ + "\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+ + "\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+ + "`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\3\2\3"+ + "\2\3\2\3\3\3\3\3\3\3\4\3\4\3\5\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\t\3\t"+ + "\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3\17\3\17\3\20\3\20\3"+ + "\21\3\21\3\22\3\22\3\23\3\23\3\23\3\24\3\24\3\24\3\24\3\25\3\25\3\25\3"+ + "\26\3\26\3\27\3\27\3\27\3\27\5\27\u010c\n\27\3\30\3\30\3\31\3\31\3\31"+ + "\3\32\3\32\3\33\3\33\3\33\3\34\3\34\3\35\3\35\3\36\3\36\3\37\3\37\3 \3"+ + " \3!\3!\3\"\3\"\3#\3#\3$\3$\3%\3%\3&\3&\3\'\3\'\3(\3(\3)\3)\3*\3*\3*\3"+ + "*\3+\3+\3,\6,\u013b\n,\r,\16,\u013c\3,\3,\3-\3-\3-\3-\3-\3.\3.\3.\3.\3"+ + ".\3.\3/\3/\3/\3/\3/\3/\3/\3\60\3\60\3\60\3\60\3\60\3\60\3\61\3\61\3\61"+ + "\3\61\3\61\3\62\3\62\3\62\3\62\3\62\3\63\3\63\3\63\3\63\3\63\3\64\3\64"+ + "\3\64\3\64\3\64\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65"+ + "\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\66\3\66\3\66\3\66\3\66"+ + "\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66"+ + "\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67"+ + "\3\67\3\67\3\67\3\67\3\67\38\38\38\38\38\38\38\38\38\38\38\38\38\38\3"+ + "8\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\39\39\39\3"+ + "9\39\3:\3:\3:\3:\3:\3;\3;\3;\3;\3;\3;\3;\3;\3;\3;\3;\3<\3<\3<\3<\3<\3"+ + "<\3=\3=\3=\3=\3=\3=\3=\3=\3=\3=\3>\3>\3>\3>\3>\3>\3>\3?\3?\3?\3?\3?\3"+ + "?\3?\3@\3@\3@\3@\3@\3@\3@\3@\3A\3A\3A\3A\3A\3B\3B\3B\3C\3C\3C\3C\3C\3"+ + "C\3C\3D\3D\3D\3D\3D\3D\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3F\3F\3F\3"+ + "F\3F\3F\3F\3G\3G\3G\3G\3G\3G\3G\3H\3H\3H\3H\3I\3I\3I\3I\3I\3I\3I\3I\3"+ + "I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3"+ + "I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3J\3J\3K\3K\3L\3L\3M\3M\3N\3N\3O\3"+ + "O\3P\3P\3Q\3Q\3R\3R\3S\3S\3T\3T\3U\3U\3V\3V\3W\3W\3X\3X\3Y\3Y\3Z\3Z\3"+ + "[\3[\3\\\3\\\3]\3]\3^\3^\3_\3_\3`\3`\3a\3a\3b\3b\3c\3c\3d\7d\u0297\nd"+ + "\fd\16d\u029a\13d\3d\6d\u029d\nd\rd\16d\u029e\3d\7d\u02a2\nd\fd\16d\u02a5"+ + "\13d\3d\3d\6d\u02a9\nd\rd\16d\u02aa\3d\3d\5d\u02af\nd\3e\3e\3e\3e\3e\3"+ + "e\7e\u02b7\ne\fe\16e\u02ba\13e\3e\3e\3e\3e\3e\3e\3e\3e\7e\u02c4\ne\fe"+ + "\16e\u02c7\13e\3e\3e\5e\u02cb\ne\3f\6f\u02ce\nf\rf\16f\u02cf\3g\3g\3h"+ + "\5h\u02d5\nh\3h\5h\u02d8\nh\3h\3h\3h\3h\5h\u02de\nh\3h\3h\5h\u02e2\nh"+ + "\3i\3i\3i\3i\6i\u02e8\ni\ri\16i\u02e9\3i\3i\3i\6i\u02ef\ni\ri\16i\u02f0"+ + "\3i\3i\5i\u02f5\ni\3j\3j\3j\3j\6j\u02fb\nj\rj\16j\u02fc\3j\3j\3j\6j\u0302"+ + "\nj\rj\16j\u0303\3j\3j\5j\u0308\nj\4\u0298\u029e\2k\3\3\5\4\7\5\t\6\13"+ + "\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\35\20\37\21!\22#\23%\24\'"+ + "\25)\26+\27-\30/\31\61\32\63\33\65\34\67\359\36;\37= ?!A\"C#E$G%I&K\'"+ + "M(O)Q*S+U,W-Y.[/]\60_\61a\62c\63e\64g\65i\66k\67m8o9q:s;u{?}@\177"+ + "A\u0081B\u0083C\u0085D\u0087E\u0089F\u008bG\u008dH\u008fI\u0091J\u0093"+ + "\2\u0095\2\u0097\2\u0099\2\u009b\2\u009d\2\u009f\2\u00a1\2\u00a3\2\u00a5"+ + "\2\u00a7\2\u00a9\2\u00ab\2\u00ad\2\u00af\2\u00b1\2\u00b3\2\u00b5\2\u00b7"+ + "\2\u00b9\2\u00bb\2\u00bd\2\u00bf\2\u00c1\2\u00c3\2\u00c5\2\u00c7K\u00c9"+ + "L\u00cbM\u00cdN\u00cfO\u00d1P\u00d3Q\3\2$\5\2\13\f\17\17\"\"\4\2CCcc\4"+ + "\2DDdd\4\2EEee\4\2FFff\4\2GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4\2LLl"+ + "l\4\2MMmm\4\2NNnn\4\2OOoo\4\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4\2TTtt\4\2"+ + "UUuu\4\2VVvv\4\2WWww\4\2XXxx\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\||\7\2&&\62"+ + ";C\\aac|\6\2&&C\\aac|\3\2bb\4\2$$^^\4\2))^^\3\2\62;\5\2\62;CHch\2\u0308"+ + "\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2"+ + "\2\2\2\17\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\31\3\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2"+ + "\2\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\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\29\3\2\2\2\2;\3"+ + "\2\2\2\2=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2"+ + "\2\2I\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2"+ + "U\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3\2\2\2\2a\3"+ + "\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3\2\2\2\2i\3\2\2\2\2k\3\2\2\2\2m\3\2\2"+ + "\2\2o\3\2\2\2\2q\3\2\2\2\2s\3\2\2\2\2u\3\2\2\2\2w\3\2\2\2\2y\3\2\2\2\2"+ + "{\3\2\2\2\2}\3\2\2\2\2\177\3\2\2\2\2\u0081\3\2\2\2\2\u0083\3\2\2\2\2\u0085"+ + "\3\2\2\2\2\u0087\3\2\2\2\2\u0089\3\2\2\2\2\u008b\3\2\2\2\2\u008d\3\2\2"+ + "\2\2\u008f\3\2\2\2\2\u0091\3\2\2\2\2\u00c7\3\2\2\2\2\u00c9\3\2\2\2\2\u00cb"+ + "\3\2\2\2\2\u00cd\3\2\2\2\2\u00cf\3\2\2\2\2\u00d1\3\2\2\2\2\u00d3\3\2\2"+ + "\2\3\u00d5\3\2\2\2\5\u00d8\3\2\2\2\7\u00db\3\2\2\2\t\u00dd\3\2\2\2\13"+ + "\u00df\3\2\2\2\r\u00e1\3\2\2\2\17\u00e3\3\2\2\2\21\u00e6\3\2\2\2\23\u00e9"+ + "\3\2\2\2\25\u00eb\3\2\2\2\27\u00ed\3\2\2\2\31\u00ef\3\2\2\2\33\u00f1\3"+ + "\2\2\2\35\u00f3\3\2\2\2\37\u00f5\3\2\2\2!\u00f7\3\2\2\2#\u00f9\3\2\2\2"+ + "%\u00fb\3\2\2\2\'\u00fe\3\2\2\2)\u0102\3\2\2\2+\u0105\3\2\2\2-\u010b\3"+ + "\2\2\2/\u010d\3\2\2\2\61\u010f\3\2\2\2\63\u0112\3\2\2\2\65\u0114\3\2\2"+ + "\2\67\u0117\3\2\2\29\u0119\3\2\2\2;\u011b\3\2\2\2=\u011d\3\2\2\2?\u011f"+ + "\3\2\2\2A\u0121\3\2\2\2C\u0123\3\2\2\2E\u0125\3\2\2\2G\u0127\3\2\2\2I"+ + "\u0129\3\2\2\2K\u012b\3\2\2\2M\u012d\3\2\2\2O\u012f\3\2\2\2Q\u0131\3\2"+ + "\2\2S\u0133\3\2\2\2U\u0137\3\2\2\2W\u013a\3\2\2\2Y\u0140\3\2\2\2[\u0145"+ + "\3\2\2\2]\u014b\3\2\2\2_\u0152\3\2\2\2a\u0158\3\2\2\2c\u015d\3\2\2\2e"+ + "\u0162\3\2\2\2g\u0167\3\2\2\2i\u016c\3\2\2\2k\u0180\3\2\2\2m\u0193\3\2"+ + "\2\2o\u01a6\3\2\2\2q\u01c8\3\2\2\2s\u01cd\3\2\2\2u\u01d2\3\2\2\2w\u01dd"+ + "\3\2\2\2y\u01e3\3\2\2\2{\u01ed\3\2\2\2}\u01f4\3\2\2\2\177\u01fb\3\2\2"+ + "\2\u0081\u0203\3\2\2\2\u0083\u0208\3\2\2\2\u0085\u020b\3\2\2\2\u0087\u0212"+ + "\3\2\2\2\u0089\u0218\3\2\2\2\u008b\u0224\3\2\2\2\u008d\u022b\3\2\2\2\u008f"+ + "\u0232\3\2\2\2\u0091\u0236\3\2\2\2\u0093\u0261\3\2\2\2\u0095\u0263\3\2"+ + "\2\2\u0097\u0265\3\2\2\2\u0099\u0267\3\2\2\2\u009b\u0269\3\2\2\2\u009d"+ + "\u026b\3\2\2\2\u009f\u026d\3\2\2\2\u00a1\u026f\3\2\2\2\u00a3\u0271\3\2"+ + "\2\2\u00a5\u0273\3\2\2\2\u00a7\u0275\3\2\2\2\u00a9\u0277\3\2\2\2\u00ab"+ + "\u0279\3\2\2\2\u00ad\u027b\3\2\2\2\u00af\u027d\3\2\2\2\u00b1\u027f\3\2"+ + "\2\2\u00b3\u0281\3\2\2\2\u00b5\u0283\3\2\2\2\u00b7\u0285\3\2\2\2\u00b9"+ + "\u0287\3\2\2\2\u00bb\u0289\3\2\2\2\u00bd\u028b\3\2\2\2\u00bf\u028d\3\2"+ + "\2\2\u00c1\u028f\3\2\2\2\u00c3\u0291\3\2\2\2\u00c5\u0293\3\2\2\2\u00c7"+ + "\u02ae\3\2\2\2\u00c9\u02ca\3\2\2\2\u00cb\u02cd\3\2\2\2\u00cd\u02d1\3\2"+ + "\2\2\u00cf\u02d4\3\2\2\2\u00d1\u02f4\3\2\2\2\u00d3\u0307\3\2\2\2\u00d5"+ + "\u00d6\7(\2\2\u00d6\u00d7\7(\2\2\u00d7\4\3\2\2\2\u00d8\u00d9\7~\2\2\u00d9"+ + "\u00da\7~\2\2\u00da\6\3\2\2\2\u00db\u00dc\7#\2\2\u00dc\b\3\2\2\2\u00dd"+ + "\u00de\7\u0080\2\2\u00de\n\3\2\2\2\u00df\u00e0\7~\2\2\u00e0\f\3\2\2\2"+ + "\u00e1\u00e2\7(\2\2\u00e2\16\3\2\2\2\u00e3\u00e4\7>\2\2\u00e4\u00e5\7"+ + ">\2\2\u00e5\20\3\2\2\2\u00e6\u00e7\7@\2\2\u00e7\u00e8\7@\2\2\u00e8\22"+ + "\3\2\2\2\u00e9\u00ea\7`\2\2\u00ea\24\3\2\2\2\u00eb\u00ec\7\'\2\2\u00ec"+ + "\26\3\2\2\2\u00ed\u00ee\7<\2\2\u00ee\30\3\2\2\2\u00ef\u00f0\7-\2\2\u00f0"+ + "\32\3\2\2\2\u00f1\u00f2\7/\2\2\u00f2\34\3\2\2\2\u00f3\u00f4\7,\2\2\u00f4"+ + "\36\3\2\2\2\u00f5\u00f6\7\61\2\2\u00f6 \3\2\2\2\u00f7\u00f8\7^\2\2\u00f8"+ + "\"\3\2\2\2\u00f9\u00fa\7\60\2\2\u00fa$\3\2\2\2\u00fb\u00fc\7\60\2\2\u00fc"+ + "\u00fd\7,\2\2\u00fd&\3\2\2\2\u00fe\u00ff\7>\2\2\u00ff\u0100\7?\2\2\u0100"+ + "\u0101\7@\2\2\u0101(\3\2\2\2\u0102\u0103\7?\2\2\u0103\u0104\7?\2\2\u0104"+ + "*\3\2\2\2\u0105\u0106\7?\2\2\u0106,\3\2\2\2\u0107\u0108\7>\2\2\u0108\u010c"+ + "\7@\2\2\u0109\u010a\7#\2\2\u010a\u010c\7?\2\2\u010b\u0107\3\2\2\2\u010b"+ + "\u0109\3\2\2\2\u010c.\3\2\2\2\u010d\u010e\7@\2\2\u010e\60\3\2\2\2\u010f"+ + "\u0110\7@\2\2\u0110\u0111\7?\2\2\u0111\62\3\2\2\2\u0112\u0113\7>\2\2\u0113"+ + "\64\3\2\2\2\u0114\u0115\7>\2\2\u0115\u0116\7?\2\2\u0116\66\3\2\2\2\u0117"+ + "\u0118\7%\2\2\u01188\3\2\2\2\u0119\u011a\7*\2\2\u011a:\3\2\2\2\u011b\u011c"+ + "\7+\2\2\u011c<\3\2\2\2\u011d\u011e\7}\2\2\u011e>\3\2\2\2\u011f\u0120\7"+ + "\177\2\2\u0120@\3\2\2\2\u0121\u0122\7]\2\2\u0122B\3\2\2\2\u0123\u0124"+ + "\7_\2\2\u0124D\3\2\2\2\u0125\u0126\7.\2\2\u0126F\3\2\2\2\u0127\u0128\7"+ + "$\2\2\u0128H\3\2\2\2\u0129\u012a\7)\2\2\u012aJ\3\2\2\2\u012b\u012c\7b"+ + "\2\2\u012cL\3\2\2\2\u012d\u012e\7A\2\2\u012eN\3\2\2\2\u012f\u0130\7B\2"+ + "\2\u0130P\3\2\2\2\u0131\u0132\7=\2\2\u0132R\3\2\2\2\u0133\u0134\7/\2\2"+ + "\u0134\u0135\7@\2\2\u0135\u0136\7@\2\2\u0136T\3\2\2\2\u0137\u0138\7a\2"+ + "\2\u0138V\3\2\2\2\u0139\u013b\t\2\2\2\u013a\u0139\3\2\2\2\u013b\u013c"+ + "\3\2\2\2\u013c\u013a\3\2\2\2\u013c\u013d\3\2\2\2\u013d\u013e\3\2\2\2\u013e"+ + "\u013f\b,\2\2\u013fX\3\2\2\2\u0140\u0141\5\u00b9]\2\u0141\u0142\5\u00b5"+ + "[\2\u0142\u0143\5\u00bb^\2\u0143\u0144\5\u009bN\2\u0144Z\3\2\2\2\u0145"+ + "\u0146\5\u009dO\2\u0146\u0147\5\u0093J\2\u0147\u0148\5\u00a9U\2\u0148"+ + "\u0149\5\u00b7\\\2\u0149\u014a\5\u009bN\2\u014a\\\3\2\2\2\u014b\u014c"+ + "\5\u0097L\2\u014c\u014d\5\u00b5[\2\u014d\u014e\5\u009bN\2\u014e\u014f"+ + "\5\u0093J\2\u014f\u0150\5\u00b9]\2\u0150\u0151\5\u009bN\2\u0151^\3\2\2"+ + "\2\u0152\u0153\5\u0093J\2\u0153\u0154\5\u00a9U\2\u0154\u0155\5\u00b9]"+ + "\2\u0155\u0156\5\u009bN\2\u0156\u0157\5\u00b5[\2\u0157`\3\2\2\2\u0158"+ + "\u0159\5\u0099M\2\u0159\u015a\5\u00b5[\2\u015a\u015b\5\u00afX\2\u015b"+ + "\u015c\5\u00b1Y\2\u015cb\3\2\2\2\u015d\u015e\5\u00b7\\\2\u015e\u015f\5"+ + "\u00a1Q\2\u015f\u0160\5\u00afX\2\u0160\u0161\5\u00bf`\2\u0161d\3\2\2\2"+ + "\u0162\u0163\5\u00b5[\2\u0163\u0164\5\u00bb^\2\u0164\u0165\5\u00a9U\2"+ + "\u0165\u0166\5\u009bN\2\u0166f\3\2\2\2\u0167\u0168\5\u009dO\2\u0168\u0169"+ + "\5\u00b5[\2\u0169\u016a\5\u00afX\2\u016a\u016b\5\u00abV\2\u016bh\3\2\2"+ + "\2\u016c\u016d\5\u00b5[\2\u016d\u016e\5\u009bN\2\u016e\u016f\5\u0093J"+ + "\2\u016f\u0170\5\u0099M\2\u0170\u0171\5\u00bf`\2\u0171\u0172\5\u00b5["+ + "\2\u0172\u0173\5\u00a3R\2\u0173\u0174\5\u00b9]\2\u0174\u0175\5\u009bN"+ + "\2\u0175\u0176\5U+\2\u0176\u0177\5\u00b7\\\2\u0177\u0178\5\u00b1Y\2\u0178"+ + "\u0179\5\u00a9U\2\u0179\u017a\5\u00a3R\2\u017a\u017b\5\u00b9]\2\u017b"+ + "\u017c\5\u00b9]\2\u017c\u017d\5\u00a3R\2\u017d\u017e\5\u00adW\2\u017e"+ + "\u017f\5\u009fP\2\u017fj\3\2\2\2\u0180\u0181\5\u00bf`\2\u0181\u0182\5"+ + "\u00b5[\2\u0182\u0183\5\u00a3R\2\u0183\u0184\5\u00b9]\2\u0184\u0185\5"+ + "\u009bN\2\u0185\u0186\5U+\2\u0186\u0187\5\u00b7\\\2\u0187\u0188\5\u00b9"+ + "]\2\u0188\u0189\5\u00afX\2\u0189\u018a\5\u00b5[\2\u018a\u018b\5\u0093"+ + "J\2\u018b\u018c\5\u009fP\2\u018c\u018d\5\u009bN\2\u018d\u018e\5U+\2\u018e"+ + "\u018f\5\u00bb^\2\u018f\u0190\5\u00adW\2\u0190\u0191\5\u00a3R\2\u0191"+ + "\u0192\5\u00b9]\2\u0192l\3\2\2\2\u0193\u0194\5\u00b5[\2\u0194\u0195\5"+ + "\u009bN\2\u0195\u0196\5\u0093J\2\u0196\u0197\5\u0099M\2\u0197\u0198\5"+ + "U+\2\u0198\u0199\5\u00b7\\\2\u0199\u019a\5\u00b9]\2\u019a\u019b\5\u00af"+ + "X\2\u019b\u019c\5\u00b5[\2\u019c\u019d\5\u0093J\2\u019d\u019e\5\u009f"+ + "P\2\u019e\u019f\5\u009bN\2\u019f\u01a0\5U+\2\u01a0\u01a1\5\u00bb^\2\u01a1"+ + "\u01a2\5\u00adW\2\u01a2\u01a3\5\u00a3R\2\u01a3\u01a4\5\u00b9]\2\u01a4"+ + "\u01a5\5\u00b7\\\2\u01a5n\3\2\2\2\u01a6\u01a7\5\u00b9]\2\u01a7\u01a8\5"+ + "\u00b5[\2\u01a8\u01a9\5\u0093J\2\u01a9\u01aa\5\u00adW\2\u01aa\u01ab\5"+ + "\u00b7\\\2\u01ab\u01ac\5\u0093J\2\u01ac\u01ad\5\u0097L\2\u01ad\u01ae\5"+ + "\u00b9]\2\u01ae\u01af\5\u00a3R\2\u01af\u01b0\5\u00afX\2\u01b0\u01b1\5"+ + "\u00adW\2\u01b1\u01b2\5\u0093J\2\u01b2\u01b3\5\u00a9U\2\u01b3\u01b4\5"+ + "U+\2\u01b4\u01b5\5\u00b5[\2\u01b5\u01b6\5\u009bN\2\u01b6\u01b7\5\u0093"+ + "J\2\u01b7\u01b8\5\u0099M\2\u01b8\u01b9\5U+\2\u01b9\u01ba\5\u00b3Z\2\u01ba"+ + "\u01bb\5\u00bb^\2\u01bb\u01bc\5\u009bN\2\u01bc\u01bd\5\u00b5[\2\u01bd"+ + "\u01be\5\u00c3b\2\u01be\u01bf\5U+\2\u01bf\u01c0\5\u00b7\\\2\u01c0\u01c1"+ + "\5\u00b9]\2\u01c1\u01c2\5\u00b5[\2\u01c2\u01c3\5\u0093J\2\u01c3\u01c4"+ + "\5\u00b9]\2\u01c4\u01c5\5\u009bN\2\u01c5\u01c6\5\u009fP\2\u01c6\u01c7"+ + "\5\u00c3b\2\u01c7p\3\2\2\2\u01c8\u01c9\5\u00b9]\2\u01c9\u01ca\5\u00c3"+ + "b\2\u01ca\u01cb\5\u00b1Y\2\u01cb\u01cc\5\u009bN\2\u01ccr\3\2\2\2\u01cd"+ + "\u01ce\5\u00adW\2\u01ce\u01cf\5\u0093J\2\u01cf\u01d0\5\u00abV\2\u01d0"+ + "\u01d1\5\u009bN\2\u01d1t\3\2\2\2\u01d2\u01d3\5\u00b1Y\2\u01d3\u01d4\5"+ + "\u00b5[\2\u01d4\u01d5\5\u00afX\2\u01d5\u01d6\5\u00b1Y\2\u01d6\u01d7\5"+ + "\u009bN\2\u01d7\u01d8\5\u00b5[\2\u01d8\u01d9\5\u00b9]\2\u01d9\u01da\5"+ + "\u00a3R\2\u01da\u01db\5\u009bN\2\u01db\u01dc\5\u00b7\\\2\u01dcv\3\2\2"+ + "\2\u01dd\u01de\5\u00b5[\2\u01de\u01df\5\u00bb^\2\u01df\u01e0\5\u00a9U"+ + "\2\u01e0\u01e1\5\u009bN\2\u01e1\u01e2\5\u00b7\\\2\u01e2x\3\2\2\2\u01e3"+ + "\u01e4\5\u00b5[\2\u01e4\u01e5\5\u009bN\2\u01e5\u01e6\5\u00b7\\\2\u01e6"+ + "\u01e7\5\u00afX\2\u01e7\u01e8\5\u00bb^\2\u01e8\u01e9\5\u00b5[\2\u01e9"+ + "\u01ea\5\u0097L\2\u01ea\u01eb\5\u009bN\2\u01eb\u01ec\5\u00b7\\\2\u01ec"+ + "z\3\2\2\2\u01ed\u01ee\5\u00b7\\\2\u01ee\u01ef\5\u00b9]\2\u01ef\u01f0\5"+ + "\u0093J\2\u01f0\u01f1\5\u00b9]\2\u01f1\u01f2\5\u00bb^\2\u01f2\u01f3\5"+ + "\u00b7\\\2\u01f3|\3\2\2\2\u01f4\u01f5\5\u009bN\2\u01f5\u01f6\5\u00adW"+ + "\2\u01f6\u01f7\5\u0093J\2\u01f7\u01f8\5\u0095K\2\u01f8\u01f9\5\u00a9U"+ + "\2\u01f9\u01fa\5\u009bN\2\u01fa~\3\2\2\2\u01fb\u01fc\5\u0099M\2\u01fc"+ + "\u01fd\5\u00a3R\2\u01fd\u01fe\5\u00b7\\\2\u01fe\u01ff\5\u0093J\2\u01ff"+ + "\u0200\5\u0095K\2\u0200\u0201\5\u00a9U\2\u0201\u0202\5\u009bN\2\u0202"+ + "\u0080\3\2\2\2\u0203\u0204\5\u00b5[\2\u0204\u0205\5\u009bN\2\u0205\u0206"+ + "\5\u0093J\2\u0206\u0207\5\u0099M\2\u0207\u0082\3\2\2\2\u0208\u0209\5\u00a3"+ + "R\2\u0209\u020a\5\u009dO\2\u020a\u0084\3\2\2\2\u020b\u020c\5\u009bN\2"+ + "\u020c\u020d\5\u00c1a\2\u020d\u020e\5\u00a3R\2\u020e\u020f\5\u00b7\\\2"+ + "\u020f\u0210\5\u00b9]\2\u0210\u0211\5\u00b7\\\2\u0211\u0086\3\2\2\2\u0212"+ + "\u0213\5\u0097L\2\u0213\u0214\5\u00afX\2\u0214\u0215\5\u00bb^\2\u0215"+ + "\u0216\5\u00adW\2\u0216\u0217\5\u00b9]\2\u0217\u0088\3\2\2\2\u0218\u0219"+ + "\5\u00b5[\2\u0219\u021a\5\u00afX\2\u021a\u021b\5\u00bb^\2\u021b\u021c"+ + "\5\u00adW\2\u021c\u021d\5\u0099M\2\u021d\u021e\5U+\2\u021e\u021f\5\u00b5"+ + "[\2\u021f\u0220\5\u00afX\2\u0220\u0221\5\u0095K\2\u0221\u0222\5\u00a3"+ + "R\2\u0222\u0223\5\u00adW\2\u0223\u008a\3\2\2\2\u0224\u0225\5\u00b5[\2"+ + "\u0225\u0226\5\u0093J\2\u0226\u0227\5\u00adW\2\u0227\u0228\5\u0099M\2"+ + "\u0228\u0229\5\u00afX\2\u0229\u022a\5\u00abV\2\u022a\u008c\3\2\2\2\u022b"+ + "\u022c\5\u00bf`\2\u022c\u022d\5\u009bN\2\u022d\u022e\5\u00a3R\2\u022e"+ + "\u022f\5\u009fP\2\u022f\u0230\5\u00a1Q\2\u0230\u0231\5\u00b9]\2\u0231"+ + "\u008e\3\2\2\2\u0232\u0233\5\u00adW\2\u0233\u0234\5\u00afX\2\u0234\u0235"+ + "\5\u00b9]\2\u0235\u0090\3\2\2\2\u0236\u0237\7F\2\2\u0237\u0238\7Q\2\2"+ + "\u0238\u0239\7\"\2\2\u0239\u023a\7P\2\2\u023a\u023b\7Q\2\2\u023b\u023c"+ + "\7V\2\2\u023c\u023d\7\"\2\2\u023d\u023e\7O\2\2\u023e\u023f\7C\2\2\u023f"+ + "\u0240\7V\2\2\u0240\u0241\7E\2\2\u0241\u0242\7J\2\2\u0242\u0243\7\"\2"+ + "\2\u0243\u0244\7C\2\2\u0244\u0245\7P\2\2\u0245\u0246\7[\2\2\u0246\u0247"+ + "\7\"\2\2\u0247\u0248\7V\2\2\u0248\u0249\7J\2\2\u0249\u024a\7K\2\2\u024a"+ + "\u024b\7P\2\2\u024b\u024c\7I\2\2\u024c\u024d\7.\2\2\u024d\u024e\7\"\2"+ + "\2\u024e\u024f\7L\2\2\u024f\u0250\7W\2\2\u0250\u0251\7U\2\2\u0251\u0252"+ + "\7V\2\2\u0252\u0253\7\"\2\2\u0253\u0254\7H\2\2\u0254\u0255\7Q\2\2\u0255"+ + "\u0256\7T\2\2\u0256\u0257\7\"\2\2\u0257\u0258\7I\2\2\u0258\u0259\7G\2"+ + "\2\u0259\u025a\7P\2\2\u025a\u025b\7G\2\2\u025b\u025c\7T\2\2\u025c\u025d"+ + "\7C\2\2\u025d\u025e\7V\2\2\u025e\u025f\7Q\2\2\u025f\u0260\7T\2\2\u0260"+ + "\u0092\3\2\2\2\u0261\u0262\t\3\2\2\u0262\u0094\3\2\2\2\u0263\u0264\t\4"+ + "\2\2\u0264\u0096\3\2\2\2\u0265\u0266\t\5\2\2\u0266\u0098\3\2\2\2\u0267"+ + "\u0268\t\6\2\2\u0268\u009a\3\2\2\2\u0269\u026a\t\7\2\2\u026a\u009c\3\2"+ + "\2\2\u026b\u026c\t\b\2\2\u026c\u009e\3\2\2\2\u026d\u026e\t\t\2\2\u026e"+ + "\u00a0\3\2\2\2\u026f\u0270\t\n\2\2\u0270\u00a2\3\2\2\2\u0271\u0272\t\13"+ + "\2\2\u0272\u00a4\3\2\2\2\u0273\u0274\t\f\2\2\u0274\u00a6\3\2\2\2\u0275"+ + "\u0276\t\r\2\2\u0276\u00a8\3\2\2\2\u0277\u0278\t\16\2\2\u0278\u00aa\3"+ + "\2\2\2\u0279\u027a\t\17\2\2\u027a\u00ac\3\2\2\2\u027b\u027c\t\20\2\2\u027c"+ + "\u00ae\3\2\2\2\u027d\u027e\t\21\2\2\u027e\u00b0\3\2\2\2\u027f\u0280\t"+ + "\22\2\2\u0280\u00b2\3\2\2\2\u0281\u0282\t\23\2\2\u0282\u00b4\3\2\2\2\u0283"+ + "\u0284\t\24\2\2\u0284\u00b6\3\2\2\2\u0285\u0286\t\25\2\2\u0286\u00b8\3"+ + "\2\2\2\u0287\u0288\t\26\2\2\u0288\u00ba\3\2\2\2\u0289\u028a\t\27\2\2\u028a"+ + "\u00bc\3\2\2\2\u028b\u028c\t\30\2\2\u028c\u00be\3\2\2\2\u028d\u028e\t"+ + "\31\2\2\u028e\u00c0\3\2\2\2\u028f\u0290\t\32\2\2\u0290\u00c2\3\2\2\2\u0291"+ + "\u0292\t\33\2\2\u0292\u00c4\3\2\2\2\u0293\u0294\t\34\2\2\u0294\u00c6\3"+ + "\2\2\2\u0295\u0297\t\35\2\2\u0296\u0295\3\2\2\2\u0297\u029a\3\2\2\2\u0298"+ + "\u0299\3\2\2\2\u0298\u0296\3\2\2\2\u0299\u029c\3\2\2\2\u029a\u0298\3\2"+ + "\2\2\u029b\u029d\t\36\2\2\u029c\u029b\3\2\2\2\u029d\u029e\3\2\2\2\u029e"+ + "\u029f\3\2\2\2\u029e\u029c\3\2\2\2\u029f\u02a3\3\2\2\2\u02a0\u02a2\t\35"+ + "\2\2\u02a1\u02a0\3\2\2\2\u02a2\u02a5\3\2\2\2\u02a3\u02a1\3\2\2\2\u02a3"+ + "\u02a4\3\2\2\2\u02a4\u02af\3\2\2\2\u02a5\u02a3\3\2\2\2\u02a6\u02a8\5K"+ + "&\2\u02a7\u02a9\n\37\2\2\u02a8\u02a7\3\2\2\2\u02a9\u02aa\3\2\2\2\u02aa"+ + "\u02a8\3\2\2\2\u02aa\u02ab\3\2\2\2\u02ab\u02ac\3\2\2\2\u02ac\u02ad\5K"+ + "&\2\u02ad\u02af\3\2\2\2\u02ae\u0298\3\2\2\2\u02ae\u02a6\3\2\2\2\u02af"+ + "\u00c8\3\2\2\2\u02b0\u02b8\5G$\2\u02b1\u02b2\7^\2\2\u02b2\u02b7\13\2\2"+ + "\2\u02b3\u02b4\7$\2\2\u02b4\u02b7\7$\2\2\u02b5\u02b7\n \2\2\u02b6\u02b1"+ + "\3\2\2\2\u02b6\u02b3\3\2\2\2\u02b6\u02b5\3\2\2\2\u02b7\u02ba\3\2\2\2\u02b8"+ + "\u02b6\3\2\2\2\u02b8\u02b9\3\2\2\2\u02b9\u02bb\3\2\2\2\u02ba\u02b8\3\2"+ + "\2\2\u02bb\u02bc\5G$\2\u02bc\u02cb\3\2\2\2\u02bd\u02c5\5I%\2\u02be\u02bf"+ + "\7^\2\2\u02bf\u02c4\13\2\2\2\u02c0\u02c1\7)\2\2\u02c1\u02c4\7)\2\2\u02c2"+ + "\u02c4\n!\2\2\u02c3\u02be\3\2\2\2\u02c3\u02c0\3\2\2\2\u02c3\u02c2\3\2"+ + "\2\2\u02c4\u02c7\3\2\2\2\u02c5\u02c3\3\2\2\2\u02c5\u02c6\3\2\2\2\u02c6"+ + "\u02c8\3\2\2\2\u02c7\u02c5\3\2\2\2\u02c8\u02c9\5I%\2\u02c9\u02cb\3\2\2"+ + "\2\u02ca\u02b0\3\2\2\2\u02ca\u02bd\3\2\2\2\u02cb\u00ca\3\2\2\2\u02cc\u02ce"+ + "\t\"\2\2\u02cd\u02cc\3\2\2\2\u02ce\u02cf\3\2\2\2\u02cf\u02cd\3\2\2\2\u02cf"+ + "\u02d0\3\2\2\2\u02d0\u00cc\3\2\2\2\u02d1\u02d2\t#\2\2\u02d2\u00ce\3\2"+ + "\2\2\u02d3\u02d5\5\u00cbf\2\u02d4\u02d3\3\2\2\2\u02d4\u02d5\3\2\2\2\u02d5"+ + "\u02d7\3\2\2\2\u02d6\u02d8\5#\22\2\u02d7\u02d6\3\2\2\2\u02d7\u02d8\3\2"+ + "\2\2\u02d8\u02d9\3\2\2\2\u02d9\u02e1\5\u00cbf\2\u02da\u02dd\5\u009bN\2"+ + "\u02db\u02de\5\31\r\2\u02dc\u02de\5\33\16\2\u02dd\u02db\3\2\2\2\u02dd"+ + "\u02dc\3\2\2\2\u02dd\u02de\3\2\2\2\u02de\u02df\3\2\2\2\u02df\u02e0\5\u00cb"+ + "f\2\u02e0\u02e2\3\2\2\2\u02e1\u02da\3\2\2\2\u02e1\u02e2\3\2\2\2\u02e2"+ + "\u00d0\3\2\2\2\u02e3\u02e4\7\62\2\2\u02e4\u02e5\7z\2\2\u02e5\u02e7\3\2"+ + "\2\2\u02e6\u02e8\5\u00cdg\2\u02e7\u02e6\3\2\2\2\u02e8\u02e9\3\2\2\2\u02e9"+ + "\u02e7\3\2\2\2\u02e9\u02ea\3\2\2\2\u02ea\u02f5\3\2\2\2\u02eb\u02ec\7Z"+ + "\2\2\u02ec\u02ee\5I%\2\u02ed\u02ef\5\u00cdg\2\u02ee\u02ed\3\2\2\2\u02ef"+ + "\u02f0\3\2\2\2\u02f0\u02ee\3\2\2\2\u02f0\u02f1\3\2\2\2\u02f1\u02f2\3\2"+ + "\2\2\u02f2\u02f3\5I%\2\u02f3\u02f5\3\2\2\2\u02f4\u02e3\3\2\2\2\u02f4\u02eb"+ + "\3\2\2\2\u02f5\u00d2\3\2\2\2\u02f6\u02f7\7\62\2\2\u02f7\u02f8\7d\2\2\u02f8"+ + "\u02fa\3\2\2\2\u02f9\u02fb\4\62\63\2\u02fa\u02f9\3\2\2\2\u02fb\u02fc\3"+ + "\2\2\2\u02fc\u02fa\3\2\2\2\u02fc\u02fd\3\2\2\2\u02fd\u0308\3\2\2\2\u02fe"+ + "\u02ff\5\u0095K\2\u02ff\u0301\5I%\2\u0300\u0302\4\62\63\2\u0301\u0300"+ + "\3\2\2\2\u0302\u0303\3\2\2\2\u0303\u0301\3\2\2\2\u0303\u0304\3\2\2\2\u0304"+ + "\u0305\3\2\2\2\u0305\u0306\5I%\2\u0306\u0308\3\2\2\2\u0307\u02f6\3\2\2"+ + "\2\u0307\u02fe\3\2\2\2\u0308\u00d4\3\2\2\2\32\2\u010b\u013c\u0298\u029e"+ + "\u02a3\u02aa\u02ae\u02b6\u02b8\u02c3\u02c5\u02ca\u02cf\u02d4\u02d7\u02dd"+ + "\u02e1\u02e9\u02f0\u02f4\u02fc\u0303\u0307\3\b\2\2"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementLexer.tokens b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementLexer.tokens new file mode 100644 index 00000000..8f1734a8 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementLexer.tokens @@ -0,0 +1,121 @@ +AND_=1 +OR_=2 +NOT_=3 +TILDE_=4 +VERTICALBAR_=5 +AMPERSAND_=6 +SIGNEDLEFTSHIFT_=7 +SIGNEDRIGHTSHIFT_=8 +CARET_=9 +MOD_=10 +COLON_=11 +PLUS_=12 +MINUS_=13 +ASTERISK_=14 +SLASH_=15 +BACKSLASH_=16 +DOT_=17 +DOTASTERISK_=18 +SAFEEQ_=19 +DEQ_=20 +EQ_=21 +NEQ_=22 +GT_=23 +GTE_=24 +LT_=25 +LTE_=26 +POUND_=27 +LP_=28 +RP_=29 +LBE_=30 +RBE_=31 +LBT_=32 +RBT_=33 +COMMA_=34 +DQ_=35 +SQ_=36 +BQ_=37 +QUESTION_=38 +AT_=39 +SEMI_=40 +JSONSEPARATOR_=41 +UL_=42 +WS=43 +TRUE=44 +FALSE=45 +CREATE=46 +ALTER=47 +DROP=48 +SHOW=49 +RULE=50 +FROM=51 +READWRITE_SPLITTING=52 +WRITE_STORAGE_UNIT=53 +READ_STORAGE_UNITS=54 +TRANSACTIONAL_READ_QUERY_STRATEGY=55 +TYPE=56 +NAME=57 +PROPERTIES=58 +RULES=59 +RESOURCES=60 +STATUS=61 +ENABLE=62 +DISABLE=63 +READ=64 +IF=65 +EXISTS=66 +COUNT=67 +ROUND_ROBIN=68 +RANDOM=69 +WEIGHT=70 +NOT=71 +FOR_GENERATOR=72 +IDENTIFIER_=73 +STRING_=74 +INT_=75 +HEX_=76 +NUMBER_=77 +HEXDIGIT_=78 +BITNUM_=79 +'&&'=1 +'||'=2 +'!'=3 +'~'=4 +'|'=5 +'&'=6 +'<<'=7 +'>>'=8 +'^'=9 +'%'=10 +':'=11 +'+'=12 +'-'=13 +'*'=14 +'/'=15 +'\\'=16 +'.'=17 +'.*'=18 +'<=>'=19 +'=='=20 +'='=21 +'>'=23 +'>='=24 +'<'=25 +'<='=26 +'#'=27 +'('=28 +')'=29 +'{'=30 +'}'=31 +'['=32 +']'=33 +','=34 +'"'=35 +'\''=36 +'`'=37 +'?'=38 +'@'=39 +';'=40 +'->>'=41 +'_'=42 +'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=72 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementParser.java b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementParser.java new file mode 100644 index 00000000..7d655b65 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementParser.java @@ -0,0 +1,1312 @@ +// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/RDLStatement.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.misc.*; +import org.antlr.v4.runtime.tree.*; +import java.util.List; +import java.util.Iterator; +import java.util.ArrayList; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class RDLStatementParser extends Parser { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, + SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, + ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, + DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, + LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, + SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, + WS=43, TRUE=44, FALSE=45, CREATE=46, ALTER=47, DROP=48, SHOW=49, RULE=50, + FROM=51, READWRITE_SPLITTING=52, WRITE_STORAGE_UNIT=53, READ_STORAGE_UNITS=54, + TRANSACTIONAL_READ_QUERY_STRATEGY=55, TYPE=56, NAME=57, PROPERTIES=58, + RULES=59, RESOURCES=60, STATUS=61, ENABLE=62, DISABLE=63, READ=64, IF=65, + EXISTS=66, COUNT=67, ROUND_ROBIN=68, RANDOM=69, WEIGHT=70, NOT=71, FOR_GENERATOR=72, + IDENTIFIER_=73, STRING_=74, INT_=75, HEX_=76, NUMBER_=77, HEXDIGIT_=78, + BITNUM_=79; + public static final int + RULE_createReadwriteSplittingRule = 0, RULE_alterReadwriteSplittingRule = 1, + RULE_dropReadwriteSplittingRule = 2, RULE_readwriteSplittingRuleDefinition = 3, + RULE_dataSourceDefinition = 4, RULE_ruleName = 5, RULE_writeStorageUnit = 6, + RULE_readStorageUnits = 7, RULE_transactionalReadQueryStrategy = 8, RULE_writeStorageUnitName = 9, + RULE_readStorageUnitsNames = 10, RULE_transactionalReadQueryStrategyName = 11, + RULE_ifExists = 12, RULE_ifNotExists = 13, RULE_literal = 14, RULE_algorithmDefinition = 15, + RULE_algorithmTypeName = 16, RULE_buildInReadQueryLoadBalanceAlgorithmType = 17, + RULE_propertiesDefinition = 18, RULE_properties = 19, RULE_property = 20, + RULE_databaseName = 21, RULE_groupName = 22, RULE_storageUnitName = 23; + private static String[] makeRuleNames() { + return new String[] { + "createReadwriteSplittingRule", "alterReadwriteSplittingRule", "dropReadwriteSplittingRule", + "readwriteSplittingRuleDefinition", "dataSourceDefinition", "ruleName", + "writeStorageUnit", "readStorageUnits", "transactionalReadQueryStrategy", + "writeStorageUnitName", "readStorageUnitsNames", "transactionalReadQueryStrategyName", + "ifExists", "ifNotExists", "literal", "algorithmDefinition", "algorithmTypeName", + "buildInReadQueryLoadBalanceAlgorithmType", "propertiesDefinition", "properties", + "property", "databaseName", "groupName", "storageUnitName" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", + "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", + "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", + "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", + "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", + "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", + "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", + "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", + "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", + "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", + "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", "FROM", "READWRITE_SPLITTING", + "WRITE_STORAGE_UNIT", "READ_STORAGE_UNITS", "TRANSACTIONAL_READ_QUERY_STRATEGY", + "TYPE", "NAME", "PROPERTIES", "RULES", "RESOURCES", "STATUS", "ENABLE", + "DISABLE", "READ", "IF", "EXISTS", "COUNT", "ROUND_ROBIN", "RANDOM", + "WEIGHT", "NOT", "FOR_GENERATOR", "IDENTIFIER_", "STRING_", "INT_", "HEX_", + "NUMBER_", "HEXDIGIT_", "BITNUM_" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + @Override + public String getGrammarFileName() { return "RDLStatement.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public ATN getATN() { return _ATN; } + + public RDLStatementParser(TokenStream input) { + super(input); + _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + public static class CreateReadwriteSplittingRuleContext extends ParserRuleContext { + public TerminalNode CREATE() { return getToken(RDLStatementParser.CREATE, 0); } + public TerminalNode READWRITE_SPLITTING() { return getToken(RDLStatementParser.READWRITE_SPLITTING, 0); } + public TerminalNode RULE() { return getToken(RDLStatementParser.RULE, 0); } + public List readwriteSplittingRuleDefinition() { + return getRuleContexts(ReadwriteSplittingRuleDefinitionContext.class); + } + public ReadwriteSplittingRuleDefinitionContext readwriteSplittingRuleDefinition(int i) { + return getRuleContext(ReadwriteSplittingRuleDefinitionContext.class,i); + } + public IfNotExistsContext ifNotExists() { + return getRuleContext(IfNotExistsContext.class,0); + } + public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } + public TerminalNode COMMA_(int i) { + return getToken(RDLStatementParser.COMMA_, i); + } + public CreateReadwriteSplittingRuleContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_createReadwriteSplittingRule; } + } + + public final CreateReadwriteSplittingRuleContext createReadwriteSplittingRule() throws RecognitionException { + CreateReadwriteSplittingRuleContext _localctx = new CreateReadwriteSplittingRuleContext(_ctx, getState()); + enterRule(_localctx, 0, RULE_createReadwriteSplittingRule); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(48); + match(CREATE); + setState(49); + match(READWRITE_SPLITTING); + setState(50); + match(RULE); + setState(52); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==IF) { + { + setState(51); + ifNotExists(); + } + } + + setState(54); + readwriteSplittingRuleDefinition(); + setState(59); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA_) { + { + { + setState(55); + match(COMMA_); + setState(56); + readwriteSplittingRuleDefinition(); + } + } + setState(61); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AlterReadwriteSplittingRuleContext extends ParserRuleContext { + public TerminalNode ALTER() { return getToken(RDLStatementParser.ALTER, 0); } + public TerminalNode READWRITE_SPLITTING() { return getToken(RDLStatementParser.READWRITE_SPLITTING, 0); } + public TerminalNode RULE() { return getToken(RDLStatementParser.RULE, 0); } + public List readwriteSplittingRuleDefinition() { + return getRuleContexts(ReadwriteSplittingRuleDefinitionContext.class); + } + public ReadwriteSplittingRuleDefinitionContext readwriteSplittingRuleDefinition(int i) { + return getRuleContext(ReadwriteSplittingRuleDefinitionContext.class,i); + } + public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } + public TerminalNode COMMA_(int i) { + return getToken(RDLStatementParser.COMMA_, i); + } + public AlterReadwriteSplittingRuleContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_alterReadwriteSplittingRule; } + } + + public final AlterReadwriteSplittingRuleContext alterReadwriteSplittingRule() throws RecognitionException { + AlterReadwriteSplittingRuleContext _localctx = new AlterReadwriteSplittingRuleContext(_ctx, getState()); + enterRule(_localctx, 2, RULE_alterReadwriteSplittingRule); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(62); + match(ALTER); + setState(63); + match(READWRITE_SPLITTING); + setState(64); + match(RULE); + setState(65); + readwriteSplittingRuleDefinition(); + setState(70); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA_) { + { + { + setState(66); + match(COMMA_); + setState(67); + readwriteSplittingRuleDefinition(); + } + } + setState(72); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class DropReadwriteSplittingRuleContext extends ParserRuleContext { + public TerminalNode DROP() { return getToken(RDLStatementParser.DROP, 0); } + public TerminalNode READWRITE_SPLITTING() { return getToken(RDLStatementParser.READWRITE_SPLITTING, 0); } + public TerminalNode RULE() { return getToken(RDLStatementParser.RULE, 0); } + public List ruleName() { + return getRuleContexts(RuleNameContext.class); + } + public RuleNameContext ruleName(int i) { + return getRuleContext(RuleNameContext.class,i); + } + public IfExistsContext ifExists() { + return getRuleContext(IfExistsContext.class,0); + } + public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } + public TerminalNode COMMA_(int i) { + return getToken(RDLStatementParser.COMMA_, i); + } + public DropReadwriteSplittingRuleContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_dropReadwriteSplittingRule; } + } + + public final DropReadwriteSplittingRuleContext dropReadwriteSplittingRule() throws RecognitionException { + DropReadwriteSplittingRuleContext _localctx = new DropReadwriteSplittingRuleContext(_ctx, getState()); + enterRule(_localctx, 4, RULE_dropReadwriteSplittingRule); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(73); + match(DROP); + setState(74); + match(READWRITE_SPLITTING); + setState(75); + match(RULE); + setState(77); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==IF) { + { + setState(76); + ifExists(); + } + } + + setState(79); + ruleName(); + setState(84); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA_) { + { + { + setState(80); + match(COMMA_); + setState(81); + ruleName(); + } + } + setState(86); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ReadwriteSplittingRuleDefinitionContext extends ParserRuleContext { + public RuleNameContext ruleName() { + return getRuleContext(RuleNameContext.class,0); + } + public TerminalNode LP_() { return getToken(RDLStatementParser.LP_, 0); } + public DataSourceDefinitionContext dataSourceDefinition() { + return getRuleContext(DataSourceDefinitionContext.class,0); + } + public TerminalNode RP_() { return getToken(RDLStatementParser.RP_, 0); } + public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } + public TerminalNode COMMA_(int i) { + return getToken(RDLStatementParser.COMMA_, i); + } + public TransactionalReadQueryStrategyContext transactionalReadQueryStrategy() { + return getRuleContext(TransactionalReadQueryStrategyContext.class,0); + } + public AlgorithmDefinitionContext algorithmDefinition() { + return getRuleContext(AlgorithmDefinitionContext.class,0); + } + public ReadwriteSplittingRuleDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_readwriteSplittingRuleDefinition; } + } + + public final ReadwriteSplittingRuleDefinitionContext readwriteSplittingRuleDefinition() throws RecognitionException { + ReadwriteSplittingRuleDefinitionContext _localctx = new ReadwriteSplittingRuleDefinitionContext(_ctx, getState()); + enterRule(_localctx, 6, RULE_readwriteSplittingRuleDefinition); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(87); + ruleName(); + setState(88); + match(LP_); + setState(89); + dataSourceDefinition(); + setState(92); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,5,_ctx) ) { + case 1: + { + setState(90); + match(COMMA_); + setState(91); + transactionalReadQueryStrategy(); + } + break; + } + setState(96); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==COMMA_) { + { + setState(94); + match(COMMA_); + setState(95); + algorithmDefinition(); + } + } + + setState(98); + match(RP_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class DataSourceDefinitionContext extends ParserRuleContext { + public WriteStorageUnitContext writeStorageUnit() { + return getRuleContext(WriteStorageUnitContext.class,0); + } + public TerminalNode COMMA_() { return getToken(RDLStatementParser.COMMA_, 0); } + public ReadStorageUnitsContext readStorageUnits() { + return getRuleContext(ReadStorageUnitsContext.class,0); + } + public DataSourceDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_dataSourceDefinition; } + } + + public final DataSourceDefinitionContext dataSourceDefinition() throws RecognitionException { + DataSourceDefinitionContext _localctx = new DataSourceDefinitionContext(_ctx, getState()); + enterRule(_localctx, 8, RULE_dataSourceDefinition); + try { + enterOuterAlt(_localctx, 1); + { + setState(100); + writeStorageUnit(); + setState(101); + match(COMMA_); + setState(102); + readStorageUnits(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleNameContext extends ParserRuleContext { + public TerminalNode IDENTIFIER_() { return getToken(RDLStatementParser.IDENTIFIER_, 0); } + public RuleNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleName; } + } + + public final RuleNameContext ruleName() throws RecognitionException { + RuleNameContext _localctx = new RuleNameContext(_ctx, getState()); + enterRule(_localctx, 10, RULE_ruleName); + try { + enterOuterAlt(_localctx, 1); + { + setState(104); + match(IDENTIFIER_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class WriteStorageUnitContext extends ParserRuleContext { + public TerminalNode WRITE_STORAGE_UNIT() { return getToken(RDLStatementParser.WRITE_STORAGE_UNIT, 0); } + public TerminalNode EQ_() { return getToken(RDLStatementParser.EQ_, 0); } + public WriteStorageUnitNameContext writeStorageUnitName() { + return getRuleContext(WriteStorageUnitNameContext.class,0); + } + public WriteStorageUnitContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_writeStorageUnit; } + } + + public final WriteStorageUnitContext writeStorageUnit() throws RecognitionException { + WriteStorageUnitContext _localctx = new WriteStorageUnitContext(_ctx, getState()); + enterRule(_localctx, 12, RULE_writeStorageUnit); + try { + enterOuterAlt(_localctx, 1); + { + setState(106); + match(WRITE_STORAGE_UNIT); + setState(107); + match(EQ_); + setState(108); + writeStorageUnitName(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ReadStorageUnitsContext extends ParserRuleContext { + public TerminalNode READ_STORAGE_UNITS() { return getToken(RDLStatementParser.READ_STORAGE_UNITS, 0); } + public TerminalNode LP_() { return getToken(RDLStatementParser.LP_, 0); } + public ReadStorageUnitsNamesContext readStorageUnitsNames() { + return getRuleContext(ReadStorageUnitsNamesContext.class,0); + } + public TerminalNode RP_() { return getToken(RDLStatementParser.RP_, 0); } + public ReadStorageUnitsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_readStorageUnits; } + } + + public final ReadStorageUnitsContext readStorageUnits() throws RecognitionException { + ReadStorageUnitsContext _localctx = new ReadStorageUnitsContext(_ctx, getState()); + enterRule(_localctx, 14, RULE_readStorageUnits); + try { + enterOuterAlt(_localctx, 1); + { + setState(110); + match(READ_STORAGE_UNITS); + setState(111); + match(LP_); + setState(112); + readStorageUnitsNames(); + setState(113); + match(RP_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TransactionalReadQueryStrategyContext extends ParserRuleContext { + public TerminalNode TRANSACTIONAL_READ_QUERY_STRATEGY() { return getToken(RDLStatementParser.TRANSACTIONAL_READ_QUERY_STRATEGY, 0); } + public TerminalNode EQ_() { return getToken(RDLStatementParser.EQ_, 0); } + public TransactionalReadQueryStrategyNameContext transactionalReadQueryStrategyName() { + return getRuleContext(TransactionalReadQueryStrategyNameContext.class,0); + } + public TransactionalReadQueryStrategyContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_transactionalReadQueryStrategy; } + } + + public final TransactionalReadQueryStrategyContext transactionalReadQueryStrategy() throws RecognitionException { + TransactionalReadQueryStrategyContext _localctx = new TransactionalReadQueryStrategyContext(_ctx, getState()); + enterRule(_localctx, 16, RULE_transactionalReadQueryStrategy); + try { + enterOuterAlt(_localctx, 1); + { + setState(115); + match(TRANSACTIONAL_READ_QUERY_STRATEGY); + setState(116); + match(EQ_); + setState(117); + transactionalReadQueryStrategyName(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class WriteStorageUnitNameContext extends ParserRuleContext { + public StorageUnitNameContext storageUnitName() { + return getRuleContext(StorageUnitNameContext.class,0); + } + public WriteStorageUnitNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_writeStorageUnitName; } + } + + public final WriteStorageUnitNameContext writeStorageUnitName() throws RecognitionException { + WriteStorageUnitNameContext _localctx = new WriteStorageUnitNameContext(_ctx, getState()); + enterRule(_localctx, 18, RULE_writeStorageUnitName); + try { + enterOuterAlt(_localctx, 1); + { + setState(119); + storageUnitName(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class ReadStorageUnitsNamesContext extends ParserRuleContext { + public List storageUnitName() { + return getRuleContexts(StorageUnitNameContext.class); + } + public StorageUnitNameContext storageUnitName(int i) { + return getRuleContext(StorageUnitNameContext.class,i); + } + public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } + public TerminalNode COMMA_(int i) { + return getToken(RDLStatementParser.COMMA_, i); + } + public ReadStorageUnitsNamesContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_readStorageUnitsNames; } + } + + public final ReadStorageUnitsNamesContext readStorageUnitsNames() throws RecognitionException { + ReadStorageUnitsNamesContext _localctx = new ReadStorageUnitsNamesContext(_ctx, getState()); + enterRule(_localctx, 20, RULE_readStorageUnitsNames); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(121); + storageUnitName(); + setState(126); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA_) { + { + { + setState(122); + match(COMMA_); + setState(123); + storageUnitName(); + } + } + setState(128); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class TransactionalReadQueryStrategyNameContext extends ParserRuleContext { + public TerminalNode STRING_() { return getToken(RDLStatementParser.STRING_, 0); } + public TransactionalReadQueryStrategyNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_transactionalReadQueryStrategyName; } + } + + public final TransactionalReadQueryStrategyNameContext transactionalReadQueryStrategyName() throws RecognitionException { + TransactionalReadQueryStrategyNameContext _localctx = new TransactionalReadQueryStrategyNameContext(_ctx, getState()); + enterRule(_localctx, 22, RULE_transactionalReadQueryStrategyName); + try { + enterOuterAlt(_localctx, 1); + { + setState(129); + match(STRING_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class IfExistsContext extends ParserRuleContext { + public TerminalNode IF() { return getToken(RDLStatementParser.IF, 0); } + public TerminalNode EXISTS() { return getToken(RDLStatementParser.EXISTS, 0); } + public IfExistsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ifExists; } + } + + public final IfExistsContext ifExists() throws RecognitionException { + IfExistsContext _localctx = new IfExistsContext(_ctx, getState()); + enterRule(_localctx, 24, RULE_ifExists); + try { + enterOuterAlt(_localctx, 1); + { + setState(131); + match(IF); + setState(132); + match(EXISTS); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class IfNotExistsContext extends ParserRuleContext { + public TerminalNode IF() { return getToken(RDLStatementParser.IF, 0); } + public TerminalNode NOT() { return getToken(RDLStatementParser.NOT, 0); } + public TerminalNode EXISTS() { return getToken(RDLStatementParser.EXISTS, 0); } + public IfNotExistsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ifNotExists; } + } + + public final IfNotExistsContext ifNotExists() throws RecognitionException { + IfNotExistsContext _localctx = new IfNotExistsContext(_ctx, getState()); + enterRule(_localctx, 26, RULE_ifNotExists); + try { + enterOuterAlt(_localctx, 1); + { + setState(134); + match(IF); + setState(135); + match(NOT); + setState(136); + match(EXISTS); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class LiteralContext extends ParserRuleContext { + public TerminalNode STRING_() { return getToken(RDLStatementParser.STRING_, 0); } + public TerminalNode INT_() { return getToken(RDLStatementParser.INT_, 0); } + public TerminalNode MINUS_() { return getToken(RDLStatementParser.MINUS_, 0); } + public TerminalNode TRUE() { return getToken(RDLStatementParser.TRUE, 0); } + public TerminalNode FALSE() { return getToken(RDLStatementParser.FALSE, 0); } + public LiteralContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_literal; } + } + + public final LiteralContext literal() throws RecognitionException { + LiteralContext _localctx = new LiteralContext(_ctx, getState()); + enterRule(_localctx, 28, RULE_literal); + int _la; + try { + setState(145); + _errHandler.sync(this); + switch (_input.LA(1)) { + case STRING_: + enterOuterAlt(_localctx, 1); + { + setState(138); + match(STRING_); + } + break; + case MINUS_: + case INT_: + enterOuterAlt(_localctx, 2); + { + setState(140); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==MINUS_) { + { + setState(139); + match(MINUS_); + } + } + + setState(142); + match(INT_); + } + break; + case TRUE: + enterOuterAlt(_localctx, 3); + { + setState(143); + match(TRUE); + } + break; + case FALSE: + enterOuterAlt(_localctx, 4); + { + setState(144); + match(FALSE); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AlgorithmDefinitionContext extends ParserRuleContext { + public TerminalNode TYPE() { return getToken(RDLStatementParser.TYPE, 0); } + public TerminalNode LP_() { return getToken(RDLStatementParser.LP_, 0); } + public TerminalNode NAME() { return getToken(RDLStatementParser.NAME, 0); } + public TerminalNode EQ_() { return getToken(RDLStatementParser.EQ_, 0); } + public AlgorithmTypeNameContext algorithmTypeName() { + return getRuleContext(AlgorithmTypeNameContext.class,0); + } + public TerminalNode RP_() { return getToken(RDLStatementParser.RP_, 0); } + public TerminalNode COMMA_() { return getToken(RDLStatementParser.COMMA_, 0); } + public PropertiesDefinitionContext propertiesDefinition() { + return getRuleContext(PropertiesDefinitionContext.class,0); + } + public AlgorithmDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_algorithmDefinition; } + } + + public final AlgorithmDefinitionContext algorithmDefinition() throws RecognitionException { + AlgorithmDefinitionContext _localctx = new AlgorithmDefinitionContext(_ctx, getState()); + enterRule(_localctx, 30, RULE_algorithmDefinition); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(147); + match(TYPE); + setState(148); + match(LP_); + setState(149); + match(NAME); + setState(150); + match(EQ_); + setState(151); + algorithmTypeName(); + setState(154); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==COMMA_) { + { + setState(152); + match(COMMA_); + setState(153); + propertiesDefinition(); + } + } + + setState(156); + match(RP_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class AlgorithmTypeNameContext extends ParserRuleContext { + public TerminalNode STRING_() { return getToken(RDLStatementParser.STRING_, 0); } + public BuildInReadQueryLoadBalanceAlgorithmTypeContext buildInReadQueryLoadBalanceAlgorithmType() { + return getRuleContext(BuildInReadQueryLoadBalanceAlgorithmTypeContext.class,0); + } + public AlgorithmTypeNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_algorithmTypeName; } + } + + public final AlgorithmTypeNameContext algorithmTypeName() throws RecognitionException { + AlgorithmTypeNameContext _localctx = new AlgorithmTypeNameContext(_ctx, getState()); + enterRule(_localctx, 32, RULE_algorithmTypeName); + try { + setState(160); + _errHandler.sync(this); + switch (_input.LA(1)) { + case STRING_: + enterOuterAlt(_localctx, 1); + { + setState(158); + match(STRING_); + } + break; + case ROUND_ROBIN: + case RANDOM: + case WEIGHT: + enterOuterAlt(_localctx, 2); + { + setState(159); + buildInReadQueryLoadBalanceAlgorithmType(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class BuildInReadQueryLoadBalanceAlgorithmTypeContext extends ParserRuleContext { + public TerminalNode ROUND_ROBIN() { return getToken(RDLStatementParser.ROUND_ROBIN, 0); } + public TerminalNode RANDOM() { return getToken(RDLStatementParser.RANDOM, 0); } + public TerminalNode WEIGHT() { return getToken(RDLStatementParser.WEIGHT, 0); } + public BuildInReadQueryLoadBalanceAlgorithmTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_buildInReadQueryLoadBalanceAlgorithmType; } + } + + public final BuildInReadQueryLoadBalanceAlgorithmTypeContext buildInReadQueryLoadBalanceAlgorithmType() throws RecognitionException { + BuildInReadQueryLoadBalanceAlgorithmTypeContext _localctx = new BuildInReadQueryLoadBalanceAlgorithmTypeContext(_ctx, getState()); + enterRule(_localctx, 34, RULE_buildInReadQueryLoadBalanceAlgorithmType); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(162); + _la = _input.LA(1); + if ( !(((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & ((1L << (ROUND_ROBIN - 68)) | (1L << (RANDOM - 68)) | (1L << (WEIGHT - 68)))) != 0)) ) { + _errHandler.recoverInline(this); + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PropertiesDefinitionContext extends ParserRuleContext { + public TerminalNode PROPERTIES() { return getToken(RDLStatementParser.PROPERTIES, 0); } + public TerminalNode LP_() { return getToken(RDLStatementParser.LP_, 0); } + public TerminalNode RP_() { return getToken(RDLStatementParser.RP_, 0); } + public PropertiesContext properties() { + return getRuleContext(PropertiesContext.class,0); + } + public PropertiesDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_propertiesDefinition; } + } + + public final PropertiesDefinitionContext propertiesDefinition() throws RecognitionException { + PropertiesDefinitionContext _localctx = new PropertiesDefinitionContext(_ctx, getState()); + enterRule(_localctx, 36, RULE_propertiesDefinition); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(164); + match(PROPERTIES); + setState(165); + match(LP_); + setState(167); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==STRING_) { + { + setState(166); + properties(); + } + } + + setState(169); + match(RP_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PropertiesContext extends ParserRuleContext { + public List property() { + return getRuleContexts(PropertyContext.class); + } + public PropertyContext property(int i) { + return getRuleContext(PropertyContext.class,i); + } + public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } + public TerminalNode COMMA_(int i) { + return getToken(RDLStatementParser.COMMA_, i); + } + public PropertiesContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_properties; } + } + + public final PropertiesContext properties() throws RecognitionException { + PropertiesContext _localctx = new PropertiesContext(_ctx, getState()); + enterRule(_localctx, 38, RULE_properties); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(171); + property(); + setState(176); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==COMMA_) { + { + { + setState(172); + match(COMMA_); + setState(173); + property(); + } + } + setState(178); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class PropertyContext extends ParserRuleContext { + public Token key; + public LiteralContext value; + public TerminalNode EQ_() { return getToken(RDLStatementParser.EQ_, 0); } + public TerminalNode STRING_() { return getToken(RDLStatementParser.STRING_, 0); } + public LiteralContext literal() { + return getRuleContext(LiteralContext.class,0); + } + public PropertyContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_property; } + } + + public final PropertyContext property() throws RecognitionException { + PropertyContext _localctx = new PropertyContext(_ctx, getState()); + enterRule(_localctx, 40, RULE_property); + try { + enterOuterAlt(_localctx, 1); + { + setState(179); + ((PropertyContext)_localctx).key = match(STRING_); + setState(180); + match(EQ_); + setState(181); + ((PropertyContext)_localctx).value = literal(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class DatabaseNameContext extends ParserRuleContext { + public TerminalNode IDENTIFIER_() { return getToken(RDLStatementParser.IDENTIFIER_, 0); } + public DatabaseNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_databaseName; } + } + + public final DatabaseNameContext databaseName() throws RecognitionException { + DatabaseNameContext _localctx = new DatabaseNameContext(_ctx, getState()); + enterRule(_localctx, 42, RULE_databaseName); + try { + enterOuterAlt(_localctx, 1); + { + setState(183); + match(IDENTIFIER_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class GroupNameContext extends ParserRuleContext { + public TerminalNode IDENTIFIER_() { return getToken(RDLStatementParser.IDENTIFIER_, 0); } + public GroupNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_groupName; } + } + + public final GroupNameContext groupName() throws RecognitionException { + GroupNameContext _localctx = new GroupNameContext(_ctx, getState()); + enterRule(_localctx, 44, RULE_groupName); + try { + enterOuterAlt(_localctx, 1); + { + setState(185); + match(IDENTIFIER_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class StorageUnitNameContext extends ParserRuleContext { + public TerminalNode IDENTIFIER_() { return getToken(RDLStatementParser.IDENTIFIER_, 0); } + public StorageUnitNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_storageUnitName; } + } + + public final StorageUnitNameContext storageUnitName() throws RecognitionException { + StorageUnitNameContext _localctx = new StorageUnitNameContext(_ctx, getState()); + enterRule(_localctx, 46, RULE_storageUnitName); + try { + enterOuterAlt(_localctx, 1); + { + setState(187); + match(IDENTIFIER_); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3Q\u00c0\4\2\t\2\4"+ + "\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t"+ + "\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ + "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ + "\3\2\3\2\3\2\3\2\5\2\67\n\2\3\2\3\2\3\2\7\2<\n\2\f\2\16\2?\13\2\3\3\3"+ + "\3\3\3\3\3\3\3\3\3\7\3G\n\3\f\3\16\3J\13\3\3\4\3\4\3\4\3\4\5\4P\n\4\3"+ + "\4\3\4\3\4\7\4U\n\4\f\4\16\4X\13\4\3\5\3\5\3\5\3\5\3\5\5\5_\n\5\3\5\3"+ + "\5\5\5c\n\5\3\5\3\5\3\6\3\6\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\b\3\t\3\t\3"+ + "\t\3\t\3\t\3\n\3\n\3\n\3\n\3\13\3\13\3\f\3\f\3\f\7\f\177\n\f\f\f\16\f"+ + "\u0082\13\f\3\r\3\r\3\16\3\16\3\16\3\17\3\17\3\17\3\17\3\20\3\20\5\20"+ + "\u008f\n\20\3\20\3\20\3\20\5\20\u0094\n\20\3\21\3\21\3\21\3\21\3\21\3"+ + "\21\3\21\5\21\u009d\n\21\3\21\3\21\3\22\3\22\5\22\u00a3\n\22\3\23\3\23"+ + "\3\24\3\24\3\24\5\24\u00aa\n\24\3\24\3\24\3\25\3\25\3\25\7\25\u00b1\n"+ + "\25\f\25\16\25\u00b4\13\25\3\26\3\26\3\26\3\26\3\27\3\27\3\30\3\30\3\31"+ + "\3\31\3\31\2\2\32\2\4\6\b\n\f\16\20\22\24\26\30\32\34\36 \"$&(*,.\60\2"+ + "\3\3\2FH\2\u00b7\2\62\3\2\2\2\4@\3\2\2\2\6K\3\2\2\2\bY\3\2\2\2\nf\3\2"+ + "\2\2\fj\3\2\2\2\16l\3\2\2\2\20p\3\2\2\2\22u\3\2\2\2\24y\3\2\2\2\26{\3"+ + "\2\2\2\30\u0083\3\2\2\2\32\u0085\3\2\2\2\34\u0088\3\2\2\2\36\u0093\3\2"+ + "\2\2 \u0095\3\2\2\2\"\u00a2\3\2\2\2$\u00a4\3\2\2\2&\u00a6\3\2\2\2(\u00ad"+ + "\3\2\2\2*\u00b5\3\2\2\2,\u00b9\3\2\2\2.\u00bb\3\2\2\2\60\u00bd\3\2\2\2"+ + "\62\63\7\60\2\2\63\64\7\66\2\2\64\66\7\64\2\2\65\67\5\34\17\2\66\65\3"+ + "\2\2\2\66\67\3\2\2\2\678\3\2\2\28=\5\b\5\29:\7$\2\2:<\5\b\5\2;9\3\2\2"+ + "\2\3\2\2\2>\3\3\2\2\2?=\3\2\2\2@A\7\61\2\2AB\7\66"+ + "\2\2BC\7\64\2\2CH\5\b\5\2DE\7$\2\2EG\5\b\5\2FD\3\2\2\2GJ\3\2\2\2HF\3\2"+ + "\2\2HI\3\2\2\2I\5\3\2\2\2JH\3\2\2\2KL\7\62\2\2LM\7\66\2\2MO\7\64\2\2N"+ + "P\5\32\16\2ON\3\2\2\2OP\3\2\2\2PQ\3\2\2\2QV\5\f\7\2RS\7$\2\2SU\5\f\7\2"+ + "TR\3\2\2\2UX\3\2\2\2VT\3\2\2\2VW\3\2\2\2W\7\3\2\2\2XV\3\2\2\2YZ\5\f\7"+ + "\2Z[\7\36\2\2[^\5\n\6\2\\]\7$\2\2]_\5\22\n\2^\\\3\2\2\2^_\3\2\2\2_b\3"+ + "\2\2\2`a\7$\2\2ac\5 \21\2b`\3\2\2\2bc\3\2\2\2cd\3\2\2\2de\7\37\2\2e\t"+ + "\3\2\2\2fg\5\16\b\2gh\7$\2\2hi\5\20\t\2i\13\3\2\2\2jk\7K\2\2k\r\3\2\2"+ + "\2lm\7\67\2\2mn\7\27\2\2no\5\24\13\2o\17\3\2\2\2pq\78\2\2qr\7\36\2\2r"+ + "s\5\26\f\2st\7\37\2\2t\21\3\2\2\2uv\79\2\2vw\7\27\2\2wx\5\30\r\2x\23\3"+ + "\2\2\2yz\5\60\31\2z\25\3\2\2\2{\u0080\5\60\31\2|}\7$\2\2}\177\5\60\31"+ + "\2~|\3\2\2\2\177\u0082\3\2\2\2\u0080~\3\2\2\2\u0080\u0081\3\2\2\2\u0081"+ + "\27\3\2\2\2\u0082\u0080\3\2\2\2\u0083\u0084\7L\2\2\u0084\31\3\2\2\2\u0085"+ + "\u0086\7C\2\2\u0086\u0087\7D\2\2\u0087\33\3\2\2\2\u0088\u0089\7C\2\2\u0089"+ + "\u008a\7I\2\2\u008a\u008b\7D\2\2\u008b\35\3\2\2\2\u008c\u0094\7L\2\2\u008d"+ + "\u008f\7\17\2\2\u008e\u008d\3\2\2\2\u008e\u008f\3\2\2\2\u008f\u0090\3"+ + "\2\2\2\u0090\u0094\7M\2\2\u0091\u0094\7.\2\2\u0092\u0094\7/\2\2\u0093"+ + "\u008c\3\2\2\2\u0093\u008e\3\2\2\2\u0093\u0091\3\2\2\2\u0093\u0092\3\2"+ + "\2\2\u0094\37\3\2\2\2\u0095\u0096\7:\2\2\u0096\u0097\7\36\2\2\u0097\u0098"+ + "\7;\2\2\u0098\u0099\7\27\2\2\u0099\u009c\5\"\22\2\u009a\u009b\7$\2\2\u009b"+ + "\u009d\5&\24\2\u009c\u009a\3\2\2\2\u009c\u009d\3\2\2\2\u009d\u009e\3\2"+ + "\2\2\u009e\u009f\7\37\2\2\u009f!\3\2\2\2\u00a0\u00a3\7L\2\2\u00a1\u00a3"+ + "\5$\23\2\u00a2\u00a0\3\2\2\2\u00a2\u00a1\3\2\2\2\u00a3#\3\2\2\2\u00a4"+ + "\u00a5\t\2\2\2\u00a5%\3\2\2\2\u00a6\u00a7\7<\2\2\u00a7\u00a9\7\36\2\2"+ + "\u00a8\u00aa\5(\25\2\u00a9\u00a8\3\2\2\2\u00a9\u00aa\3\2\2\2\u00aa\u00ab"+ + "\3\2\2\2\u00ab\u00ac\7\37\2\2\u00ac\'\3\2\2\2\u00ad\u00b2\5*\26\2\u00ae"+ + "\u00af\7$\2\2\u00af\u00b1\5*\26\2\u00b0\u00ae\3\2\2\2\u00b1\u00b4\3\2"+ + "\2\2\u00b2\u00b0\3\2\2\2\u00b2\u00b3\3\2\2\2\u00b3)\3\2\2\2\u00b4\u00b2"+ + "\3\2\2\2\u00b5\u00b6\7L\2\2\u00b6\u00b7\7\27\2\2\u00b7\u00b8\5\36\20\2"+ + "\u00b8+\3\2\2\2\u00b9\u00ba\7K\2\2\u00ba-\3\2\2\2\u00bb\u00bc\7K\2\2\u00bc"+ + "/\3\2\2\2\u00bd\u00be\7K\2\2\u00be\61\3\2\2\2\20\66=HOV^b\u0080\u008e"+ + "\u0093\u009c\u00a2\u00a9\u00b2"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Symbol.interp b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Symbol.interp new file mode 100644 index 00000000..16be7873 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Symbol.interp @@ -0,0 +1,143 @@ +token literal names: +null +'&&' +'||' +'!' +'~' +'|' +'&' +'<<' +'>>' +'^' +'%' +':' +'+' +'-' +'*' +'/' +'\\' +'.' +'.*' +'<=>' +'==' +'=' +null +'>' +'>=' +'<' +'<=' +'#' +'(' +')' +'{' +'}' +'[' +']' +',' +'"' +'\'' +'`' +'?' +'@' +';' +'->>' +'_' + +token symbolic names: +null +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ + +rule names: +AND_ +OR_ +NOT_ +TILDE_ +VERTICALBAR_ +AMPERSAND_ +SIGNEDLEFTSHIFT_ +SIGNEDRIGHTSHIFT_ +CARET_ +MOD_ +COLON_ +PLUS_ +MINUS_ +ASTERISK_ +SLASH_ +BACKSLASH_ +DOT_ +DOTASTERISK_ +SAFEEQ_ +DEQ_ +EQ_ +NEQ_ +GT_ +GTE_ +LT_ +LTE_ +POUND_ +LP_ +RP_ +LBE_ +RBE_ +LBT_ +RBT_ +COMMA_ +DQ_ +SQ_ +BQ_ +QUESTION_ +AT_ +SEMI_ +JSONSEPARATOR_ +UL_ + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 44, 187, 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, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 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, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 142, 10, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 2, 2, 44, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 3, 2, 2, 2, 187, 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, 3, 87, 3, 2, 2, 2, 5, 90, 3, 2, 2, 2, 7, 93, 3, 2, 2, 2, 9, 95, 3, 2, 2, 2, 11, 97, 3, 2, 2, 2, 13, 99, 3, 2, 2, 2, 15, 101, 3, 2, 2, 2, 17, 104, 3, 2, 2, 2, 19, 107, 3, 2, 2, 2, 21, 109, 3, 2, 2, 2, 23, 111, 3, 2, 2, 2, 25, 113, 3, 2, 2, 2, 27, 115, 3, 2, 2, 2, 29, 117, 3, 2, 2, 2, 31, 119, 3, 2, 2, 2, 33, 121, 3, 2, 2, 2, 35, 123, 3, 2, 2, 2, 37, 125, 3, 2, 2, 2, 39, 128, 3, 2, 2, 2, 41, 132, 3, 2, 2, 2, 43, 135, 3, 2, 2, 2, 45, 141, 3, 2, 2, 2, 47, 143, 3, 2, 2, 2, 49, 145, 3, 2, 2, 2, 51, 148, 3, 2, 2, 2, 53, 150, 3, 2, 2, 2, 55, 153, 3, 2, 2, 2, 57, 155, 3, 2, 2, 2, 59, 157, 3, 2, 2, 2, 61, 159, 3, 2, 2, 2, 63, 161, 3, 2, 2, 2, 65, 163, 3, 2, 2, 2, 67, 165, 3, 2, 2, 2, 69, 167, 3, 2, 2, 2, 71, 169, 3, 2, 2, 2, 73, 171, 3, 2, 2, 2, 75, 173, 3, 2, 2, 2, 77, 175, 3, 2, 2, 2, 79, 177, 3, 2, 2, 2, 81, 179, 3, 2, 2, 2, 83, 181, 3, 2, 2, 2, 85, 185, 3, 2, 2, 2, 87, 88, 7, 40, 2, 2, 88, 89, 7, 40, 2, 2, 89, 4, 3, 2, 2, 2, 90, 91, 7, 126, 2, 2, 91, 92, 7, 126, 2, 2, 92, 6, 3, 2, 2, 2, 93, 94, 7, 35, 2, 2, 94, 8, 3, 2, 2, 2, 95, 96, 7, 128, 2, 2, 96, 10, 3, 2, 2, 2, 97, 98, 7, 126, 2, 2, 98, 12, 3, 2, 2, 2, 99, 100, 7, 40, 2, 2, 100, 14, 3, 2, 2, 2, 101, 102, 7, 62, 2, 2, 102, 103, 7, 62, 2, 2, 103, 16, 3, 2, 2, 2, 104, 105, 7, 64, 2, 2, 105, 106, 7, 64, 2, 2, 106, 18, 3, 2, 2, 2, 107, 108, 7, 96, 2, 2, 108, 20, 3, 2, 2, 2, 109, 110, 7, 39, 2, 2, 110, 22, 3, 2, 2, 2, 111, 112, 7, 60, 2, 2, 112, 24, 3, 2, 2, 2, 113, 114, 7, 45, 2, 2, 114, 26, 3, 2, 2, 2, 115, 116, 7, 47, 2, 2, 116, 28, 3, 2, 2, 2, 117, 118, 7, 44, 2, 2, 118, 30, 3, 2, 2, 2, 119, 120, 7, 49, 2, 2, 120, 32, 3, 2, 2, 2, 121, 122, 7, 94, 2, 2, 122, 34, 3, 2, 2, 2, 123, 124, 7, 48, 2, 2, 124, 36, 3, 2, 2, 2, 125, 126, 7, 48, 2, 2, 126, 127, 7, 44, 2, 2, 127, 38, 3, 2, 2, 2, 128, 129, 7, 62, 2, 2, 129, 130, 7, 63, 2, 2, 130, 131, 7, 64, 2, 2, 131, 40, 3, 2, 2, 2, 132, 133, 7, 63, 2, 2, 133, 134, 7, 63, 2, 2, 134, 42, 3, 2, 2, 2, 135, 136, 7, 63, 2, 2, 136, 44, 3, 2, 2, 2, 137, 138, 7, 62, 2, 2, 138, 142, 7, 64, 2, 2, 139, 140, 7, 35, 2, 2, 140, 142, 7, 63, 2, 2, 141, 137, 3, 2, 2, 2, 141, 139, 3, 2, 2, 2, 142, 46, 3, 2, 2, 2, 143, 144, 7, 64, 2, 2, 144, 48, 3, 2, 2, 2, 145, 146, 7, 64, 2, 2, 146, 147, 7, 63, 2, 2, 147, 50, 3, 2, 2, 2, 148, 149, 7, 62, 2, 2, 149, 52, 3, 2, 2, 2, 150, 151, 7, 62, 2, 2, 151, 152, 7, 63, 2, 2, 152, 54, 3, 2, 2, 2, 153, 154, 7, 37, 2, 2, 154, 56, 3, 2, 2, 2, 155, 156, 7, 42, 2, 2, 156, 58, 3, 2, 2, 2, 157, 158, 7, 43, 2, 2, 158, 60, 3, 2, 2, 2, 159, 160, 7, 125, 2, 2, 160, 62, 3, 2, 2, 2, 161, 162, 7, 127, 2, 2, 162, 64, 3, 2, 2, 2, 163, 164, 7, 93, 2, 2, 164, 66, 3, 2, 2, 2, 165, 166, 7, 95, 2, 2, 166, 68, 3, 2, 2, 2, 167, 168, 7, 46, 2, 2, 168, 70, 3, 2, 2, 2, 169, 170, 7, 36, 2, 2, 170, 72, 3, 2, 2, 2, 171, 172, 7, 41, 2, 2, 172, 74, 3, 2, 2, 2, 173, 174, 7, 98, 2, 2, 174, 76, 3, 2, 2, 2, 175, 176, 7, 65, 2, 2, 176, 78, 3, 2, 2, 2, 177, 178, 7, 66, 2, 2, 178, 80, 3, 2, 2, 2, 179, 180, 7, 61, 2, 2, 180, 82, 3, 2, 2, 2, 181, 182, 7, 47, 2, 2, 182, 183, 7, 64, 2, 2, 183, 184, 7, 64, 2, 2, 184, 84, 3, 2, 2, 2, 185, 186, 7, 97, 2, 2, 186, 86, 3, 2, 2, 2, 4, 2, 141, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Symbol.java b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Symbol.java new file mode 100644 index 00000000..6b500ecf --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Symbol.java @@ -0,0 +1,184 @@ +// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/Symbol.g4 by ANTLR 4.9.2 +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.misc.*; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class Symbol extends Lexer { + static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, + SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, + ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, + DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, + LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, + SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42; + public static String[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + + public static String[] modeNames = { + "DEFAULT_MODE" + }; + + private static String[] makeRuleNames() { + return new String[] { + "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", + "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", + "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", + "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", + "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", + "SEMI_", "JSONSEPARATOR_", "UL_" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", + "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", + "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", + "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", + "';'", "'->>'", "'_'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", + "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", + "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", + "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", + "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", + "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + + public Symbol(CharStream input) { + super(input); + _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + @Override + public String getGrammarFileName() { return "Symbol.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public String[] getChannelNames() { return channelNames; } + + @Override + public String[] getModeNames() { return modeNames; } + + @Override + public ATN getATN() { return _ATN; } + + public static final String _serializedATN = + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2,\u00bb\b\1\4\2\t"+ + "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ + "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ + "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ + "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ + "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\3"+ + "\2\3\2\3\2\3\3\3\3\3\3\3\4\3\4\3\5\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\t"+ + "\3\t\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3\17\3\17\3\20\3"+ + "\20\3\21\3\21\3\22\3\22\3\23\3\23\3\23\3\24\3\24\3\24\3\24\3\25\3\25\3"+ + "\25\3\26\3\26\3\27\3\27\3\27\3\27\5\27\u008e\n\27\3\30\3\30\3\31\3\31"+ + "\3\31\3\32\3\32\3\33\3\33\3\33\3\34\3\34\3\35\3\35\3\36\3\36\3\37\3\37"+ + "\3 \3 \3!\3!\3\"\3\"\3#\3#\3$\3$\3%\3%\3&\3&\3\'\3\'\3(\3(\3)\3)\3*\3"+ + "*\3*\3*\3+\3+\2\2,\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r"+ + "\31\16\33\17\35\20\37\21!\22#\23%\24\'\25)\26+\27-\30/\31\61\32\63\33"+ + "\65\34\67\359\36;\37= ?!A\"C#E$G%I&K\'M(O)Q*S+U,\3\2\2\2\u00bb\2\3\3\2"+ + "\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17"+ + "\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\31\3\2"+ + "\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2\2\2%\3"+ + "\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\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\29\3\2\2\2\2;\3\2\2\2\2"+ + "=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2\2I\3"+ + "\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2\2"+ + "\2\3W\3\2\2\2\5Z\3\2\2\2\7]\3\2\2\2\t_\3\2\2\2\13a\3\2\2\2\rc\3\2\2\2"+ + "\17e\3\2\2\2\21h\3\2\2\2\23k\3\2\2\2\25m\3\2\2\2\27o\3\2\2\2\31q\3\2\2"+ + "\2\33s\3\2\2\2\35u\3\2\2\2\37w\3\2\2\2!y\3\2\2\2#{\3\2\2\2%}\3\2\2\2\'"+ + "\u0080\3\2\2\2)\u0084\3\2\2\2+\u0087\3\2\2\2-\u008d\3\2\2\2/\u008f\3\2"+ + "\2\2\61\u0091\3\2\2\2\63\u0094\3\2\2\2\65\u0096\3\2\2\2\67\u0099\3\2\2"+ + "\29\u009b\3\2\2\2;\u009d\3\2\2\2=\u009f\3\2\2\2?\u00a1\3\2\2\2A\u00a3"+ + "\3\2\2\2C\u00a5\3\2\2\2E\u00a7\3\2\2\2G\u00a9\3\2\2\2I\u00ab\3\2\2\2K"+ + "\u00ad\3\2\2\2M\u00af\3\2\2\2O\u00b1\3\2\2\2Q\u00b3\3\2\2\2S\u00b5\3\2"+ + "\2\2U\u00b9\3\2\2\2WX\7(\2\2XY\7(\2\2Y\4\3\2\2\2Z[\7~\2\2[\\\7~\2\2\\"+ + "\6\3\2\2\2]^\7#\2\2^\b\3\2\2\2_`\7\u0080\2\2`\n\3\2\2\2ab\7~\2\2b\f\3"+ + "\2\2\2cd\7(\2\2d\16\3\2\2\2ef\7>\2\2fg\7>\2\2g\20\3\2\2\2hi\7@\2\2ij\7"+ + "@\2\2j\22\3\2\2\2kl\7`\2\2l\24\3\2\2\2mn\7\'\2\2n\26\3\2\2\2op\7<\2\2"+ + "p\30\3\2\2\2qr\7-\2\2r\32\3\2\2\2st\7/\2\2t\34\3\2\2\2uv\7,\2\2v\36\3"+ + "\2\2\2wx\7\61\2\2x \3\2\2\2yz\7^\2\2z\"\3\2\2\2{|\7\60\2\2|$\3\2\2\2}"+ + "~\7\60\2\2~\177\7,\2\2\177&\3\2\2\2\u0080\u0081\7>\2\2\u0081\u0082\7?"+ + "\2\2\u0082\u0083\7@\2\2\u0083(\3\2\2\2\u0084\u0085\7?\2\2\u0085\u0086"+ + "\7?\2\2\u0086*\3\2\2\2\u0087\u0088\7?\2\2\u0088,\3\2\2\2\u0089\u008a\7"+ + ">\2\2\u008a\u008e\7@\2\2\u008b\u008c\7#\2\2\u008c\u008e\7?\2\2\u008d\u0089"+ + "\3\2\2\2\u008d\u008b\3\2\2\2\u008e.\3\2\2\2\u008f\u0090\7@\2\2\u0090\60"+ + "\3\2\2\2\u0091\u0092\7@\2\2\u0092\u0093\7?\2\2\u0093\62\3\2\2\2\u0094"+ + "\u0095\7>\2\2\u0095\64\3\2\2\2\u0096\u0097\7>\2\2\u0097\u0098\7?\2\2\u0098"+ + "\66\3\2\2\2\u0099\u009a\7%\2\2\u009a8\3\2\2\2\u009b\u009c\7*\2\2\u009c"+ + ":\3\2\2\2\u009d\u009e\7+\2\2\u009e<\3\2\2\2\u009f\u00a0\7}\2\2\u00a0>"+ + "\3\2\2\2\u00a1\u00a2\7\177\2\2\u00a2@\3\2\2\2\u00a3\u00a4\7]\2\2\u00a4"+ + "B\3\2\2\2\u00a5\u00a6\7_\2\2\u00a6D\3\2\2\2\u00a7\u00a8\7.\2\2\u00a8F"+ + "\3\2\2\2\u00a9\u00aa\7$\2\2\u00aaH\3\2\2\2\u00ab\u00ac\7)\2\2\u00acJ\3"+ + "\2\2\2\u00ad\u00ae\7b\2\2\u00aeL\3\2\2\2\u00af\u00b0\7A\2\2\u00b0N\3\2"+ + "\2\2\u00b1\u00b2\7B\2\2\u00b2P\3\2\2\2\u00b3\u00b4\7=\2\2\u00b4R\3\2\2"+ + "\2\u00b5\u00b6\7/\2\2\u00b6\u00b7\7@\2\2\u00b7\u00b8\7@\2\2\u00b8T\3\2"+ + "\2\2\u00b9\u00ba\7a\2\2\u00baV\3\2\2\2\4\2\u008d\2"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Symbol.tokens b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Symbol.tokens new file mode 100644 index 00000000..e2613cd6 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Symbol.tokens @@ -0,0 +1,83 @@ +AND_=1 +OR_=2 +NOT_=3 +TILDE_=4 +VERTICALBAR_=5 +AMPERSAND_=6 +SIGNEDLEFTSHIFT_=7 +SIGNEDRIGHTSHIFT_=8 +CARET_=9 +MOD_=10 +COLON_=11 +PLUS_=12 +MINUS_=13 +ASTERISK_=14 +SLASH_=15 +BACKSLASH_=16 +DOT_=17 +DOTASTERISK_=18 +SAFEEQ_=19 +DEQ_=20 +EQ_=21 +NEQ_=22 +GT_=23 +GTE_=24 +LT_=25 +LTE_=26 +POUND_=27 +LP_=28 +RP_=29 +LBE_=30 +RBE_=31 +LBT_=32 +RBT_=33 +COMMA_=34 +DQ_=35 +SQ_=36 +BQ_=37 +QUESTION_=38 +AT_=39 +SEMI_=40 +JSONSEPARATOR_=41 +UL_=42 +'&&'=1 +'||'=2 +'!'=3 +'~'=4 +'|'=5 +'&'=6 +'<<'=7 +'>>'=8 +'^'=9 +'%'=10 +':'=11 +'+'=12 +'-'=13 +'*'=14 +'/'=15 +'\\'=16 +'.'=17 +'.*'=18 +'<=>'=19 +'=='=20 +'='=21 +'>'=23 +'>='=24 +'<'=25 +'<='=26 +'#'=27 +'('=28 +')'=29 +'{'=30 +'}'=31 +'['=32 +']'=33 +','=34 +'"'=35 +'\''=36 +'`'=37 +'?'=38 +'@'=39 +';'=40 +'->>'=41 +'_'=42 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/Alphabet.g4 b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/Alphabet.g4 new file mode 100644 index 00000000..f7603cc7 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/Alphabet.g4 @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +lexer grammar Alphabet; + +FOR_GENERATOR: 'DO NOT MATCH ANY THING, JUST FOR GENERATOR'; + +fragment A: [Aa]; +fragment B: [Bb]; +fragment C: [Cc]; +fragment D: [Dd]; +fragment E: [Ee]; +fragment F: [Ff]; +fragment G: [Gg]; +fragment H: [Hh]; +fragment I: [Ii]; +fragment J: [Jj]; +fragment K: [Kk]; +fragment L: [Ll]; +fragment M: [Mm]; +fragment N: [Nn]; +fragment O: [Oo]; +fragment P: [Pp]; +fragment Q: [Qq]; +fragment R: [Rr]; +fragment S: [Ss]; +fragment T: [Tt]; +fragment U: [Uu]; +fragment V: [Vv]; +fragment W: [Ww]; +fragment X: [Xx]; +fragment Y: [Yy]; +fragment Z: [Zz]; +fragment UL_: '_'; diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/BaseRule.g4 b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/BaseRule.g4 new file mode 100644 index 00000000..8b23e501 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/BaseRule.g4 @@ -0,0 +1,62 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +grammar BaseRule; + +import Symbol, Keyword, Literals; + +literal + : STRING_ | (MINUS_)? INT_ | TRUE | FALSE + ; + +algorithmDefinition + : TYPE LP_ NAME EQ_ algorithmTypeName (COMMA_ propertiesDefinition)? RP_ + ; + +algorithmTypeName + : STRING_ | buildInReadQueryLoadBalanceAlgorithmType + ; + +buildInReadQueryLoadBalanceAlgorithmType + : ROUND_ROBIN + | RANDOM + | WEIGHT + ; + +propertiesDefinition + : PROPERTIES LP_ properties? RP_ + ; + +properties + : property (COMMA_ property)* + ; + +property + : key=STRING_ EQ_ value=literal + ; + +databaseName + : IDENTIFIER_ + ; + +groupName + : IDENTIFIER_ + ; + +storageUnitName + : IDENTIFIER_ + ; diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/Keyword.g4 b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/Keyword.g4 new file mode 100644 index 00000000..3965f963 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/Keyword.g4 @@ -0,0 +1,136 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +lexer grammar Keyword; + +import Alphabet; + +WS + : [ \t\r\n] + ->skip + ; + +TRUE + : T R U E + ; + +FALSE + : F A L S E + ; + +CREATE + : C R E A T E + ; + +ALTER + : A L T E R + ; + +DROP + : D R O P + ; + +SHOW + : S H O W + ; + +RULE + : R U L E + ; + +FROM + : F R O M + ; + +READWRITE_SPLITTING + : R E A D W R I T E UL_ S P L I T T I N G + ; + +WRITE_STORAGE_UNIT + : W R I T E UL_ S T O R A G E UL_ U N I T + ; + +READ_STORAGE_UNITS + : R E A D UL_ S T O R A G E UL_ U N I T S + ; + +TRANSACTIONAL_READ_QUERY_STRATEGY + : T R A N S A C T I O N A L UL_ R E A D UL_ Q U E R Y UL_ S T R A T E G Y + ; + +TYPE + : T Y P E + ; + +NAME + : N A M E + ; + +PROPERTIES + : P R O P E R T I E S + ; + +RULES + : R U L E S + ; + +RESOURCES + : R E S O U R C E S + ; + +STATUS + : S T A T U S + ; + +ENABLE + : E N A B L E + ; + +DISABLE + : D I S A B L E + ; + +READ + : R E A D + ; + +IF + : I F + ; + +EXISTS + : E X I S T S + ; + +COUNT + : C O U N T + ; + +ROUND_ROBIN + : R O U N D UL_ R O B I N + ; + +RANDOM + : R A N D O M + ; + +WEIGHT + : W E I G H T + ; + +NOT + : N O T + ; diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/Literals.g4 b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/Literals.g4 new file mode 100644 index 00000000..1d13bcc2 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/Literals.g4 @@ -0,0 +1,50 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +lexer grammar Literals; + +import Alphabet, Symbol; + +IDENTIFIER_ + : [A-Za-z_$0-9]*?[A-Za-z_$]+?[A-Za-z_$0-9]* + | BQ_ ~'`'+ BQ_ + ; + +STRING_ + : (DQ_ ('\\'. | '""' | ~('"' | '\\'))* DQ_) + | (SQ_ ('\\'. | '\'\'' | ~('\'' | '\\'))* SQ_) + ; + +INT_ + : [0-9]+ + ; + +HEX_ + : [0-9a-fA-F] + ; + +NUMBER_ + : INT_? DOT_? INT_ (E (PLUS_ | MINUS_)? INT_)? + ; + +HEXDIGIT_ + : '0x' HEX_+ | 'X' SQ_ HEX_+ SQ_ + ; + +BITNUM_ + : '0b' ('0' | '1')+ | B SQ_ ('0' | '1')+ SQ_ + ; diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/RALStatement.g4 b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/RALStatement.g4 new file mode 100644 index 00000000..d94b56d3 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/RALStatement.g4 @@ -0,0 +1,28 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +grammar RALStatement; + +import BaseRule; + +alterReadwriteSplittingStorageUnitStatus + : ALTER READWRITE_SPLITTING RULE (groupName)? (ENABLE | DISABLE) storageUnitName (FROM databaseName)? + ; + +showStatusFromReadwriteSplittingRules + : SHOW STATUS FROM READWRITE_SPLITTING (RULES | RULE groupName) (FROM databaseName)? + ; diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/RDLStatement.g4 b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/RDLStatement.g4 new file mode 100644 index 00000000..0b49507f --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/RDLStatement.g4 @@ -0,0 +1,76 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +grammar RDLStatement; + +import BaseRule; + +createReadwriteSplittingRule + : CREATE READWRITE_SPLITTING RULE ifNotExists? readwriteSplittingRuleDefinition (COMMA_ readwriteSplittingRuleDefinition)* + ; + +alterReadwriteSplittingRule + : ALTER READWRITE_SPLITTING RULE readwriteSplittingRuleDefinition (COMMA_ readwriteSplittingRuleDefinition)* + ; + +dropReadwriteSplittingRule + : DROP READWRITE_SPLITTING RULE ifExists? ruleName (COMMA_ ruleName)* + ; + +readwriteSplittingRuleDefinition + : ruleName LP_ dataSourceDefinition (COMMA_ transactionalReadQueryStrategy)? (COMMA_ algorithmDefinition)? RP_ + ; + +dataSourceDefinition + : writeStorageUnit COMMA_ readStorageUnits + ; + +ruleName + : IDENTIFIER_ + ; + +writeStorageUnit + : WRITE_STORAGE_UNIT EQ_ writeStorageUnitName + ; + +readStorageUnits + : READ_STORAGE_UNITS LP_ readStorageUnitsNames RP_ + ; + +transactionalReadQueryStrategy + : TRANSACTIONAL_READ_QUERY_STRATEGY EQ_ transactionalReadQueryStrategyName + ; + +writeStorageUnitName + : storageUnitName + ; + +readStorageUnitsNames + : storageUnitName (COMMA_ storageUnitName)* + ; + +transactionalReadQueryStrategyName + : STRING_ + ; + +ifExists + : IF EXISTS + ; + +ifNotExists + : IF NOT EXISTS + ; diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/RQLStatement.g4 b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/RQLStatement.g4 new file mode 100644 index 00000000..c2862919 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/RQLStatement.g4 @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +grammar RQLStatement; + +import BaseRule; + +showReadwriteSplittingRules + : SHOW READWRITE_SPLITTING (RULE ruleName | RULES) (FROM databaseName)? + ; + +countReadwriteSplittingRule + : COUNT READWRITE_SPLITTING RULE (FROM databaseName)? + ; + +ruleName + : IDENTIFIER_ + ; diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/Symbol.g4 b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/Symbol.g4 new file mode 100644 index 00000000..90dba68c --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/Symbol.g4 @@ -0,0 +1,61 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +lexer grammar Symbol; + +AND_: '&&'; +OR_: '||'; +NOT_: '!'; +TILDE_: '~'; +VERTICALBAR_: '|'; +AMPERSAND_: '&'; +SIGNEDLEFTSHIFT_: '<<'; +SIGNEDRIGHTSHIFT_: '>>'; +CARET_: '^'; +MOD_: '%'; +COLON_: ':'; +PLUS_: '+'; +MINUS_: '-'; +ASTERISK_: '*'; +SLASH_: '/'; +BACKSLASH_: '\\'; +DOT_: '.'; +DOTASTERISK_: '.*'; +SAFEEQ_: '<=>'; +DEQ_: '=='; +EQ_: '='; +NEQ_: '<>' | '!='; +GT_: '>'; +GTE_: '>='; +LT_: '<'; +LTE_: '<='; +POUND_: '#'; +LP_: '('; +RP_: ')'; +LBE_: '{'; +RBE_: '}'; +LBT_: '['; +RBT_: ']'; +COMMA_: ','; +DQ_: '"'; +SQ_: '\''; +BQ_: '`'; +QUESTION_: '?'; +AT_: '@'; +SEMI_: ';'; +JSONSEPARATOR_: '->>'; +UL_: '_'; diff --git a/shardingsphere-operator/pkg/distsql/antlr4/shadow/Alphabet.g4 b/shardingsphere-operator/pkg/distsql/antlr4/shadow/Alphabet.g4 new file mode 100644 index 00000000..f7603cc7 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/shadow/Alphabet.g4 @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +lexer grammar Alphabet; + +FOR_GENERATOR: 'DO NOT MATCH ANY THING, JUST FOR GENERATOR'; + +fragment A: [Aa]; +fragment B: [Bb]; +fragment C: [Cc]; +fragment D: [Dd]; +fragment E: [Ee]; +fragment F: [Ff]; +fragment G: [Gg]; +fragment H: [Hh]; +fragment I: [Ii]; +fragment J: [Jj]; +fragment K: [Kk]; +fragment L: [Ll]; +fragment M: [Mm]; +fragment N: [Nn]; +fragment O: [Oo]; +fragment P: [Pp]; +fragment Q: [Qq]; +fragment R: [Rr]; +fragment S: [Ss]; +fragment T: [Tt]; +fragment U: [Uu]; +fragment V: [Vv]; +fragment W: [Ww]; +fragment X: [Xx]; +fragment Y: [Yy]; +fragment Z: [Zz]; +fragment UL_: '_'; diff --git a/shardingsphere-operator/pkg/distsql/antlr4/shadow/BaseRule.g4 b/shardingsphere-operator/pkg/distsql/antlr4/shadow/BaseRule.g4 new file mode 100644 index 00000000..1c310335 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/shadow/BaseRule.g4 @@ -0,0 +1,54 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +grammar BaseRule; + +import Symbol, Keyword, Literals; + +literal + : STRING_ | (MINUS_)? INT_ | TRUE | FALSE + ; + +algorithmDefinition + : TYPE LP_ NAME EQ_ algorithmTypeName (COMMA_ propertiesDefinition)? RP_ + ; + +algorithmTypeName + : STRING_ | buildInShadowAlgorithmType + ; + +buildInShadowAlgorithmType + : VALUE_MATCH + | REGEX_MATCH + | SQL_HINT + ; + +propertiesDefinition + : PROPERTIES LP_ properties? RP_ + ; + +properties + : property (COMMA_ property)* + ; + +property + : key=STRING_ EQ_ value=literal + ; + +ruleName + : IDENTIFIER_ + ; diff --git a/shardingsphere-operator/pkg/distsql/antlr4/shadow/Keyword.g4 b/shardingsphere-operator/pkg/distsql/antlr4/shadow/Keyword.g4 new file mode 100644 index 00000000..f82b1856 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/shadow/Keyword.g4 @@ -0,0 +1,152 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +lexer grammar Keyword; + +import Alphabet; + +WS + : [ \t\r\n] + ->skip + ; + +TRUE + : T R U E + ; + +FALSE + : F A L S E + ; + +CREATE + : C R E A T E + ; + +ALTER + : A L T E R + ; + +DROP + : D R O P + ; + +SHOW + : S H O W + ; + +SHADOW + : S H A D O W + ; + +SOURCE + : S O U R C E + ; + +RULE + : R U L E + ; + +FROM + : F R O M + ; + +RESOURCES + : R E S O U R C E S + ; + +TABLE + : T A B L E + ; + +TYPE + : T Y P E + ; + +NAME + : N A M E + ; + +PROPERTIES + : P R O P E R T I E S + ; + +RULES + : R U L E S + ; + +ALGORITHM + : A L G O R I T H M + ; + +ALGORITHMS + : A L G O R I T H M S + ; + +SET + : S E T + ; + +ADD + : A D D + ; + +DATABASE_VALUE + : D A T A B A S E UL_ V A L U E + ; + +TABLE_VALUE + : T A B L E UL_ V A L U E + ; + +STATUS + : S T A T U S + ; + +CLEAR + : C L E A R + ; + +DEFAULT + : D E F A U L T + ; + +IF + : I F + ; + +EXISTS + : E X I S T S + ; + +COUNT + : C O U N T + ; + +VALUE_MATCH + : V A L U E UL_ M A T C H + ; + +REGEX_MATCH + : R E G E X UL_ M A T C H + ; + +SQL_HINT + : S I M P L E UL_ H I N T + ; + +NOT + : N O T + ; diff --git a/shardingsphere-operator/pkg/distsql/antlr4/shadow/Literals.g4 b/shardingsphere-operator/pkg/distsql/antlr4/shadow/Literals.g4 new file mode 100644 index 00000000..3634476f --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/shadow/Literals.g4 @@ -0,0 +1,54 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +lexer grammar Literals; + +import Alphabet, Symbol; + +IDENTIFIER_ + : [A-Za-z_$0-9]*?[A-Za-z_$]+?[A-Za-z_$0-9]* + | BQ_ ~'`'+ BQ_ + ; + +STRING_ + : (DQ_ ('\\'. | '""' | ~('"' | '\\'))* DQ_) + | (SQ_ ('\\'. | '\'\'' | ~('\'' | '\\'))* SQ_) + ; + +INT_ + : [0-9]+ + ; + +HEX_ + : [0-9a-fA-F] + ; + +NUMBER_ + : INT_? DOT_? INT_ (E (PLUS_ | MINUS_)? INT_)? + ; + +HEXDIGIT_ + : '0x' HEX_+ | 'X' SQ_ HEX_+ SQ_ + ; + +BITNUM_ + : '0b' ('0' | '1')+ | B SQ_ ('0' | '1')+ SQ_ + ; + +BOOL_ + : T R U E | F A L S E + ; diff --git a/shardingsphere-operator/pkg/distsql/antlr4/shadow/RDLStatement.g4 b/shardingsphere-operator/pkg/distsql/antlr4/shadow/RDLStatement.g4 new file mode 100644 index 00000000..c5070ec6 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/shadow/RDLStatement.g4 @@ -0,0 +1,80 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +grammar RDLStatement; + +import BaseRule; + +createShadowRule + : CREATE SHADOW RULE ifNotExists? shadowRuleDefinition (COMMA_ shadowRuleDefinition)* + ; + +alterShadowRule + : ALTER SHADOW RULE shadowRuleDefinition (COMMA_ shadowRuleDefinition)* + ; + +dropShadowRule + : DROP SHADOW RULE ifExists? ruleName (COMMA_ ruleName)* + ; + +dropShadowAlgorithm + : DROP SHADOW ALGORITHM ifExists? algorithmName (COMMA_ algorithmName)* + ; + +createDefaultShadowAlgorithm + : CREATE DEFAULT SHADOW ALGORITHM ifNotExists? algorithmDefinition + ; + +dropDefaultShadowAlgorithm + : DROP DEFAULT SHADOW ALGORITHM ifExists? + ; + +alterDefaultShadowAlgorithm + : ALTER DEFAULT SHADOW ALGORITHM algorithmDefinition + ; + +shadowRuleDefinition + : ruleName LP_ SOURCE EQ_ source COMMA_ SHADOW EQ_ shadow COMMA_ shadowTableRule (COMMA_ shadowTableRule)* RP_ + ; + +shadowTableRule + : tableName LP_ algorithmDefinition (COMMA_ algorithmDefinition)* RP_ + ; + +source + : IDENTIFIER_ + ; + +shadow + : IDENTIFIER_ + ; + +tableName + : IDENTIFIER_ + ; + +algorithmName + : IDENTIFIER_ + ; + +ifExists + : IF EXISTS + ; + +ifNotExists + : IF NOT EXISTS + ; diff --git a/shardingsphere-operator/pkg/distsql/antlr4/shadow/RQLStatement.g4 b/shardingsphere-operator/pkg/distsql/antlr4/shadow/RQLStatement.g4 new file mode 100644 index 00000000..0c20410e --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/shadow/RQLStatement.g4 @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +grammar RQLStatement; + +import BaseRule; + +showShadowRules + : SHOW SHADOW (shadowRule | RULES) (FROM databaseName)? + ; + +showShadowTableRules + : SHOW SHADOW TABLE RULES (FROM databaseName)? + ; + +showShadowAlgorithms + : SHOW SHADOW ALGORITHMS (FROM databaseName)? + ; + +showDefaultShadowAlgorithm + : SHOW DEFAULT SHADOW ALGORITHM (FROM databaseName)? + ; + +shadowRule + : RULE ruleName + ; + +countShadowRule + : COUNT SHADOW RULE (FROM databaseName)? + ; + +databaseName + : IDENTIFIER_ + ; diff --git a/shardingsphere-operator/pkg/distsql/antlr4/shadow/Symbol.g4 b/shardingsphere-operator/pkg/distsql/antlr4/shadow/Symbol.g4 new file mode 100644 index 00000000..90dba68c --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/shadow/Symbol.g4 @@ -0,0 +1,61 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +lexer grammar Symbol; + +AND_: '&&'; +OR_: '||'; +NOT_: '!'; +TILDE_: '~'; +VERTICALBAR_: '|'; +AMPERSAND_: '&'; +SIGNEDLEFTSHIFT_: '<<'; +SIGNEDRIGHTSHIFT_: '>>'; +CARET_: '^'; +MOD_: '%'; +COLON_: ':'; +PLUS_: '+'; +MINUS_: '-'; +ASTERISK_: '*'; +SLASH_: '/'; +BACKSLASH_: '\\'; +DOT_: '.'; +DOTASTERISK_: '.*'; +SAFEEQ_: '<=>'; +DEQ_: '=='; +EQ_: '='; +NEQ_: '<>' | '!='; +GT_: '>'; +GTE_: '>='; +LT_: '<'; +LTE_: '<='; +POUND_: '#'; +LP_: '('; +RP_: ')'; +LBE_: '{'; +RBE_: '}'; +LBT_: '['; +RBT_: ']'; +COMMA_: ','; +DQ_: '"'; +SQ_: '\''; +BQ_: '`'; +QUESTION_: '?'; +AT_: '@'; +SEMI_: ';'; +JSONSEPARATOR_: '->>'; +UL_: '_'; diff --git a/shardingsphere-operator/pkg/distsql/antlr4/sharding/Alphabet.g4 b/shardingsphere-operator/pkg/distsql/antlr4/sharding/Alphabet.g4 new file mode 100644 index 00000000..f7603cc7 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/sharding/Alphabet.g4 @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +lexer grammar Alphabet; + +FOR_GENERATOR: 'DO NOT MATCH ANY THING, JUST FOR GENERATOR'; + +fragment A: [Aa]; +fragment B: [Bb]; +fragment C: [Cc]; +fragment D: [Dd]; +fragment E: [Ee]; +fragment F: [Ff]; +fragment G: [Gg]; +fragment H: [Hh]; +fragment I: [Ii]; +fragment J: [Jj]; +fragment K: [Kk]; +fragment L: [Ll]; +fragment M: [Mm]; +fragment N: [Nn]; +fragment O: [Oo]; +fragment P: [Pp]; +fragment Q: [Qq]; +fragment R: [Rr]; +fragment S: [Ss]; +fragment T: [Tt]; +fragment U: [Uu]; +fragment V: [Vv]; +fragment W: [Ww]; +fragment X: [Xx]; +fragment Y: [Yy]; +fragment Z: [Zz]; +fragment UL_: '_'; diff --git a/shardingsphere-operator/pkg/distsql/antlr4/sharding/BaseRule.g4 b/shardingsphere-operator/pkg/distsql/antlr4/sharding/BaseRule.g4 new file mode 100644 index 00000000..f1587ee5 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/sharding/BaseRule.g4 @@ -0,0 +1,92 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +grammar BaseRule; + +import Symbol, Keyword, Literals; + +literal + : STRING_ | (MINUS_)? INT_ | TRUE | FALSE + ; + +algorithmDefinition + : TYPE LP_ NAME EQ_ algorithmTypeName (COMMA_ propertiesDefinition)? RP_ + ; + +algorithmTypeName + : STRING_ | buildInShardingAlgorithmType | buildInKeyGenerateAlgorithmType | buildInShardingAuditAlgorithmType + ; + +buildInShardingAlgorithmType + : MOD + | HASH_MOD + | VOLUME_RANGE + | BOUNDARY_RANGE + | AUTO_INTERVAL + | INLINE + | INTERVAL + | COSID_MOD + | COSID_INTERVAL + | COSID_INTERVAL_SNOWFLAKE + | COMPLEX_INLINE + | HINT_INLINE + | CLASS_BASED + ; + +buildInKeyGenerateAlgorithmType + : SNOWFLAKE + | NANOID + | UUID + | COSID + | COSID_SNOWFLAKE + ; + +buildInShardingAuditAlgorithmType + : DML_SHARDING_CONDITIONS + ; + +propertiesDefinition + : PROPERTIES LP_ properties? RP_ + ; + +properties + : property (COMMA_ property)* + ; + +property + : key=STRING_ EQ_ value=literal + ; + +tableName + : IDENTIFIER_ + ; + +shardingAlgorithmName + : IDENTIFIER_ + ; + +keyGeneratorName + : IDENTIFIER_ + ; + +auditorName + : IDENTIFIER_ + ; + +ruleName + : IDENTIFIER_ + ; diff --git a/shardingsphere-operator/pkg/distsql/antlr4/sharding/Keyword.g4 b/shardingsphere-operator/pkg/distsql/antlr4/sharding/Keyword.g4 new file mode 100644 index 00000000..b92d9648 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/sharding/Keyword.g4 @@ -0,0 +1,308 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +lexer grammar Keyword; + +import Alphabet; + +WS + : [ \t\r\n] + ->skip + ; + +CREATE + : C R E A T E + ; + +ALTER + : A L T E R + ; + +DROP + : D R O P + ; + +SHOW + : S H O W + ; + +SHARDING + : S H A R D I N G + ; + +RULE + : R U L E + ; + +FROM + : F R O M + ; + +STORAGE_UNITS + : S T O R A G E UL_ U N I T S + ; + +KEY_GENERATE_STRATEGY + : K E Y UL_ G E N E R A T E UL_ S T R A T E G Y + ; + +DEFAULT_TABLE_STRATEGY + : D E F A U L T UL_ T A B L E UL_ S T R A T E G Y + ; + +TABLE + : T A B L E + ; + +SHARDING_COLUMN + : S H A R D I N G UL_ C O L U M N + ; + +SHARDING_COLUMNS + : S H A R D I N G UL_ C O L U M N S + ; + +TYPE + : T Y P E + ; + +NAME + : N A M E + ; + +PROPERTIES + : P R O P E R T I E S + ; + +COLUMN + : C O L U M N + ; + +REFERENCE + : R E F E R E N C E + ; + +BROADCAST + : B R O A D C A S T + ; + +RULES + : R U L E S + ; + +COLUMNS + : C O L U M N S + ; + +ALGORITHM + : A L G O R I T H M + ; + +ALGORITHMS + : A L G O R I T H M S + ; + +HINT + : H I N T + ; + +DEFAULT + : D E F A U L T + ; + +DATABASE + : D A T A B A S E + ; + +SHARDING_ALGORITHM + : S H A R D I N G UL_ A L G O R I T H M + ; + +STRATEGY + : S T R A T E G Y + ; + +DATANODES + : D A T A N O D E S + ; + +DATABASE_STRATEGY + : D A T A B A S E UL_ S T R A T E G Y + ; + +TABLE_STRATEGY + : T A B L E UL_ S T R A T E G Y + ; + +NODES + : N O D E S + ; + +KEY + : K E Y + ; + +GENERATOR + : G E N E R A T O R + ; + +GENERATORS + : G E N E R A T O R S + ; + +KEY_GENERATOR + : K E Y UL_ G E N E R A T O R + ; + +UNUSED + : U N U S E D + ; + +USED + : U S E D + ; + +IF + : I F + ; + +EXISTS + : E X I S T S + ; + +WITH + : W I T H + ; + +COUNT + : C O U N T + ; + +AUDITOR + : A U D I T O R + ; + +AUDITORS + : A U D I T O R S + ; + +AUDIT_STRATEGY + : A U D I T UL_ S T R A T E G Y + ; + +ALLOW_HINT_DISABLE + : A L L O W UL_ H I N T UL_ D I S A B L E + ; + +TRUE + : T R U E + ; + +FALSE + : F A L S E + ; + +MOD + : M O D + ; + +COSID_MOD + : C O S I D UL_ M O D + ; + +HASH_MOD + : H A S H UL_ M O D + ; + +VOLUME_RANGE + : V O L U M E UL_ R A N G E + ; + +BOUNDARY_RANGE + : B O U N D A R Y UL_ R A N G E + ; + +AUTO_INTERVAL + : A U T O UL_ I N T E R V A L + ; + +INLINE + : I N L I N E + ; + +INTERVAL + : I N T E R V A L + ; + +COSID_INTERVAL + : C O S I D UL_ I N T E R V A L + ; + +COSID_INTERVAL_SNOWFLAKE + : C O S I D UL_ I N T E R V A L UL_ S N O W F L A K E + ; + +COMPLEX_INLINE + : C O M P L E X UL_ I N L I N E + ; + +HINT_INLINE + : H I N T UL_ I N L I N E + ; + +CLASS_BASED + : C L A S S UL_ B A S E D + ; + +SNOWFLAKE + : S N O W F L A K E + ; + +NANOID + : N A N O I D + ; + +UUID + : U U I D + ; + +COSID + : C O S I D + ; + +COSID_SNOWFLAKE + : C O S I D UL_ S N O W F L A K E + ; + +STANDARD + : S T A N D A R D + ; + +COMPLEX + : C O M P L E X + ; + +DML_SHARDING_CONDITIONS + : D M L UL_ S H A R D I N G UL_ C O N D I T I O N S + ; + +NOT + : N O T + ; + +NONE + : N O N E + ; diff --git a/shardingsphere-operator/pkg/distsql/antlr4/sharding/Literals.g4 b/shardingsphere-operator/pkg/distsql/antlr4/sharding/Literals.g4 new file mode 100644 index 00000000..68f6a1b0 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/sharding/Literals.g4 @@ -0,0 +1,34 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +lexer grammar Literals; + +import Alphabet, Symbol; + +IDENTIFIER_ + : [A-Za-z_$0-9]*?[A-Za-z_$]+?[A-Za-z_$0-9]* + | BQ_ ~'`'+ BQ_ + ; + +STRING_ + : (DQ_ ('\\'. | '""' | ~('"' | '\\'))* DQ_) + | (SQ_ ('\\'. | '\'\'' | ~('\'' | '\\'))* SQ_) + ; + +INT_ + : [0-9]+ + ; diff --git a/shardingsphere-operator/pkg/distsql/antlr4/sharding/RDLStatement.g4 b/shardingsphere-operator/pkg/distsql/antlr4/sharding/RDLStatement.g4 new file mode 100644 index 00000000..cd7bc8c2 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/sharding/RDLStatement.g4 @@ -0,0 +1,195 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +grammar RDLStatement; + +import BaseRule; + +createShardingTableRule + : CREATE SHARDING TABLE RULE ifNotExists? shardingTableRuleDefinition (COMMA_ shardingTableRuleDefinition)* + ; + +alterShardingTableRule + : ALTER SHARDING TABLE RULE shardingTableRuleDefinition (COMMA_ shardingTableRuleDefinition)* + ; + +dropShardingTableRule + : DROP SHARDING TABLE RULE ifExists? tableName (COMMA_ tableName)* + ; + +createShardingTableReferenceRule + : CREATE SHARDING TABLE REFERENCE RULE ifNotExists? tableReferenceRuleDefinition (COMMA_ tableReferenceRuleDefinition)* + ; + +alterShardingTableReferenceRule + : ALTER SHARDING TABLE REFERENCE RULE tableReferenceRuleDefinition (COMMA_ tableReferenceRuleDefinition)* + ; + +dropShardingTableReferenceRule + : DROP SHARDING TABLE REFERENCE RULE ifExists? ruleName (COMMA_ ruleName)* + ; + +createBroadcastTableRule + : CREATE BROADCAST TABLE RULE ifNotExists? tableName (COMMA_ tableName)* + ; + +dropBroadcastTableRule + : DROP BROADCAST TABLE RULE ifExists? tableName (COMMA_ tableName)* + ; + +dropShardingAlgorithm + : DROP SHARDING ALGORITHM ifExists? shardingAlgorithmName (COMMA_ shardingAlgorithmName)* + ; + +createDefaultShardingStrategy + : CREATE DEFAULT SHARDING type=(DATABASE | TABLE) STRATEGY ifNotExists? LP_ shardingStrategy RP_ + ; + +alterDefaultShardingStrategy + : ALTER DEFAULT SHARDING type=(DATABASE | TABLE) STRATEGY LP_ shardingStrategy RP_ + ; + +dropDefaultShardingStrategy + : DROP DEFAULT SHARDING type=(DATABASE | TABLE) STRATEGY ifExists? + ; + +dropShardingKeyGenerator + : DROP SHARDING KEY GENERATOR ifExists? keyGeneratorName (COMMA_ keyGeneratorName)* + ; + +dropShardingAuditor + : DROP SHARDING AUDITOR ifExists? auditorName (COMMA_ auditorName)* + ; + +shardingTableRuleDefinition + : (shardingAutoTableRule | shardingTableRule) + ; + +shardingAutoTableRule + : tableName LP_ storageUnits COMMA_ autoShardingColumnDefinition COMMA_ algorithmDefinition (COMMA_ keyGenerateDefinition)? (COMMA_ auditDefinition)? RP_ + ; + +shardingTableRule + : tableName LP_ dataNodes (COMMA_ databaseStrategy)? (COMMA_ tableStrategy)? (COMMA_ keyGenerateDefinition)? (COMMA_ auditDefinition)? RP_ + ; + +keyGeneratorName + : IDENTIFIER_ + ; + +auditorDefinition + : auditorName LP_ algorithmDefinition RP_ + ; + +auditorName + : IDENTIFIER_ + ; + +storageUnits + : STORAGE_UNITS LP_ storageUnit (COMMA_ storageUnit)* RP_ + ; + +storageUnit + : IDENTIFIER_ | STRING_ + ; + +dataNodes + : DATANODES LP_ dataNode (COMMA_ dataNode)* RP_ + ; + +dataNode + : STRING_ + ; + +autoShardingColumnDefinition + : shardingColumn + ; + +shardingColumnDefinition + : shardingColumn | shardingColumns + ; + +shardingColumn + : SHARDING_COLUMN EQ_ columnName + ; + +shardingColumns + : SHARDING_COLUMNS EQ_ columnName COMMA_ columnName (COMMA_ columnName)* + ; + +shardingAlgorithm + : SHARDING_ALGORITHM LP_ algorithmDefinition RP_ + ; + +shardingStrategy + : TYPE EQ_ strategyType ((COMMA_ shardingColumnDefinition)? COMMA_ shardingAlgorithm)? + ; + +databaseStrategy + : DATABASE_STRATEGY LP_ shardingStrategy RP_ + ; + +tableStrategy + : TABLE_STRATEGY LP_ shardingStrategy RP_ + ; + +keyGenerateDefinition + : KEY_GENERATE_STRATEGY LP_ COLUMN EQ_ columnName COMMA_ algorithmDefinition RP_ + ; + +auditDefinition + : AUDIT_STRATEGY LP_ multiAuditDefinition COMMA_ ALLOW_HINT_DISABLE EQ_ auditAllowHintDisable RP_ + ; + +multiAuditDefinition + : singleAuditDefinition (COMMA_ singleAuditDefinition)* + ; + +singleAuditDefinition + : algorithmDefinition + ; + +auditAllowHintDisable + : TRUE | FALSE + ; + +columnName + : IDENTIFIER_ + ; + +tableReferenceRuleDefinition + : ruleName LP_ tableName (COMMA_ tableName)* RP_ + ; + +strategyType + : STRING_ | buildInStrategyType + ; + +buildInStrategyType + : STANDARD + | COMPLEX + | HINT + | NONE + ; + +ifExists + : IF EXISTS + ; + +ifNotExists + : IF NOT EXISTS + ; diff --git a/shardingsphere-operator/pkg/distsql/antlr4/sharding/RQLStatement.g4 b/shardingsphere-operator/pkg/distsql/antlr4/sharding/RQLStatement.g4 new file mode 100644 index 00000000..cc021eb5 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/sharding/RQLStatement.g4 @@ -0,0 +1,88 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +grammar RQLStatement; + +import BaseRule; + +showShardingTableRules + : SHOW SHARDING TABLE (tableRule | RULES) (FROM databaseName)? + ; + +showShardingTableReferenceRules + : SHOW SHARDING TABLE REFERENCE (RULE ruleName | RULES) (FROM databaseName)? + ; + +showBroadcastTableRules + : SHOW BROADCAST TABLE RULES (FROM databaseName)? + ; + +showShardingAlgorithms + : SHOW SHARDING ALGORITHMS (FROM databaseName)? + ; + +showShardingAuditors + : SHOW SHARDING AUDITORS (FROM databaseName)? + ; + +showShardingTableNodes + : SHOW SHARDING TABLE NODES tableName? (FROM databaseName)? + ; + +showShardingKeyGenerators + : SHOW SHARDING KEY GENERATORS (FROM databaseName)? + ; + +showDefaultShardingStrategy + : SHOW DEFAULT SHARDING STRATEGY (FROM databaseName)? + ; + +showUnusedShardingAlgorithms + : SHOW UNUSED SHARDING ALGORITHMS (FROM databaseName)? + ; + +showUnusedShardingKeyGenerators + : SHOW UNUSED SHARDING KEY GENERATORS (FROM databaseName)? + ; + +showUnusedShardingAuditors + : SHOW UNUSED SHARDING AUDITORS (FROM databaseName)? + ; + +showShardingTableRulesUsedAlgorithm + : SHOW SHARDING TABLE RULES USED ALGORITHM shardingAlgorithmName (FROM databaseName)? + ; + +showShardingTableRulesUsedKeyGenerator + : SHOW SHARDING TABLE RULES USED KEY GENERATOR keyGeneratorName (FROM databaseName)? + ; + +showShardingTableRulesUsedAuditor + : SHOW SHARDING TABLE RULES USED AUDITOR auditorName (FROM databaseName)? + ; + +countShardingRule + : COUNT SHARDING RULE (FROM databaseName)? + ; + +tableRule + : RULE tableName + ; + +databaseName + : IDENTIFIER_ + ; diff --git a/shardingsphere-operator/pkg/distsql/antlr4/sharding/Symbol.g4 b/shardingsphere-operator/pkg/distsql/antlr4/sharding/Symbol.g4 new file mode 100644 index 00000000..90dba68c --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/antlr4/sharding/Symbol.g4 @@ -0,0 +1,61 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +lexer grammar Symbol; + +AND_: '&&'; +OR_: '||'; +NOT_: '!'; +TILDE_: '~'; +VERTICALBAR_: '|'; +AMPERSAND_: '&'; +SIGNEDLEFTSHIFT_: '<<'; +SIGNEDRIGHTSHIFT_: '>>'; +CARET_: '^'; +MOD_: '%'; +COLON_: ':'; +PLUS_: '+'; +MINUS_: '-'; +ASTERISK_: '*'; +SLASH_: '/'; +BACKSLASH_: '\\'; +DOT_: '.'; +DOTASTERISK_: '.*'; +SAFEEQ_: '<=>'; +DEQ_: '=='; +EQ_: '='; +NEQ_: '<>' | '!='; +GT_: '>'; +GTE_: '>='; +LT_: '<'; +LTE_: '<='; +POUND_: '#'; +LP_: '('; +RP_: ')'; +LBE_: '{'; +RBE_: '}'; +LBT_: '['; +RBT_: ']'; +COMMA_: ','; +DQ_: '"'; +SQ_: '\''; +BQ_: '`'; +QUESTION_: '?'; +AT_: '@'; +SEMI_: ';'; +JSONSEPARATOR_: '->>'; +UL_: '_'; diff --git a/shardingsphere-operator/pkg/distsql/ast/rdl_ast.go b/shardingsphere-operator/pkg/distsql/ast/encrypt_rdl_ast.go similarity index 100% rename from shardingsphere-operator/pkg/distsql/ast/rdl_ast.go rename to shardingsphere-operator/pkg/distsql/ast/encrypt_rdl_ast.go diff --git a/shardingsphere-operator/pkg/distsql/ast/mask_rdl_ast.go b/shardingsphere-operator/pkg/distsql/ast/mask_rdl_ast.go new file mode 100644 index 00000000..6ac0c57f --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/ast/mask_rdl_ast.go @@ -0,0 +1,113 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package ast + +import ( + "fmt" + "strings" +) + +type CreateMaskRule struct { + AllMaskRuleDefinition []*MaskRuleDefinition + Table string + IfNotExists *IfNotExists +} + +func (createMaskRule *CreateMaskRule) ToString() string { + var ( + distSQL = "CREATE MASK" + maskRuleDefinition = []string{} + ) + + if createMaskRule.Table != "" { + distSQL = fmt.Sprintf("%s %s", distSQL, createMaskRule.Table) + } + + if createMaskRule.IfNotExists != nil { + distSQL = fmt.Sprintf("%s %s", distSQL, createMaskRule.IfNotExists.ToString()) + } + + if createMaskRule.AllMaskRuleDefinition != nil { + for _, mr := range createMaskRule.AllMaskRuleDefinition { + maskRuleDefinition = append(maskRuleDefinition, mr.ToString()) + } + } + return fmt.Sprintf("%s %s", distSQL, strings.Join(maskRuleDefinition, ",")) +} + +type MaskRuleDefinition struct { + RuleName *CommonIdentifier + ColumnDefinition []*ColumnDefinition +} + +func (maskRuleDefinition *MaskRuleDefinition) ToString() string { + var ( + columnDefinition []string + ) + + if maskRuleDefinition.ColumnDefinition != nil { + for _, cd := range maskRuleDefinition.ColumnDefinition { + columnDefinition = append(columnDefinition, cd.ToString()) + } + } + + return fmt.Sprintf("%s (( %s ))", maskRuleDefinition.RuleName.ToString(), strings.Join(columnDefinition, ",")) +} + +type AlterMaskRule struct { + Table string + AllMaskRuleDefinition []*MaskRuleDefinition +} + +func (alterMaskRule *AlterMaskRule) ToString() string { + var ( + distSQL = fmt.Sprintf("ALTER MASK %s RULE", alterMaskRule.Table) + ruleDefinitions []string + ) + if alterMaskRule.AllMaskRuleDefinition != nil { + for _, rule := range alterMaskRule.AllMaskRuleDefinition { + ruleDefinitions = append(ruleDefinitions, rule.ToString()) + } + } + return fmt.Sprintf("%s %s", distSQL, strings.Join(ruleDefinitions, ",")) +} + +type DropMaskRule struct { + IfExists *IfExists + Table string + AllRuleName []*CommonIdentifier +} + +func (dropMaskRule *DropMaskRule) ToString() string { + var ( + distSQL = "DROP MASK" + ruleNames []string + ) + if dropMaskRule.Table != "" { + distSQL = fmt.Sprintf("%s %s", distSQL, dropMaskRule.Table) + } + if dropMaskRule.IfExists != nil { + distSQL = fmt.Sprintf("%s %s", distSQL, dropMaskRule.IfExists.ToString()) + } + if dropMaskRule.AllRuleName != nil { + for _, ruleName := range dropMaskRule.AllRuleName { + ruleNames = append(ruleNames, ruleName.ToString()) + } + } + return fmt.Sprintf("%s %s", distSQL, strings.Join(ruleNames, ",")) +} diff --git a/shardingsphere-operator/pkg/distsql/visitor/distsql_test.go b/shardingsphere-operator/pkg/distsql/visitor/distsql_test.go index 0f5d683f..ebe23cfb 100644 --- a/shardingsphere-operator/pkg/distsql/visitor/distsql_test.go +++ b/shardingsphere-operator/pkg/distsql/visitor/distsql_test.go @@ -28,7 +28,7 @@ import ( var _ = Describe("Distsql", func() { var ( encryptDistSQL = "CREATE ENCRYPT RULE t_encrypt (COLUMNS((NAME=user_id,PLAIN=user_plain,CIPHER=user_cipher,ENCRYPT_ALGORITHM(TYPE(NAME='AES',PROPERTIES('aes-key-value'='123456abc')))),(NAME=order_id,CIPHER=order_cipher,ENCRYPT_ALGORITHM(TYPE(NAME='MD5')))),QUERY_WITH_CIPHER_COLUMN=true);" - visitor = Visitor{} + visitor = EncryptVisitor{} ast = &ast.CreateEncryptRule{} ) diff --git a/shardingsphere-operator/pkg/distsql/visitor/rdl_visitor.go b/shardingsphere-operator/pkg/distsql/visitor/encrypt_rdl_visitor.go similarity index 75% rename from shardingsphere-operator/pkg/distsql/visitor/rdl_visitor.go rename to shardingsphere-operator/pkg/distsql/visitor/encrypt_rdl_visitor.go index e6e65138..edf573f1 100644 --- a/shardingsphere-operator/pkg/distsql/visitor/rdl_visitor.go +++ b/shardingsphere-operator/pkg/distsql/visitor/encrypt_rdl_visitor.go @@ -24,11 +24,11 @@ import ( parser "github.com/apache/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/visitor_parser/encrypt" ) -type Visitor struct { +type EncryptVisitor struct { parser.BaseRDLStatementVisitor } -func (v *Visitor) VisitCreateEncryptRule(ctx *parser.CreateEncryptRuleContext) *ast.CreateEncryptRule { +func (v *EncryptVisitor) VisitCreateEncryptRule(ctx *parser.CreateEncryptRuleContext) *ast.CreateEncryptRule { stmt := &ast.CreateEncryptRule{} if ctx.IfNotExists() != nil { @@ -50,19 +50,19 @@ func (v *Visitor) VisitCreateEncryptRule(ctx *parser.CreateEncryptRuleContext) * return stmt } -func (v *Visitor) VisitIfNotExists(ctx *parser.IfNotExistsContext) *ast.IfNotExists { +func (v *EncryptVisitor) VisitIfNotExists(ctx *parser.IfNotExistsContext) *ast.IfNotExists { return &ast.IfNotExists{ IfNotExists: fmt.Sprintf("%s %s %s", ctx.IF().GetText(), ctx.NOT().GetText(), ctx.EXISTS().GetText()), } } -func (v *Visitor) VisitIfExists(ctx *parser.IfExistsContext) *ast.IfExists { +func (v *EncryptVisitor) VisitIfExists(ctx *parser.IfExistsContext) *ast.IfExists { return &ast.IfExists{ IfExists: fmt.Sprintf("%s %s", ctx.IF().GetText(), ctx.EXISTS().GetText()), } } -func (v *Visitor) VisitAlterEncryptRule(ctx *parser.AlterEncryptRuleContext) *ast.AlterEncryptRule { +func (v *EncryptVisitor) VisitAlterEncryptRule(ctx *parser.AlterEncryptRuleContext) *ast.AlterEncryptRule { stmt := &ast.AlterEncryptRule{} if ctx.AllEncryptRuleDefinition() != nil { @@ -73,7 +73,7 @@ func (v *Visitor) VisitAlterEncryptRule(ctx *parser.AlterEncryptRuleContext) *as return stmt } -func (v *Visitor) VisitDropEncryptRule(ctx *parser.DropEncryptRuleContext) *ast.DropEncryptRule { +func (v *EncryptVisitor) VisitDropEncryptRule(ctx *parser.DropEncryptRuleContext) *ast.DropEncryptRule { stmt := &ast.DropEncryptRule{} if ctx.IfExists() != nil { @@ -88,7 +88,7 @@ func (v *Visitor) VisitDropEncryptRule(ctx *parser.DropEncryptRuleContext) *ast. return stmt } -func (v *Visitor) VisitEncryptRuleDefinition(ctx *parser.EncryptRuleDefinitionContext) *ast.EncryptRuleDefinition { +func (v *EncryptVisitor) VisitEncryptRuleDefinition(ctx *parser.EncryptRuleDefinitionContext) *ast.EncryptRuleDefinition { stmt := &ast.EncryptRuleDefinition{} if ctx.TableName() != nil { @@ -116,7 +116,7 @@ func (v *Visitor) VisitEncryptRuleDefinition(ctx *parser.EncryptRuleDefinitionCo return stmt } -func (v *Visitor) VisitQueryWithCipherColumn(ctx *parser.QueryWithCipherColumnContext) *ast.QueryWithCipherColumn { +func (v *EncryptVisitor) VisitQueryWithCipherColumn(ctx *parser.QueryWithCipherColumnContext) *ast.QueryWithCipherColumn { stmt := &ast.QueryWithCipherColumn{} switch { case ctx.TRUE() != nil: @@ -127,7 +127,7 @@ func (v *Visitor) VisitQueryWithCipherColumn(ctx *parser.QueryWithCipherColumnCo return stmt } -func (v *Visitor) VisitEncryptColumnDefinition(ctx *parser.EncryptColumnDefinitionContext) *ast.EncryptColumnDefinition { +func (v *EncryptVisitor) VisitEncryptColumnDefinition(ctx *parser.EncryptColumnDefinitionContext) *ast.EncryptColumnDefinition { stmt := &ast.EncryptColumnDefinition{} if ctx.ColumnDefinition() != nil { @@ -169,7 +169,7 @@ func (v *Visitor) VisitEncryptColumnDefinition(ctx *parser.EncryptColumnDefiniti return stmt } -func (v *Visitor) VisitPlainColumnDefinition(ctx *parser.PlainColumnDefinitionContext) *ast.PlainColumnDefinition { +func (v *EncryptVisitor) VisitPlainColumnDefinition(ctx *parser.PlainColumnDefinitionContext) *ast.PlainColumnDefinition { stmt := &ast.PlainColumnDefinition{} if ctx.PlainColumnName() != nil { stmt.PlainColumnName = v.VisitPlainColumnName(ctx.PlainColumnName().(*parser.PlainColumnNameContext)) @@ -181,7 +181,7 @@ func (v *Visitor) VisitPlainColumnDefinition(ctx *parser.PlainColumnDefinitionCo return stmt } -func (v *Visitor) VisitPlainColumnName(ctx *parser.PlainColumnNameContext) *ast.CommonIdentifier { +func (v *EncryptVisitor) VisitPlainColumnName(ctx *parser.PlainColumnNameContext) *ast.CommonIdentifier { stmt := &ast.CommonIdentifier{} if ctx.IDENTIFIER_() != nil { stmt.Identifier = ctx.IDENTIFIER_().GetText() @@ -189,7 +189,7 @@ func (v *Visitor) VisitPlainColumnName(ctx *parser.PlainColumnNameContext) *ast. return stmt } -func (v *Visitor) VisitCipherColumnDefinition(ctx *parser.CipherColumnDefinitionContext) *ast.CipherColumnDefinition { +func (v *EncryptVisitor) VisitCipherColumnDefinition(ctx *parser.CipherColumnDefinitionContext) *ast.CipherColumnDefinition { stmt := &ast.CipherColumnDefinition{} if ctx.CipherColumnName() != nil { stmt.CipherColumnName = v.VisitCipherColumnName(ctx.CipherColumnName().(*parser.CipherColumnNameContext)) @@ -202,7 +202,7 @@ func (v *Visitor) VisitCipherColumnDefinition(ctx *parser.CipherColumnDefinition return stmt } -func (v *Visitor) VisitCipherColumnName(ctx *parser.CipherColumnNameContext) *ast.CommonIdentifier { +func (v *EncryptVisitor) VisitCipherColumnName(ctx *parser.CipherColumnNameContext) *ast.CommonIdentifier { stmt := &ast.CommonIdentifier{} if ctx.IDENTIFIER_() != nil { stmt.Identifier = ctx.IDENTIFIER_().GetText() @@ -210,7 +210,7 @@ func (v *Visitor) VisitCipherColumnName(ctx *parser.CipherColumnNameContext) *as return stmt } -func (v *Visitor) VisitAssistedQueryColumnDefinition(ctx *parser.AssistedQueryColumnDefinitionContext) *ast.AssistedQueryColumnDefinition { +func (v *EncryptVisitor) VisitAssistedQueryColumnDefinition(ctx *parser.AssistedQueryColumnDefinitionContext) *ast.AssistedQueryColumnDefinition { stmt := &ast.AssistedQueryColumnDefinition{} if ctx.AssistedQueryColumnName() != nil { stmt.AssistedQueryColumnName = v.VisitAssistedQueryColumnName(ctx.AssistedQueryColumnName().(*parser.AssistedQueryColumnNameContext)) @@ -223,7 +223,7 @@ func (v *Visitor) VisitAssistedQueryColumnDefinition(ctx *parser.AssistedQueryCo return stmt } -func (v *Visitor) VisitAssistedQueryColumnName(ctx *parser.AssistedQueryColumnNameContext) *ast.CommonIdentifier { +func (v *EncryptVisitor) VisitAssistedQueryColumnName(ctx *parser.AssistedQueryColumnNameContext) *ast.CommonIdentifier { stmt := &ast.CommonIdentifier{} if ctx.IDENTIFIER_() != nil { stmt.Identifier = ctx.IDENTIFIER_().GetText() @@ -231,7 +231,7 @@ func (v *Visitor) VisitAssistedQueryColumnName(ctx *parser.AssistedQueryColumnNa return stmt } -func (v *Visitor) VisitLikeQueryColumnDefinition(ctx *parser.LikeQueryColumnDefinitionContext) *ast.LikeQueryColumnDefinition { +func (v *EncryptVisitor) VisitLikeQueryColumnDefinition(ctx *parser.LikeQueryColumnDefinitionContext) *ast.LikeQueryColumnDefinition { stmt := &ast.LikeQueryColumnDefinition{} if ctx.LikeQueryColumnName() != nil { stmt.LikeQueryColumnName = v.VisitLikeQueryColumnName(ctx.LikeQueryColumnName().(*parser.LikeQueryColumnNameContext)) @@ -243,7 +243,7 @@ func (v *Visitor) VisitLikeQueryColumnDefinition(ctx *parser.LikeQueryColumnDefi return stmt } -func (v *Visitor) VisitLikeQueryColumnName(ctx *parser.LikeQueryColumnNameContext) *ast.CommonIdentifier { +func (v *EncryptVisitor) VisitLikeQueryColumnName(ctx *parser.LikeQueryColumnNameContext) *ast.CommonIdentifier { stmt := &ast.CommonIdentifier{} if ctx.IDENTIFIER_() != nil { stmt.Identifier = ctx.IDENTIFIER_().GetText() @@ -251,7 +251,7 @@ func (v *Visitor) VisitLikeQueryColumnName(ctx *parser.LikeQueryColumnNameContex return stmt } -func (v *Visitor) VisitAssistedQueryAlgorithm(ctx *parser.AssistedQueryAlgorithmContext) *ast.AssistedQueryAlgorithm { +func (v *EncryptVisitor) VisitAssistedQueryAlgorithm(ctx *parser.AssistedQueryAlgorithmContext) *ast.AssistedQueryAlgorithm { stmt := &ast.AssistedQueryAlgorithm{} if ctx.AlgorithmDefinition() != nil { stmt.AlgorithmDefinition = v.VisitAlgorithmDefinition(ctx.AlgorithmDefinition().(*parser.AlgorithmDefinitionContext)) @@ -259,7 +259,7 @@ func (v *Visitor) VisitAssistedQueryAlgorithm(ctx *parser.AssistedQueryAlgorithm return stmt } -func (v *Visitor) VisitLikeQueryAlgorithm(ctx *parser.LikeQueryAlgorithmContext) *ast.LikeQueryAlgorithm { +func (v *EncryptVisitor) VisitLikeQueryAlgorithm(ctx *parser.LikeQueryAlgorithmContext) *ast.LikeQueryAlgorithm { stmt := &ast.LikeQueryAlgorithm{} if ctx.AlgorithmDefinition() != nil { stmt.AlgorithmDefinition = v.VisitAlgorithmDefinition(ctx.AlgorithmDefinition().(*parser.AlgorithmDefinitionContext)) @@ -267,7 +267,7 @@ func (v *Visitor) VisitLikeQueryAlgorithm(ctx *parser.LikeQueryAlgorithmContext) return stmt } -func (v *Visitor) VisitEncryptAlgorithm(ctx *parser.EncryptAlgorithmContext) *ast.EncryptAlgorithm { +func (v *EncryptVisitor) VisitEncryptAlgorithm(ctx *parser.EncryptAlgorithmContext) *ast.EncryptAlgorithm { stmt := &ast.EncryptAlgorithm{} if ctx.AlgorithmDefinition() != nil { stmt.AlgorithmDefinition = v.VisitAlgorithmDefinition(ctx.AlgorithmDefinition().(*parser.AlgorithmDefinitionContext)) @@ -275,7 +275,7 @@ func (v *Visitor) VisitEncryptAlgorithm(ctx *parser.EncryptAlgorithmContext) *as return stmt } -func (v *Visitor) VisitColumnDefinition(ctx *parser.ColumnDefinitionContext) *ast.ColumnDefinition { +func (v *EncryptVisitor) VisitColumnDefinition(ctx *parser.ColumnDefinitionContext) *ast.ColumnDefinition { stmt := &ast.ColumnDefinition{} if ctx.ColumnName() != nil { stmt.ColumnName = v.VisitColumnName(ctx.ColumnName().(*parser.ColumnNameContext)) @@ -287,7 +287,7 @@ func (v *Visitor) VisitColumnDefinition(ctx *parser.ColumnDefinitionContext) *as return stmt } -func (v *Visitor) VisitColumnName(ctx *parser.ColumnNameContext) *ast.CommonIdentifier { +func (v *EncryptVisitor) VisitColumnName(ctx *parser.ColumnNameContext) *ast.CommonIdentifier { stmt := &ast.CommonIdentifier{} if ctx.IDENTIFIER_() != nil { stmt.Identifier = ctx.IDENTIFIER_().GetText() @@ -295,7 +295,7 @@ func (v *Visitor) VisitColumnName(ctx *parser.ColumnNameContext) *ast.CommonIden return stmt } -func (v *Visitor) VisitDataType(ctx *parser.DataTypeContext) *ast.DataType { +func (v *EncryptVisitor) VisitDataType(ctx *parser.DataTypeContext) *ast.DataType { stmt := &ast.DataType{} if ctx.STRING_() != nil { stmt.String = ctx.STRING_().GetText() @@ -303,7 +303,7 @@ func (v *Visitor) VisitDataType(ctx *parser.DataTypeContext) *ast.DataType { return stmt } -func (v *Visitor) VisitResourceDefinition(ctx *parser.ResourceDefinitionContext) *ast.ResourceDefinition { +func (v *EncryptVisitor) VisitResourceDefinition(ctx *parser.ResourceDefinitionContext) *ast.ResourceDefinition { stmt := &ast.ResourceDefinition{} if ctx.ResourceName() != nil { stmt.ResourceName = v.VisitResourceName(ctx.ResourceName().(*parser.ResourceNameContext)) @@ -311,7 +311,7 @@ func (v *Visitor) VisitResourceDefinition(ctx *parser.ResourceDefinitionContext) return stmt } -func (v *Visitor) VisitResourceName(ctx *parser.ResourceNameContext) *ast.CommonIdentifier { +func (v *EncryptVisitor) VisitResourceName(ctx *parser.ResourceNameContext) *ast.CommonIdentifier { stmt := &ast.CommonIdentifier{} if ctx.IDENTIFIER_() != nil { stmt.Identifier = ctx.IDENTIFIER_().GetText() @@ -319,7 +319,7 @@ func (v *Visitor) VisitResourceName(ctx *parser.ResourceNameContext) *ast.Common return stmt } -func (v *Visitor) VisitLiteral(ctx *parser.LiteralContext) *ast.Literal { +func (v *EncryptVisitor) VisitLiteral(ctx *parser.LiteralContext) *ast.Literal { stmt := &ast.Literal{} switch { case ctx.STRING_() != nil: @@ -336,7 +336,7 @@ func (v *Visitor) VisitLiteral(ctx *parser.LiteralContext) *ast.Literal { return stmt } -func (v *Visitor) VisitAlgorithmDefinition(ctx *parser.AlgorithmDefinitionContext) *ast.AlgorithmDefinition { +func (v *EncryptVisitor) VisitAlgorithmDefinition(ctx *parser.AlgorithmDefinitionContext) *ast.AlgorithmDefinition { stmt := &ast.AlgorithmDefinition{} if ctx.AlgorithmTypeName() != nil { stmt.AlgorithmTypeName = v.VisitAlgorithmTypeName(ctx.AlgorithmTypeName().(*parser.AlgorithmTypeNameContext)) @@ -348,7 +348,7 @@ func (v *Visitor) VisitAlgorithmDefinition(ctx *parser.AlgorithmDefinitionContex return stmt } -func (v *Visitor) VisitAlgorithmTypeName(ctx *parser.AlgorithmTypeNameContext) *ast.AlgorithmTypeName { +func (v *EncryptVisitor) VisitAlgorithmTypeName(ctx *parser.AlgorithmTypeNameContext) *ast.AlgorithmTypeName { stmt := &ast.AlgorithmTypeName{} switch { case ctx.STRING_() != nil: @@ -359,7 +359,7 @@ func (v *Visitor) VisitAlgorithmTypeName(ctx *parser.AlgorithmTypeNameContext) * return stmt } -func (v *Visitor) VisitBuildinAlgorithmTypeName(ctx *parser.BuildinAlgorithmTypeNameContext) *ast.BuildinAlgorithmTypeName { +func (v *EncryptVisitor) VisitBuildinAlgorithmTypeName(ctx *parser.BuildinAlgorithmTypeNameContext) *ast.BuildinAlgorithmTypeName { stmt := &ast.BuildinAlgorithmTypeName{} switch { case ctx.MD5() != nil: @@ -378,7 +378,7 @@ func (v *Visitor) VisitBuildinAlgorithmTypeName(ctx *parser.BuildinAlgorithmType return stmt } -func (v *Visitor) VisitPropertiesDefinition(ctx *parser.PropertiesDefinitionContext) *ast.PropertiesDefinition { +func (v *EncryptVisitor) VisitPropertiesDefinition(ctx *parser.PropertiesDefinitionContext) *ast.PropertiesDefinition { stmt := &ast.PropertiesDefinition{} if ctx.Properties() != nil { stmt.Properties = v.VisitProperties(ctx.Properties().(*parser.PropertiesContext)) @@ -386,7 +386,7 @@ func (v *Visitor) VisitPropertiesDefinition(ctx *parser.PropertiesDefinitionCont return stmt } -func (v *Visitor) VisitProperties(ctx *parser.PropertiesContext) *ast.Properties { +func (v *EncryptVisitor) VisitProperties(ctx *parser.PropertiesContext) *ast.Properties { stmt := &ast.Properties{} for _, p := range ctx.AllProperty() { stmt.Properties = append(stmt.Properties, v.VisitProperty(p.(*parser.PropertyContext))) @@ -394,7 +394,7 @@ func (v *Visitor) VisitProperties(ctx *parser.PropertiesContext) *ast.Properties return stmt } -func (v *Visitor) VisitProperty(ctx *parser.PropertyContext) *ast.Property { +func (v *EncryptVisitor) VisitProperty(ctx *parser.PropertyContext) *ast.Property { stmt := &ast.Property{} if ctx.STRING_() != nil { stmt.Key = ctx.STRING_().GetText() @@ -405,7 +405,7 @@ func (v *Visitor) VisitProperty(ctx *parser.PropertyContext) *ast.Property { return stmt } -func (v *Visitor) VisitTableName(ctx *parser.TableNameContext) *ast.CommonIdentifier { +func (v *EncryptVisitor) VisitTableName(ctx *parser.TableNameContext) *ast.CommonIdentifier { stmt := &ast.CommonIdentifier{} if ctx.IDENTIFIER_() != nil { stmt.Identifier = ctx.IDENTIFIER_().GetText() diff --git a/shardingsphere-operator/pkg/distsql/visitor/mask_rdl_visitor.go b/shardingsphere-operator/pkg/distsql/visitor/mask_rdl_visitor.go new file mode 100644 index 00000000..7c372acf --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/visitor/mask_rdl_visitor.go @@ -0,0 +1,219 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package visitor + +import ( + "fmt" + + "github.com/apache/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/ast" + parser "github.com/apache/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/visitor_parser/mask" +) + +type MaskVisitor struct { + parser.BaseRDLStatementVisitor +} + +func (v *MaskVisitor) VisitCreateMaskRule(ctx *parser.CreateMaskRuleContext) *ast.CreateMaskRule { + stmt := &ast.CreateMaskRule{} + if ctx.IfNotExists() != nil { + stmt.IfNotExists = v.VisitIfNotExists(ctx.IfNotExists().(*parser.IfNotExistsContext)) + } + if ctx.TABLE() != nil { + stmt.Table = ctx.TABLE().GetText() + } + if ctx.AllMaskRuleDefinition() != nil { + for _, m := range ctx.AllMaskRuleDefinition() { + stmt.AllMaskRuleDefinition = append(stmt.AllMaskRuleDefinition, v.VisitMaskRuleDefinition(m.(*parser.MaskRuleDefinitionContext))) + } + } + return stmt +} + +func (v *MaskVisitor) VisitAlterMaskRule(ctx *parser.AlterMaskRuleContext) *ast.AlterMaskRule { + stmt := &ast.AlterMaskRule{} + if ctx.TABLE() != nil { + stmt.Table = ctx.TABLE().GetText() + } + if ctx.AllMaskRuleDefinition() != nil { + for _, m := range ctx.AllMaskRuleDefinition() { + stmt.AllMaskRuleDefinition = append(stmt.AllMaskRuleDefinition, v.VisitMaskRuleDefinition(m.(*parser.MaskRuleDefinitionContext))) + } + } + return stmt +} + +func (v *MaskVisitor) VisitDropMaskRule(ctx *parser.DropMaskRuleContext) *ast.DropMaskRule { + stmt := &ast.DropMaskRule{} + if ctx.TABLE() != nil { + stmt.Table = ctx.TABLE().GetText() + } + if ctx.IfExists() != nil { + stmt.IfExists = v.VisitIfExists(ctx.IfExists().(*parser.IfExistsContext)) + } + if ctx.AllRuleName() != nil { + for _, rn := range ctx.AllRuleName() { + stmt.AllRuleName = append(stmt.AllRuleName, v.VisitRuleName(rn.(*parser.RuleNameContext))) + } + } + return stmt +} + +func (v *MaskVisitor) VisitMaskRuleDefinition(ctx *parser.MaskRuleDefinitionContext) *ast.MaskRuleDefinition { + stmt := &ast.MaskRuleDefinition{} + if ctx.RuleName() != nil { + stmt.RuleName = v.VisitRuleName(ctx.RuleName().(*parser.RuleNameContext)) + } + return stmt +} + +func (v *MaskVisitor) VisitColumnDefinition(ctx *parser.ColumnDefinitionContext) *ast.ColumnDefinition { + stmt := &ast.ColumnDefinition{} + if ctx.ColumnName() != nil { + stmt.ColumnName = v.VisitColumnName(ctx.ColumnName().(*parser.ColumnNameContext)) + } + return stmt +} + +func (v *MaskVisitor) VisitColumnName(ctx *parser.ColumnNameContext) *ast.CommonIdentifier { + stmt := &ast.CommonIdentifier{} + if ctx.IDENTIFIER_() != nil { + stmt.Identifier = ctx.IDENTIFIER_().GetText() + } + return stmt +} + +func (v *MaskVisitor) VisitIfExists(ctx *parser.IfExistsContext) *ast.IfExists { + return &ast.IfExists{ + IfExists: fmt.Sprintf("%s %s", ctx.IF().GetText(), ctx.EXISTS().GetText()), + } +} + +func (v *MaskVisitor) VisitIfNotExists(ctx *parser.IfNotExistsContext) *ast.IfNotExists { + return &ast.IfNotExists{ + IfNotExists: fmt.Sprintf("%s %s %s", ctx.IF().GetText(), ctx.NOT().GetText(), ctx.EXISTS().GetText()), + } +} + +func (v *MaskVisitor) VisitLiteral(ctx *parser.LiteralContext) *ast.Literal { + stmt := &ast.Literal{} + switch { + case ctx.STRING_() != nil: + stmt.Literal = ctx.STRING_().GetText() + case ctx.MINUS_() != nil: + stmt.Literal = ctx.MINUS_().GetText() + case ctx.INT_() != nil: + stmt.Literal = ctx.INT_().GetText() + case ctx.TRUE() != nil: + stmt.Literal = ctx.TRUE().GetText() + case ctx.FALSE() != nil: + stmt.Literal = ctx.FALSE().GetText() + } + return stmt +} + +func (v *MaskVisitor) VisitAlgorithmDefinition(ctx *parser.AlgorithmDefinitionContext) *ast.AlgorithmDefinition { + stmt := &ast.AlgorithmDefinition{} + if ctx.AlgorithmTypeName() != nil { + stmt.AlgorithmTypeName = v.VisitAlgorithmTypeName(ctx.AlgorithmTypeName().(*parser.AlgorithmTypeNameContext)) + } + + if ctx.PropertiesDefinition() != nil { + stmt.PropertiesDefinition = v.VisitPropertiesDefinition(ctx.PropertiesDefinition().(*parser.PropertiesDefinitionContext)) + } + return stmt +} + +func (v *MaskVisitor) VisitAlgorithmTypeName(ctx *parser.AlgorithmTypeNameContext) *ast.AlgorithmTypeName { + stmt := &ast.AlgorithmTypeName{} + switch { + case ctx.STRING_() != nil: + stmt.String = ctx.STRING_().GetText() + case ctx.BuildInMaskAlgorithmType() != nil: + stmt.BuildinAlgorithmTypeName = v.VisitBuildInMaskAlgorithmType(ctx.BuildInMaskAlgorithmType().(*parser.BuildInMaskAlgorithmTypeContext)) + } + return stmt +} + +func (v *MaskVisitor) VisitBuildInMaskAlgorithmType(ctx *parser.BuildInMaskAlgorithmTypeContext) *ast.BuildinAlgorithmTypeName { + stmt := &ast.BuildinAlgorithmTypeName{} + switch { + case ctx.MD5() != nil: + stmt.AlgorithmTypeName = ctx.MD5().GetText() + case ctx.KEEP_FIRST_N_LAST_M() != nil: + stmt.AlgorithmTypeName = ctx.KEEP_FIRST_N_LAST_M().GetText() + case ctx.KEEP_FROM_X_TO_Y() != nil: + stmt.AlgorithmTypeName = ctx.KEEP_FROM_X_TO_Y().GetText() + case ctx.MASK_FIRST_N_LAST_M() != nil: + stmt.AlgorithmTypeName = ctx.MASK_FIRST_N_LAST_M().GetText() + case ctx.MASK_FROM_X_TO_Y() != nil: + stmt.AlgorithmTypeName = ctx.MASK_FROM_X_TO_Y().GetText() + case ctx.MASK_BEFORE_SPECIAL_CHARS() != nil: + stmt.AlgorithmTypeName = ctx.MASK_BEFORE_SPECIAL_CHARS().GetText() + case ctx.MASK_AFTER_SPECIAL_CHARS() != nil: + stmt.AlgorithmTypeName = ctx.MASK_AFTER_SPECIAL_CHARS().GetText() + case ctx.PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE() != nil: + stmt.AlgorithmTypeName = ctx.PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE().GetText() + case ctx.MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE() != nil: + stmt.AlgorithmTypeName = ctx.MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE().GetText() + case ctx.LANDLINE_NUMBER_RANDOM_REPLACE() != nil: + stmt.AlgorithmTypeName = ctx.LANDLINE_NUMBER_RANDOM_REPLACE().GetText() + case ctx.TELEPHONE_RANDOM_REPLACE() != nil: + stmt.AlgorithmTypeName = ctx.TELEPHONE_RANDOM_REPLACE().GetText() + case ctx.UNIFIED_CREDIT_CODE_RANDOM_REPLACE() != nil: + stmt.AlgorithmTypeName = ctx.UNIFIED_CREDIT_CODE_RANDOM_REPLACE().GetText() + case ctx.GENERIC_TABLE_RANDOM_REPLACE() != nil: + stmt.AlgorithmTypeName = ctx.GENERIC_TABLE_RANDOM_REPLACE().GetText() + } + return stmt + +} + +func (v *MaskVisitor) VisitPropertiesDefinition(ctx *parser.PropertiesDefinitionContext) *ast.PropertiesDefinition { + stmt := &ast.PropertiesDefinition{} + if ctx.Properties() != nil { + stmt.Properties = v.VisitProperties(ctx.Properties().(*parser.PropertiesContext)) + } + return stmt +} + +func (v *MaskVisitor) VisitProperties(ctx *parser.PropertiesContext) *ast.Properties { + stmt := &ast.Properties{} + for _, p := range ctx.AllProperty() { + stmt.Properties = append(stmt.Properties, v.VisitProperty(p.(*parser.PropertyContext))) + } + return stmt +} + +func (v *MaskVisitor) VisitProperty(ctx *parser.PropertyContext) *ast.Property { + stmt := &ast.Property{} + if ctx.STRING_() != nil { + stmt.Key = ctx.STRING_().GetText() + } + if ctx.Literal() != nil { + stmt.Literal = v.VisitLiteral(ctx.Literal().(*parser.LiteralContext)) + } + return stmt +} + +func (v *MaskVisitor) VisitRuleName(ctx *parser.RuleNameContext) *ast.CommonIdentifier { + stmt := &ast.CommonIdentifier{} + if ctx.IDENTIFIER_() != nil { + stmt.Identifier = ctx.IDENTIFIER_().GetText() + } + return stmt +} diff --git a/shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_base_visitor.go b/shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_base_visitor.go new file mode 100644 index 00000000..13bb0100 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_base_visitor.go @@ -0,0 +1,73 @@ +// Code generated from RDLStatement.g4 by ANTLR 4.8. DO NOT EDIT. + +package parser // RDLStatement + +import "github.com/antlr/antlr4/runtime/Go/antlr" + +type BaseRDLStatementVisitor struct { + *antlr.BaseParseTreeVisitor +} + +func (v *BaseRDLStatementVisitor) VisitCreateMaskRule(ctx *CreateMaskRuleContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseRDLStatementVisitor) VisitAlterMaskRule(ctx *AlterMaskRuleContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseRDLStatementVisitor) VisitDropMaskRule(ctx *DropMaskRuleContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseRDLStatementVisitor) VisitMaskRuleDefinition(ctx *MaskRuleDefinitionContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseRDLStatementVisitor) VisitColumnDefinition(ctx *ColumnDefinitionContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseRDLStatementVisitor) VisitColumnName(ctx *ColumnNameContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseRDLStatementVisitor) VisitIfExists(ctx *IfExistsContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseRDLStatementVisitor) VisitIfNotExists(ctx *IfNotExistsContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseRDLStatementVisitor) VisitLiteral(ctx *LiteralContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseRDLStatementVisitor) VisitAlgorithmDefinition(ctx *AlgorithmDefinitionContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseRDLStatementVisitor) VisitAlgorithmTypeName(ctx *AlgorithmTypeNameContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseRDLStatementVisitor) VisitBuildInMaskAlgorithmType(ctx *BuildInMaskAlgorithmTypeContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseRDLStatementVisitor) VisitPropertiesDefinition(ctx *PropertiesDefinitionContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseRDLStatementVisitor) VisitProperties(ctx *PropertiesContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseRDLStatementVisitor) VisitProperty(ctx *PropertyContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseRDLStatementVisitor) VisitRuleName(ctx *RuleNameContext) interface{} { + return v.VisitChildren(ctx) +} diff --git a/shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_lexer.go b/shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_lexer.go new file mode 100644 index 00000000..b265bb5f --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_lexer.go @@ -0,0 +1,645 @@ +// Code generated from RDLStatement.g4 by ANTLR 4.8. DO NOT EDIT. + +package parser + +import ( + "fmt" + "unicode" + + "github.com/antlr/antlr4/runtime/Go/antlr" +) + +// Suppress unused import error +var _ = fmt.Printf +var _ = unicode.IsLetter + +var serializedLexerAtn = []uint16{ + 3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 87, 1012, + 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, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, + 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, + 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, + 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 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, 22, 3, 22, + 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 280, 10, 23, 3, 24, 3, 24, 3, 25, 3, + 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, + 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, + 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, + 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 44, 6, + 44, 327, 10, 44, 13, 44, 14, 44, 328, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, + 3, 45, 3, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, + 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, + 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, + 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 53, + 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 55, 3, + 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, + 3, 56, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, + 57, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 59, 3, 59, 3, 59, 3, 59, + 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, + 61, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 63, + 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 64, 3, 65, 3, + 65, 3, 65, 3, 65, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, + 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, + 66, 3, 66, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, + 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 68, 3, 68, 3, + 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, + 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 69, 3, 69, 3, 69, 3, + 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, + 3, 69, 3, 69, 3, 69, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, + 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, + 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, + 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, + 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, + 71, 3, 71, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, + 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, + 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, + 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, + 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, + 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, + 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, + 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 74, 3, 74, 3, + 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, + 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, + 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 75, 3, 75, 3, 75, + 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, + 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, + 3, 75, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, + 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, + 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, + 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, + 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, + 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, + 3, 77, 3, 77, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, + 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, + 3, 78, 3, 78, 3, 78, 3, 78, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, + 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, + 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, + 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, + 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 80, 3, 80, 3, 81, 3, 81, 3, 82, 3, + 82, 3, 83, 3, 83, 3, 84, 3, 84, 3, 85, 3, 85, 3, 86, 3, 86, 3, 87, 3, 87, + 3, 88, 3, 88, 3, 89, 3, 89, 3, 90, 3, 90, 3, 91, 3, 91, 3, 92, 3, 92, 3, + 93, 3, 93, 3, 94, 3, 94, 3, 95, 3, 95, 3, 96, 3, 96, 3, 97, 3, 97, 3, 98, + 3, 98, 3, 99, 3, 99, 3, 100, 3, 100, 3, 101, 3, 101, 3, 102, 3, 102, 3, + 103, 3, 103, 3, 104, 3, 104, 3, 105, 3, 105, 3, 106, 7, 106, 898, 10, 106, + 12, 106, 14, 106, 901, 11, 106, 3, 106, 6, 106, 904, 10, 106, 13, 106, + 14, 106, 905, 3, 106, 7, 106, 909, 10, 106, 12, 106, 14, 106, 912, 11, + 106, 3, 106, 3, 106, 6, 106, 916, 10, 106, 13, 106, 14, 106, 917, 3, 106, + 3, 106, 5, 106, 922, 10, 106, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, + 107, 7, 107, 930, 10, 107, 12, 107, 14, 107, 933, 11, 107, 3, 107, 3, 107, + 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 7, 107, 943, 10, 107, 12, + 107, 14, 107, 946, 11, 107, 3, 107, 3, 107, 5, 107, 950, 10, 107, 3, 108, + 6, 108, 953, 10, 108, 13, 108, 14, 108, 954, 3, 109, 3, 109, 3, 110, 5, + 110, 960, 10, 110, 3, 110, 5, 110, 963, 10, 110, 3, 110, 3, 110, 3, 110, + 3, 110, 5, 110, 969, 10, 110, 3, 110, 3, 110, 5, 110, 973, 10, 110, 3, + 111, 3, 111, 3, 111, 3, 111, 6, 111, 979, 10, 111, 13, 111, 14, 111, 980, + 3, 111, 3, 111, 3, 111, 6, 111, 986, 10, 111, 13, 111, 14, 111, 987, 3, + 111, 3, 111, 5, 111, 992, 10, 111, 3, 112, 3, 112, 3, 112, 3, 112, 6, 112, + 998, 10, 112, 13, 112, 14, 112, 999, 3, 112, 3, 112, 3, 112, 6, 112, 1005, + 10, 112, 13, 112, 14, 112, 1006, 3, 112, 3, 112, 5, 112, 1011, 10, 112, + 4, 899, 905, 2, 113, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, + 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, + 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, + 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, + 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, + 91, 47, 93, 48, 95, 49, 97, 50, 99, 51, 101, 52, 103, 53, 105, 54, 107, + 55, 109, 56, 111, 57, 113, 58, 115, 59, 117, 60, 119, 61, 121, 62, 123, + 63, 125, 64, 127, 65, 129, 66, 131, 67, 133, 68, 135, 69, 137, 70, 139, + 71, 141, 72, 143, 73, 145, 74, 147, 75, 149, 76, 151, 77, 153, 78, 155, + 79, 157, 80, 159, 2, 161, 2, 163, 2, 165, 2, 167, 2, 169, 2, 171, 2, 173, + 2, 175, 2, 177, 2, 179, 2, 181, 2, 183, 2, 185, 2, 187, 2, 189, 2, 191, + 2, 193, 2, 195, 2, 197, 2, 199, 2, 201, 2, 203, 2, 205, 2, 207, 2, 209, + 2, 211, 81, 213, 82, 215, 83, 217, 84, 219, 85, 221, 86, 223, 87, 3, 2, + 37, 5, 2, 11, 12, 15, 15, 34, 34, 3, 2, 55, 55, 4, 2, 67, 67, 99, 99, 4, + 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, + 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, + 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, + 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, + 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, + 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, + 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, + 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, + 2, 92, 92, 124, 124, 7, 2, 38, 38, 50, 59, 67, 92, 97, 97, 99, 124, 6, + 2, 38, 38, 67, 92, 97, 97, 99, 124, 3, 2, 98, 98, 4, 2, 36, 36, 94, 94, + 4, 2, 41, 41, 94, 94, 3, 2, 50, 59, 5, 2, 50, 59, 67, 72, 99, 104, 2, 1011, + 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, 211, 3, + 2, 2, 2, 2, 213, 3, 2, 2, 2, 2, 215, 3, 2, 2, 2, 2, 217, 3, 2, 2, 2, 2, + 219, 3, 2, 2, 2, 2, 221, 3, 2, 2, 2, 2, 223, 3, 2, 2, 2, 3, 225, 3, 2, + 2, 2, 5, 228, 3, 2, 2, 2, 7, 231, 3, 2, 2, 2, 9, 233, 3, 2, 2, 2, 11, 235, + 3, 2, 2, 2, 13, 237, 3, 2, 2, 2, 15, 239, 3, 2, 2, 2, 17, 242, 3, 2, 2, + 2, 19, 245, 3, 2, 2, 2, 21, 247, 3, 2, 2, 2, 23, 249, 3, 2, 2, 2, 25, 251, + 3, 2, 2, 2, 27, 253, 3, 2, 2, 2, 29, 255, 3, 2, 2, 2, 31, 257, 3, 2, 2, + 2, 33, 259, 3, 2, 2, 2, 35, 261, 3, 2, 2, 2, 37, 263, 3, 2, 2, 2, 39, 266, + 3, 2, 2, 2, 41, 270, 3, 2, 2, 2, 43, 273, 3, 2, 2, 2, 45, 279, 3, 2, 2, + 2, 47, 281, 3, 2, 2, 2, 49, 283, 3, 2, 2, 2, 51, 286, 3, 2, 2, 2, 53, 288, + 3, 2, 2, 2, 55, 291, 3, 2, 2, 2, 57, 293, 3, 2, 2, 2, 59, 295, 3, 2, 2, + 2, 61, 297, 3, 2, 2, 2, 63, 299, 3, 2, 2, 2, 65, 301, 3, 2, 2, 2, 67, 303, + 3, 2, 2, 2, 69, 305, 3, 2, 2, 2, 71, 307, 3, 2, 2, 2, 73, 309, 3, 2, 2, + 2, 75, 311, 3, 2, 2, 2, 77, 313, 3, 2, 2, 2, 79, 315, 3, 2, 2, 2, 81, 317, + 3, 2, 2, 2, 83, 319, 3, 2, 2, 2, 85, 323, 3, 2, 2, 2, 87, 326, 3, 2, 2, + 2, 89, 332, 3, 2, 2, 2, 91, 337, 3, 2, 2, 2, 93, 343, 3, 2, 2, 2, 95, 350, + 3, 2, 2, 2, 97, 356, 3, 2, 2, 2, 99, 361, 3, 2, 2, 2, 101, 366, 3, 2, 2, + 2, 103, 371, 3, 2, 2, 2, 105, 376, 3, 2, 2, 2, 107, 381, 3, 2, 2, 2, 109, + 386, 3, 2, 2, 2, 111, 391, 3, 2, 2, 2, 113, 402, 3, 2, 2, 2, 115, 409, + 3, 2, 2, 2, 117, 415, 3, 2, 2, 2, 119, 421, 3, 2, 2, 2, 121, 429, 3, 2, + 2, 2, 123, 432, 3, 2, 2, 2, 125, 439, 3, 2, 2, 2, 127, 445, 3, 2, 2, 2, + 129, 449, 3, 2, 2, 2, 131, 453, 3, 2, 2, 2, 133, 473, 3, 2, 2, 2, 135, + 490, 3, 2, 2, 2, 137, 510, 3, 2, 2, 2, 139, 527, 3, 2, 2, 2, 141, 553, + 3, 2, 2, 2, 143, 578, 3, 2, 2, 2, 145, 618, 3, 2, 2, 2, 147, 658, 3, 2, + 2, 2, 149, 689, 3, 2, 2, 2, 151, 714, 3, 2, 2, 2, 153, 749, 3, 2, 2, 2, + 155, 778, 3, 2, 2, 2, 157, 801, 3, 2, 2, 2, 159, 844, 3, 2, 2, 2, 161, + 846, 3, 2, 2, 2, 163, 848, 3, 2, 2, 2, 165, 850, 3, 2, 2, 2, 167, 852, + 3, 2, 2, 2, 169, 854, 3, 2, 2, 2, 171, 856, 3, 2, 2, 2, 173, 858, 3, 2, + 2, 2, 175, 860, 3, 2, 2, 2, 177, 862, 3, 2, 2, 2, 179, 864, 3, 2, 2, 2, + 181, 866, 3, 2, 2, 2, 183, 868, 3, 2, 2, 2, 185, 870, 3, 2, 2, 2, 187, + 872, 3, 2, 2, 2, 189, 874, 3, 2, 2, 2, 191, 876, 3, 2, 2, 2, 193, 878, + 3, 2, 2, 2, 195, 880, 3, 2, 2, 2, 197, 882, 3, 2, 2, 2, 199, 884, 3, 2, + 2, 2, 201, 886, 3, 2, 2, 2, 203, 888, 3, 2, 2, 2, 205, 890, 3, 2, 2, 2, + 207, 892, 3, 2, 2, 2, 209, 894, 3, 2, 2, 2, 211, 921, 3, 2, 2, 2, 213, + 949, 3, 2, 2, 2, 215, 952, 3, 2, 2, 2, 217, 956, 3, 2, 2, 2, 219, 959, + 3, 2, 2, 2, 221, 991, 3, 2, 2, 2, 223, 1010, 3, 2, 2, 2, 225, 226, 7, 40, + 2, 2, 226, 227, 7, 40, 2, 2, 227, 4, 3, 2, 2, 2, 228, 229, 7, 126, 2, 2, + 229, 230, 7, 126, 2, 2, 230, 6, 3, 2, 2, 2, 231, 232, 7, 35, 2, 2, 232, + 8, 3, 2, 2, 2, 233, 234, 7, 128, 2, 2, 234, 10, 3, 2, 2, 2, 235, 236, 7, + 126, 2, 2, 236, 12, 3, 2, 2, 2, 237, 238, 7, 40, 2, 2, 238, 14, 3, 2, 2, + 2, 239, 240, 7, 62, 2, 2, 240, 241, 7, 62, 2, 2, 241, 16, 3, 2, 2, 2, 242, + 243, 7, 64, 2, 2, 243, 244, 7, 64, 2, 2, 244, 18, 3, 2, 2, 2, 245, 246, + 7, 96, 2, 2, 246, 20, 3, 2, 2, 2, 247, 248, 7, 39, 2, 2, 248, 22, 3, 2, + 2, 2, 249, 250, 7, 60, 2, 2, 250, 24, 3, 2, 2, 2, 251, 252, 7, 45, 2, 2, + 252, 26, 3, 2, 2, 2, 253, 254, 7, 47, 2, 2, 254, 28, 3, 2, 2, 2, 255, 256, + 7, 44, 2, 2, 256, 30, 3, 2, 2, 2, 257, 258, 7, 49, 2, 2, 258, 32, 3, 2, + 2, 2, 259, 260, 7, 94, 2, 2, 260, 34, 3, 2, 2, 2, 261, 262, 7, 48, 2, 2, + 262, 36, 3, 2, 2, 2, 263, 264, 7, 48, 2, 2, 264, 265, 7, 44, 2, 2, 265, + 38, 3, 2, 2, 2, 266, 267, 7, 62, 2, 2, 267, 268, 7, 63, 2, 2, 268, 269, + 7, 64, 2, 2, 269, 40, 3, 2, 2, 2, 270, 271, 7, 63, 2, 2, 271, 272, 7, 63, + 2, 2, 272, 42, 3, 2, 2, 2, 273, 274, 7, 63, 2, 2, 274, 44, 3, 2, 2, 2, + 275, 276, 7, 62, 2, 2, 276, 280, 7, 64, 2, 2, 277, 278, 7, 35, 2, 2, 278, + 280, 7, 63, 2, 2, 279, 275, 3, 2, 2, 2, 279, 277, 3, 2, 2, 2, 280, 46, + 3, 2, 2, 2, 281, 282, 7, 64, 2, 2, 282, 48, 3, 2, 2, 2, 283, 284, 7, 64, + 2, 2, 284, 285, 7, 63, 2, 2, 285, 50, 3, 2, 2, 2, 286, 287, 7, 62, 2, 2, + 287, 52, 3, 2, 2, 2, 288, 289, 7, 62, 2, 2, 289, 290, 7, 63, 2, 2, 290, + 54, 3, 2, 2, 2, 291, 292, 7, 37, 2, 2, 292, 56, 3, 2, 2, 2, 293, 294, 7, + 42, 2, 2, 294, 58, 3, 2, 2, 2, 295, 296, 7, 43, 2, 2, 296, 60, 3, 2, 2, + 2, 297, 298, 7, 125, 2, 2, 298, 62, 3, 2, 2, 2, 299, 300, 7, 127, 2, 2, + 300, 64, 3, 2, 2, 2, 301, 302, 7, 93, 2, 2, 302, 66, 3, 2, 2, 2, 303, 304, + 7, 95, 2, 2, 304, 68, 3, 2, 2, 2, 305, 306, 7, 46, 2, 2, 306, 70, 3, 2, + 2, 2, 307, 308, 7, 36, 2, 2, 308, 72, 3, 2, 2, 2, 309, 310, 7, 41, 2, 2, + 310, 74, 3, 2, 2, 2, 311, 312, 7, 98, 2, 2, 312, 76, 3, 2, 2, 2, 313, 314, + 7, 65, 2, 2, 314, 78, 3, 2, 2, 2, 315, 316, 7, 66, 2, 2, 316, 80, 3, 2, + 2, 2, 317, 318, 7, 61, 2, 2, 318, 82, 3, 2, 2, 2, 319, 320, 7, 47, 2, 2, + 320, 321, 7, 64, 2, 2, 321, 322, 7, 64, 2, 2, 322, 84, 3, 2, 2, 2, 323, + 324, 7, 97, 2, 2, 324, 86, 3, 2, 2, 2, 325, 327, 9, 2, 2, 2, 326, 325, + 3, 2, 2, 2, 327, 328, 3, 2, 2, 2, 328, 326, 3, 2, 2, 2, 328, 329, 3, 2, + 2, 2, 329, 330, 3, 2, 2, 2, 330, 331, 8, 44, 2, 2, 331, 88, 3, 2, 2, 2, + 332, 333, 5, 197, 99, 2, 333, 334, 5, 193, 97, 2, 334, 335, 5, 199, 100, + 2, 335, 336, 5, 167, 84, 2, 336, 90, 3, 2, 2, 2, 337, 338, 5, 169, 85, + 2, 338, 339, 5, 159, 80, 2, 339, 340, 5, 181, 91, 2, 340, 341, 5, 195, + 98, 2, 341, 342, 5, 167, 84, 2, 342, 92, 3, 2, 2, 2, 343, 344, 5, 163, + 82, 2, 344, 345, 5, 193, 97, 2, 345, 346, 5, 167, 84, 2, 346, 347, 5, 159, + 80, 2, 347, 348, 5, 197, 99, 2, 348, 349, 5, 167, 84, 2, 349, 94, 3, 2, + 2, 2, 350, 351, 5, 159, 80, 2, 351, 352, 5, 181, 91, 2, 352, 353, 5, 197, + 99, 2, 353, 354, 5, 167, 84, 2, 354, 355, 5, 193, 97, 2, 355, 96, 3, 2, + 2, 2, 356, 357, 5, 165, 83, 2, 357, 358, 5, 193, 97, 2, 358, 359, 5, 187, + 94, 2, 359, 360, 5, 189, 95, 2, 360, 98, 3, 2, 2, 2, 361, 362, 5, 195, + 98, 2, 362, 363, 5, 173, 87, 2, 363, 364, 5, 187, 94, 2, 364, 365, 5, 203, + 102, 2, 365, 100, 3, 2, 2, 2, 366, 367, 5, 193, 97, 2, 367, 368, 5, 199, + 100, 2, 368, 369, 5, 181, 91, 2, 369, 370, 5, 167, 84, 2, 370, 102, 3, + 2, 2, 2, 371, 372, 5, 169, 85, 2, 372, 373, 5, 193, 97, 2, 373, 374, 5, + 187, 94, 2, 374, 375, 5, 183, 92, 2, 375, 104, 3, 2, 2, 2, 376, 377, 5, + 183, 92, 2, 377, 378, 5, 159, 80, 2, 378, 379, 5, 195, 98, 2, 379, 380, + 5, 179, 90, 2, 380, 106, 3, 2, 2, 2, 381, 382, 5, 197, 99, 2, 382, 383, + 5, 207, 104, 2, 383, 384, 5, 189, 95, 2, 384, 385, 5, 167, 84, 2, 385, + 108, 3, 2, 2, 2, 386, 387, 5, 185, 93, 2, 387, 388, 5, 159, 80, 2, 388, + 389, 5, 183, 92, 2, 389, 390, 5, 167, 84, 2, 390, 110, 3, 2, 2, 2, 391, + 392, 5, 189, 95, 2, 392, 393, 5, 193, 97, 2, 393, 394, 5, 187, 94, 2, 394, + 395, 5, 189, 95, 2, 395, 396, 5, 167, 84, 2, 396, 397, 5, 193, 97, 2, 397, + 398, 5, 197, 99, 2, 398, 399, 5, 175, 88, 2, 399, 400, 5, 167, 84, 2, 400, + 401, 5, 195, 98, 2, 401, 112, 3, 2, 2, 2, 402, 403, 5, 163, 82, 2, 403, + 404, 5, 187, 94, 2, 404, 405, 5, 181, 91, 2, 405, 406, 5, 199, 100, 2, + 406, 407, 5, 183, 92, 2, 407, 408, 5, 185, 93, 2, 408, 114, 3, 2, 2, 2, + 409, 410, 5, 193, 97, 2, 410, 411, 5, 199, 100, 2, 411, 412, 5, 181, 91, + 2, 412, 413, 5, 167, 84, 2, 413, 414, 5, 195, 98, 2, 414, 116, 3, 2, 2, + 2, 415, 416, 5, 197, 99, 2, 416, 417, 5, 159, 80, 2, 417, 418, 5, 161, + 81, 2, 418, 419, 5, 181, 91, 2, 419, 420, 5, 167, 84, 2, 420, 118, 3, 2, + 2, 2, 421, 422, 5, 163, 82, 2, 422, 423, 5, 187, 94, 2, 423, 424, 5, 181, + 91, 2, 424, 425, 5, 199, 100, 2, 425, 426, 5, 183, 92, 2, 426, 427, 5, + 185, 93, 2, 427, 428, 5, 195, 98, 2, 428, 120, 3, 2, 2, 2, 429, 430, 5, + 175, 88, 2, 430, 431, 5, 169, 85, 2, 431, 122, 3, 2, 2, 2, 432, 433, 5, + 167, 84, 2, 433, 434, 5, 205, 103, 2, 434, 435, 5, 175, 88, 2, 435, 436, + 5, 195, 98, 2, 436, 437, 5, 197, 99, 2, 437, 438, 5, 195, 98, 2, 438, 124, + 3, 2, 2, 2, 439, 440, 5, 163, 82, 2, 440, 441, 5, 187, 94, 2, 441, 442, + 5, 199, 100, 2, 442, 443, 5, 185, 93, 2, 443, 444, 5, 197, 99, 2, 444, + 126, 3, 2, 2, 2, 445, 446, 5, 185, 93, 2, 446, 447, 5, 187, 94, 2, 447, + 448, 5, 197, 99, 2, 448, 128, 3, 2, 2, 2, 449, 450, 5, 183, 92, 2, 450, + 451, 5, 165, 83, 2, 451, 452, 9, 3, 2, 2, 452, 130, 3, 2, 2, 2, 453, 454, + 5, 179, 90, 2, 454, 455, 5, 167, 84, 2, 455, 456, 5, 167, 84, 2, 456, 457, + 5, 189, 95, 2, 457, 458, 5, 85, 43, 2, 458, 459, 5, 169, 85, 2, 459, 460, + 5, 175, 88, 2, 460, 461, 5, 193, 97, 2, 461, 462, 5, 195, 98, 2, 462, 463, + 5, 197, 99, 2, 463, 464, 5, 85, 43, 2, 464, 465, 5, 185, 93, 2, 465, 466, + 5, 85, 43, 2, 466, 467, 5, 181, 91, 2, 467, 468, 5, 159, 80, 2, 468, 469, + 5, 195, 98, 2, 469, 470, 5, 197, 99, 2, 470, 471, 5, 85, 43, 2, 471, 472, + 5, 183, 92, 2, 472, 132, 3, 2, 2, 2, 473, 474, 5, 179, 90, 2, 474, 475, + 5, 167, 84, 2, 475, 476, 5, 167, 84, 2, 476, 477, 5, 189, 95, 2, 477, 478, + 5, 85, 43, 2, 478, 479, 5, 169, 85, 2, 479, 480, 5, 193, 97, 2, 480, 481, + 5, 187, 94, 2, 481, 482, 5, 183, 92, 2, 482, 483, 5, 85, 43, 2, 483, 484, + 5, 205, 103, 2, 484, 485, 5, 85, 43, 2, 485, 486, 5, 197, 99, 2, 486, 487, + 5, 187, 94, 2, 487, 488, 5, 85, 43, 2, 488, 489, 5, 207, 104, 2, 489, 134, + 3, 2, 2, 2, 490, 491, 5, 183, 92, 2, 491, 492, 5, 159, 80, 2, 492, 493, + 5, 195, 98, 2, 493, 494, 5, 179, 90, 2, 494, 495, 5, 85, 43, 2, 495, 496, + 5, 169, 85, 2, 496, 497, 5, 175, 88, 2, 497, 498, 5, 193, 97, 2, 498, 499, + 5, 195, 98, 2, 499, 500, 5, 197, 99, 2, 500, 501, 5, 85, 43, 2, 501, 502, + 5, 185, 93, 2, 502, 503, 5, 85, 43, 2, 503, 504, 5, 181, 91, 2, 504, 505, + 5, 159, 80, 2, 505, 506, 5, 195, 98, 2, 506, 507, 5, 197, 99, 2, 507, 508, + 5, 85, 43, 2, 508, 509, 5, 183, 92, 2, 509, 136, 3, 2, 2, 2, 510, 511, + 5, 183, 92, 2, 511, 512, 5, 159, 80, 2, 512, 513, 5, 195, 98, 2, 513, 514, + 5, 179, 90, 2, 514, 515, 5, 85, 43, 2, 515, 516, 5, 169, 85, 2, 516, 517, + 5, 193, 97, 2, 517, 518, 5, 187, 94, 2, 518, 519, 5, 183, 92, 2, 519, 520, + 5, 85, 43, 2, 520, 521, 5, 205, 103, 2, 521, 522, 5, 85, 43, 2, 522, 523, + 5, 197, 99, 2, 523, 524, 5, 187, 94, 2, 524, 525, 5, 85, 43, 2, 525, 526, + 5, 207, 104, 2, 526, 138, 3, 2, 2, 2, 527, 528, 5, 183, 92, 2, 528, 529, + 5, 159, 80, 2, 529, 530, 5, 195, 98, 2, 530, 531, 5, 179, 90, 2, 531, 532, + 5, 85, 43, 2, 532, 533, 5, 161, 81, 2, 533, 534, 5, 167, 84, 2, 534, 535, + 5, 169, 85, 2, 535, 536, 5, 187, 94, 2, 536, 537, 5, 193, 97, 2, 537, 538, + 5, 167, 84, 2, 538, 539, 5, 85, 43, 2, 539, 540, 5, 195, 98, 2, 540, 541, + 5, 189, 95, 2, 541, 542, 5, 167, 84, 2, 542, 543, 5, 163, 82, 2, 543, 544, + 5, 175, 88, 2, 544, 545, 5, 159, 80, 2, 545, 546, 5, 181, 91, 2, 546, 547, + 5, 85, 43, 2, 547, 548, 5, 163, 82, 2, 548, 549, 5, 173, 87, 2, 549, 550, + 5, 159, 80, 2, 550, 551, 5, 193, 97, 2, 551, 552, 5, 195, 98, 2, 552, 140, + 3, 2, 2, 2, 553, 554, 5, 183, 92, 2, 554, 555, 5, 159, 80, 2, 555, 556, + 5, 195, 98, 2, 556, 557, 5, 179, 90, 2, 557, 558, 5, 85, 43, 2, 558, 559, + 5, 159, 80, 2, 559, 560, 5, 169, 85, 2, 560, 561, 5, 197, 99, 2, 561, 562, + 5, 167, 84, 2, 562, 563, 5, 193, 97, 2, 563, 564, 5, 85, 43, 2, 564, 565, + 5, 195, 98, 2, 565, 566, 5, 189, 95, 2, 566, 567, 5, 167, 84, 2, 567, 568, + 5, 163, 82, 2, 568, 569, 5, 175, 88, 2, 569, 570, 5, 159, 80, 2, 570, 571, + 5, 181, 91, 2, 571, 572, 5, 85, 43, 2, 572, 573, 5, 163, 82, 2, 573, 574, + 5, 173, 87, 2, 574, 575, 5, 159, 80, 2, 575, 576, 5, 193, 97, 2, 576, 577, + 5, 195, 98, 2, 577, 142, 3, 2, 2, 2, 578, 579, 5, 189, 95, 2, 579, 580, + 5, 167, 84, 2, 580, 581, 5, 193, 97, 2, 581, 582, 5, 195, 98, 2, 582, 583, + 5, 187, 94, 2, 583, 584, 5, 185, 93, 2, 584, 585, 5, 159, 80, 2, 585, 586, + 5, 181, 91, 2, 586, 587, 5, 85, 43, 2, 587, 588, 5, 175, 88, 2, 588, 589, + 5, 165, 83, 2, 589, 590, 5, 167, 84, 2, 590, 591, 5, 185, 93, 2, 591, 592, + 5, 197, 99, 2, 592, 593, 5, 175, 88, 2, 593, 594, 5, 197, 99, 2, 594, 595, + 5, 207, 104, 2, 595, 596, 5, 85, 43, 2, 596, 597, 5, 185, 93, 2, 597, 598, + 5, 199, 100, 2, 598, 599, 5, 183, 92, 2, 599, 600, 5, 161, 81, 2, 600, + 601, 5, 167, 84, 2, 601, 602, 5, 193, 97, 2, 602, 603, 5, 85, 43, 2, 603, + 604, 5, 193, 97, 2, 604, 605, 5, 159, 80, 2, 605, 606, 5, 185, 93, 2, 606, + 607, 5, 165, 83, 2, 607, 608, 5, 187, 94, 2, 608, 609, 5, 183, 92, 2, 609, + 610, 5, 85, 43, 2, 610, 611, 5, 193, 97, 2, 611, 612, 5, 167, 84, 2, 612, + 613, 5, 189, 95, 2, 613, 614, 5, 181, 91, 2, 614, 615, 5, 159, 80, 2, 615, + 616, 5, 163, 82, 2, 616, 617, 5, 167, 84, 2, 617, 144, 3, 2, 2, 2, 618, + 619, 5, 183, 92, 2, 619, 620, 5, 175, 88, 2, 620, 621, 5, 181, 91, 2, 621, + 622, 5, 175, 88, 2, 622, 623, 5, 197, 99, 2, 623, 624, 5, 159, 80, 2, 624, + 625, 5, 193, 97, 2, 625, 626, 5, 207, 104, 2, 626, 627, 5, 85, 43, 2, 627, + 628, 5, 175, 88, 2, 628, 629, 5, 165, 83, 2, 629, 630, 5, 167, 84, 2, 630, + 631, 5, 185, 93, 2, 631, 632, 5, 197, 99, 2, 632, 633, 5, 175, 88, 2, 633, + 634, 5, 197, 99, 2, 634, 635, 5, 207, 104, 2, 635, 636, 5, 85, 43, 2, 636, + 637, 5, 185, 93, 2, 637, 638, 5, 199, 100, 2, 638, 639, 5, 183, 92, 2, + 639, 640, 5, 161, 81, 2, 640, 641, 5, 167, 84, 2, 641, 642, 5, 193, 97, + 2, 642, 643, 5, 85, 43, 2, 643, 644, 5, 193, 97, 2, 644, 645, 5, 159, 80, + 2, 645, 646, 5, 185, 93, 2, 646, 647, 5, 165, 83, 2, 647, 648, 5, 187, + 94, 2, 648, 649, 5, 183, 92, 2, 649, 650, 5, 85, 43, 2, 650, 651, 5, 193, + 97, 2, 651, 652, 5, 167, 84, 2, 652, 653, 5, 189, 95, 2, 653, 654, 5, 181, + 91, 2, 654, 655, 5, 159, 80, 2, 655, 656, 5, 163, 82, 2, 656, 657, 5, 167, + 84, 2, 657, 146, 3, 2, 2, 2, 658, 659, 5, 181, 91, 2, 659, 660, 5, 159, + 80, 2, 660, 661, 5, 185, 93, 2, 661, 662, 5, 165, 83, 2, 662, 663, 5, 181, + 91, 2, 663, 664, 5, 175, 88, 2, 664, 665, 5, 185, 93, 2, 665, 666, 5, 167, + 84, 2, 666, 667, 5, 85, 43, 2, 667, 668, 5, 185, 93, 2, 668, 669, 5, 199, + 100, 2, 669, 670, 5, 183, 92, 2, 670, 671, 5, 161, 81, 2, 671, 672, 5, + 167, 84, 2, 672, 673, 5, 193, 97, 2, 673, 674, 5, 85, 43, 2, 674, 675, + 5, 193, 97, 2, 675, 676, 5, 159, 80, 2, 676, 677, 5, 185, 93, 2, 677, 678, + 5, 165, 83, 2, 678, 679, 5, 187, 94, 2, 679, 680, 5, 183, 92, 2, 680, 681, + 5, 85, 43, 2, 681, 682, 5, 193, 97, 2, 682, 683, 5, 167, 84, 2, 683, 684, + 5, 189, 95, 2, 684, 685, 5, 181, 91, 2, 685, 686, 5, 159, 80, 2, 686, 687, + 5, 163, 82, 2, 687, 688, 5, 167, 84, 2, 688, 148, 3, 2, 2, 2, 689, 690, + 5, 197, 99, 2, 690, 691, 5, 167, 84, 2, 691, 692, 5, 181, 91, 2, 692, 693, + 5, 167, 84, 2, 693, 694, 5, 189, 95, 2, 694, 695, 5, 173, 87, 2, 695, 696, + 5, 187, 94, 2, 696, 697, 5, 185, 93, 2, 697, 698, 5, 167, 84, 2, 698, 699, + 5, 85, 43, 2, 699, 700, 5, 193, 97, 2, 700, 701, 5, 159, 80, 2, 701, 702, + 5, 185, 93, 2, 702, 703, 5, 165, 83, 2, 703, 704, 5, 187, 94, 2, 704, 705, + 5, 183, 92, 2, 705, 706, 5, 85, 43, 2, 706, 707, 5, 193, 97, 2, 707, 708, + 5, 167, 84, 2, 708, 709, 5, 189, 95, 2, 709, 710, 5, 181, 91, 2, 710, 711, + 5, 159, 80, 2, 711, 712, 5, 163, 82, 2, 712, 713, 5, 167, 84, 2, 713, 150, + 3, 2, 2, 2, 714, 715, 5, 199, 100, 2, 715, 716, 5, 185, 93, 2, 716, 717, + 5, 175, 88, 2, 717, 718, 5, 169, 85, 2, 718, 719, 5, 175, 88, 2, 719, 720, + 5, 167, 84, 2, 720, 721, 5, 165, 83, 2, 721, 722, 5, 85, 43, 2, 722, 723, + 5, 163, 82, 2, 723, 724, 5, 193, 97, 2, 724, 725, 5, 167, 84, 2, 725, 726, + 5, 165, 83, 2, 726, 727, 5, 175, 88, 2, 727, 728, 5, 197, 99, 2, 728, 729, + 5, 85, 43, 2, 729, 730, 5, 163, 82, 2, 730, 731, 5, 187, 94, 2, 731, 732, + 5, 165, 83, 2, 732, 733, 5, 167, 84, 2, 733, 734, 5, 85, 43, 2, 734, 735, + 5, 193, 97, 2, 735, 736, 5, 159, 80, 2, 736, 737, 5, 185, 93, 2, 737, 738, + 5, 165, 83, 2, 738, 739, 5, 187, 94, 2, 739, 740, 5, 183, 92, 2, 740, 741, + 5, 85, 43, 2, 741, 742, 5, 193, 97, 2, 742, 743, 5, 167, 84, 2, 743, 744, + 5, 189, 95, 2, 744, 745, 5, 181, 91, 2, 745, 746, 5, 159, 80, 2, 746, 747, + 5, 163, 82, 2, 747, 748, 5, 167, 84, 2, 748, 152, 3, 2, 2, 2, 749, 750, + 5, 171, 86, 2, 750, 751, 5, 167, 84, 2, 751, 752, 5, 185, 93, 2, 752, 753, + 5, 167, 84, 2, 753, 754, 5, 193, 97, 2, 754, 755, 5, 175, 88, 2, 755, 756, + 5, 163, 82, 2, 756, 757, 5, 85, 43, 2, 757, 758, 5, 197, 99, 2, 758, 759, + 5, 159, 80, 2, 759, 760, 5, 161, 81, 2, 760, 761, 5, 181, 91, 2, 761, 762, + 5, 167, 84, 2, 762, 763, 5, 85, 43, 2, 763, 764, 5, 193, 97, 2, 764, 765, + 5, 159, 80, 2, 765, 766, 5, 185, 93, 2, 766, 767, 5, 165, 83, 2, 767, 768, + 5, 187, 94, 2, 768, 769, 5, 183, 92, 2, 769, 770, 5, 85, 43, 2, 770, 771, + 5, 193, 97, 2, 771, 772, 5, 167, 84, 2, 772, 773, 5, 189, 95, 2, 773, 774, + 5, 181, 91, 2, 774, 775, 5, 159, 80, 2, 775, 776, 5, 163, 82, 2, 776, 777, + 5, 167, 84, 2, 777, 154, 3, 2, 2, 2, 778, 779, 5, 159, 80, 2, 779, 780, + 5, 165, 83, 2, 780, 781, 5, 165, 83, 2, 781, 782, 5, 193, 97, 2, 782, 783, + 5, 167, 84, 2, 783, 784, 5, 195, 98, 2, 784, 785, 5, 195, 98, 2, 785, 786, + 5, 85, 43, 2, 786, 787, 5, 193, 97, 2, 787, 788, 5, 159, 80, 2, 788, 789, + 5, 185, 93, 2, 789, 790, 5, 165, 83, 2, 790, 791, 5, 187, 94, 2, 791, 792, + 5, 183, 92, 2, 792, 793, 5, 85, 43, 2, 793, 794, 5, 193, 97, 2, 794, 795, + 5, 167, 84, 2, 795, 796, 5, 189, 95, 2, 796, 797, 5, 181, 91, 2, 797, 798, + 5, 159, 80, 2, 798, 799, 5, 163, 82, 2, 799, 800, 5, 167, 84, 2, 800, 156, + 3, 2, 2, 2, 801, 802, 7, 70, 2, 2, 802, 803, 7, 81, 2, 2, 803, 804, 7, + 34, 2, 2, 804, 805, 7, 80, 2, 2, 805, 806, 7, 81, 2, 2, 806, 807, 7, 86, + 2, 2, 807, 808, 7, 34, 2, 2, 808, 809, 7, 79, 2, 2, 809, 810, 7, 67, 2, + 2, 810, 811, 7, 86, 2, 2, 811, 812, 7, 69, 2, 2, 812, 813, 7, 74, 2, 2, + 813, 814, 7, 34, 2, 2, 814, 815, 7, 67, 2, 2, 815, 816, 7, 80, 2, 2, 816, + 817, 7, 91, 2, 2, 817, 818, 7, 34, 2, 2, 818, 819, 7, 86, 2, 2, 819, 820, + 7, 74, 2, 2, 820, 821, 7, 75, 2, 2, 821, 822, 7, 80, 2, 2, 822, 823, 7, + 73, 2, 2, 823, 824, 7, 46, 2, 2, 824, 825, 7, 34, 2, 2, 825, 826, 7, 76, + 2, 2, 826, 827, 7, 87, 2, 2, 827, 828, 7, 85, 2, 2, 828, 829, 7, 86, 2, + 2, 829, 830, 7, 34, 2, 2, 830, 831, 7, 72, 2, 2, 831, 832, 7, 81, 2, 2, + 832, 833, 7, 84, 2, 2, 833, 834, 7, 34, 2, 2, 834, 835, 7, 73, 2, 2, 835, + 836, 7, 71, 2, 2, 836, 837, 7, 80, 2, 2, 837, 838, 7, 71, 2, 2, 838, 839, + 7, 84, 2, 2, 839, 840, 7, 67, 2, 2, 840, 841, 7, 86, 2, 2, 841, 842, 7, + 81, 2, 2, 842, 843, 7, 84, 2, 2, 843, 158, 3, 2, 2, 2, 844, 845, 9, 4, + 2, 2, 845, 160, 3, 2, 2, 2, 846, 847, 9, 5, 2, 2, 847, 162, 3, 2, 2, 2, + 848, 849, 9, 6, 2, 2, 849, 164, 3, 2, 2, 2, 850, 851, 9, 7, 2, 2, 851, + 166, 3, 2, 2, 2, 852, 853, 9, 8, 2, 2, 853, 168, 3, 2, 2, 2, 854, 855, + 9, 9, 2, 2, 855, 170, 3, 2, 2, 2, 856, 857, 9, 10, 2, 2, 857, 172, 3, 2, + 2, 2, 858, 859, 9, 11, 2, 2, 859, 174, 3, 2, 2, 2, 860, 861, 9, 12, 2, + 2, 861, 176, 3, 2, 2, 2, 862, 863, 9, 13, 2, 2, 863, 178, 3, 2, 2, 2, 864, + 865, 9, 14, 2, 2, 865, 180, 3, 2, 2, 2, 866, 867, 9, 15, 2, 2, 867, 182, + 3, 2, 2, 2, 868, 869, 9, 16, 2, 2, 869, 184, 3, 2, 2, 2, 870, 871, 9, 17, + 2, 2, 871, 186, 3, 2, 2, 2, 872, 873, 9, 18, 2, 2, 873, 188, 3, 2, 2, 2, + 874, 875, 9, 19, 2, 2, 875, 190, 3, 2, 2, 2, 876, 877, 9, 20, 2, 2, 877, + 192, 3, 2, 2, 2, 878, 879, 9, 21, 2, 2, 879, 194, 3, 2, 2, 2, 880, 881, + 9, 22, 2, 2, 881, 196, 3, 2, 2, 2, 882, 883, 9, 23, 2, 2, 883, 198, 3, + 2, 2, 2, 884, 885, 9, 24, 2, 2, 885, 200, 3, 2, 2, 2, 886, 887, 9, 25, + 2, 2, 887, 202, 3, 2, 2, 2, 888, 889, 9, 26, 2, 2, 889, 204, 3, 2, 2, 2, + 890, 891, 9, 27, 2, 2, 891, 206, 3, 2, 2, 2, 892, 893, 9, 28, 2, 2, 893, + 208, 3, 2, 2, 2, 894, 895, 9, 29, 2, 2, 895, 210, 3, 2, 2, 2, 896, 898, + 9, 30, 2, 2, 897, 896, 3, 2, 2, 2, 898, 901, 3, 2, 2, 2, 899, 900, 3, 2, + 2, 2, 899, 897, 3, 2, 2, 2, 900, 903, 3, 2, 2, 2, 901, 899, 3, 2, 2, 2, + 902, 904, 9, 31, 2, 2, 903, 902, 3, 2, 2, 2, 904, 905, 3, 2, 2, 2, 905, + 906, 3, 2, 2, 2, 905, 903, 3, 2, 2, 2, 906, 910, 3, 2, 2, 2, 907, 909, + 9, 30, 2, 2, 908, 907, 3, 2, 2, 2, 909, 912, 3, 2, 2, 2, 910, 908, 3, 2, + 2, 2, 910, 911, 3, 2, 2, 2, 911, 922, 3, 2, 2, 2, 912, 910, 3, 2, 2, 2, + 913, 915, 5, 75, 38, 2, 914, 916, 10, 32, 2, 2, 915, 914, 3, 2, 2, 2, 916, + 917, 3, 2, 2, 2, 917, 915, 3, 2, 2, 2, 917, 918, 3, 2, 2, 2, 918, 919, + 3, 2, 2, 2, 919, 920, 5, 75, 38, 2, 920, 922, 3, 2, 2, 2, 921, 899, 3, + 2, 2, 2, 921, 913, 3, 2, 2, 2, 922, 212, 3, 2, 2, 2, 923, 931, 5, 71, 36, + 2, 924, 925, 7, 94, 2, 2, 925, 930, 11, 2, 2, 2, 926, 927, 7, 36, 2, 2, + 927, 930, 7, 36, 2, 2, 928, 930, 10, 33, 2, 2, 929, 924, 3, 2, 2, 2, 929, + 926, 3, 2, 2, 2, 929, 928, 3, 2, 2, 2, 930, 933, 3, 2, 2, 2, 931, 929, + 3, 2, 2, 2, 931, 932, 3, 2, 2, 2, 932, 934, 3, 2, 2, 2, 933, 931, 3, 2, + 2, 2, 934, 935, 5, 71, 36, 2, 935, 950, 3, 2, 2, 2, 936, 944, 5, 73, 37, + 2, 937, 938, 7, 94, 2, 2, 938, 943, 11, 2, 2, 2, 939, 940, 7, 41, 2, 2, + 940, 943, 7, 41, 2, 2, 941, 943, 10, 34, 2, 2, 942, 937, 3, 2, 2, 2, 942, + 939, 3, 2, 2, 2, 942, 941, 3, 2, 2, 2, 943, 946, 3, 2, 2, 2, 944, 942, + 3, 2, 2, 2, 944, 945, 3, 2, 2, 2, 945, 947, 3, 2, 2, 2, 946, 944, 3, 2, + 2, 2, 947, 948, 5, 73, 37, 2, 948, 950, 3, 2, 2, 2, 949, 923, 3, 2, 2, + 2, 949, 936, 3, 2, 2, 2, 950, 214, 3, 2, 2, 2, 951, 953, 9, 35, 2, 2, 952, + 951, 3, 2, 2, 2, 953, 954, 3, 2, 2, 2, 954, 952, 3, 2, 2, 2, 954, 955, + 3, 2, 2, 2, 955, 216, 3, 2, 2, 2, 956, 957, 9, 36, 2, 2, 957, 218, 3, 2, + 2, 2, 958, 960, 5, 215, 108, 2, 959, 958, 3, 2, 2, 2, 959, 960, 3, 2, 2, + 2, 960, 962, 3, 2, 2, 2, 961, 963, 5, 35, 18, 2, 962, 961, 3, 2, 2, 2, + 962, 963, 3, 2, 2, 2, 963, 964, 3, 2, 2, 2, 964, 972, 5, 215, 108, 2, 965, + 968, 5, 167, 84, 2, 966, 969, 5, 25, 13, 2, 967, 969, 5, 27, 14, 2, 968, + 966, 3, 2, 2, 2, 968, 967, 3, 2, 2, 2, 968, 969, 3, 2, 2, 2, 969, 970, + 3, 2, 2, 2, 970, 971, 5, 215, 108, 2, 971, 973, 3, 2, 2, 2, 972, 965, 3, + 2, 2, 2, 972, 973, 3, 2, 2, 2, 973, 220, 3, 2, 2, 2, 974, 975, 7, 50, 2, + 2, 975, 976, 7, 122, 2, 2, 976, 978, 3, 2, 2, 2, 977, 979, 5, 217, 109, + 2, 978, 977, 3, 2, 2, 2, 979, 980, 3, 2, 2, 2, 980, 978, 3, 2, 2, 2, 980, + 981, 3, 2, 2, 2, 981, 992, 3, 2, 2, 2, 982, 983, 7, 90, 2, 2, 983, 985, + 5, 73, 37, 2, 984, 986, 5, 217, 109, 2, 985, 984, 3, 2, 2, 2, 986, 987, + 3, 2, 2, 2, 987, 985, 3, 2, 2, 2, 987, 988, 3, 2, 2, 2, 988, 989, 3, 2, + 2, 2, 989, 990, 5, 73, 37, 2, 990, 992, 3, 2, 2, 2, 991, 974, 3, 2, 2, + 2, 991, 982, 3, 2, 2, 2, 992, 222, 3, 2, 2, 2, 993, 994, 7, 50, 2, 2, 994, + 995, 7, 100, 2, 2, 995, 997, 3, 2, 2, 2, 996, 998, 4, 50, 51, 2, 997, 996, + 3, 2, 2, 2, 998, 999, 3, 2, 2, 2, 999, 997, 3, 2, 2, 2, 999, 1000, 3, 2, + 2, 2, 1000, 1011, 3, 2, 2, 2, 1001, 1002, 5, 161, 81, 2, 1002, 1004, 5, + 73, 37, 2, 1003, 1005, 4, 50, 51, 2, 1004, 1003, 3, 2, 2, 2, 1005, 1006, + 3, 2, 2, 2, 1006, 1004, 3, 2, 2, 2, 1006, 1007, 3, 2, 2, 2, 1007, 1008, + 3, 2, 2, 2, 1008, 1009, 5, 73, 37, 2, 1009, 1011, 3, 2, 2, 2, 1010, 993, + 3, 2, 2, 2, 1010, 1001, 3, 2, 2, 2, 1011, 224, 3, 2, 2, 2, 26, 2, 279, + 328, 899, 905, 910, 917, 921, 929, 931, 942, 944, 949, 954, 959, 962, 968, + 972, 980, 987, 991, 999, 1006, 1010, 3, 8, 2, 2, +} + +var lexerDeserializer = antlr.NewATNDeserializer(nil) +var lexerAtn = lexerDeserializer.DeserializeFromUInt16(serializedLexerAtn) + +var lexerChannelNames = []string{ + "DEFAULT_TOKEN_CHANNEL", "HIDDEN", +} + +var lexerModeNames = []string{ + "DEFAULT_MODE", +} + +var lexerLiteralNames = []string{ + "", "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", + "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", + "'=='", "'='", "", "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", "'{'", + "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", "';'", + "'->>'", "'_'", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'", +} + +var lexerSymbolicNames = []string{ + "", "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", + "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", + "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", + "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", "RBE_", + "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", "SEMI_", + "JSONSEPARATOR_", "UL_", "WS", "TRUE", "FALSE", "CREATE", "ALTER", "DROP", + "SHOW", "RULE", "FROM", "MASK", "TYPE", "NAME", "PROPERTIES", "COLUMN", + "RULES", "TABLE", "COLUMNS", "IF", "EXISTS", "COUNT", "NOT", "MD5", "KEEP_FIRST_N_LAST_M", + "KEEP_FROM_X_TO_Y", "MASK_FIRST_N_LAST_M", "MASK_FROM_X_TO_Y", "MASK_BEFORE_SPECIAL_CHARS", + "MASK_AFTER_SPECIAL_CHARS", "PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE", + "MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE", "LANDLINE_NUMBER_RANDOM_REPLACE", + "TELEPHONE_RANDOM_REPLACE", "UNIFIED_CREDIT_CODE_RANDOM_REPLACE", "GENERIC_TABLE_RANDOM_REPLACE", + "ADDRESS_RANDOM_REPLACE", "FOR_GENERATOR", "IDENTIFIER_", "STRING_", "INT_", + "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_", +} + +var lexerRuleNames = []string{ + "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", + "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", + "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", + "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", "RBE_", + "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", "SEMI_", + "JSONSEPARATOR_", "UL_", "WS", "TRUE", "FALSE", "CREATE", "ALTER", "DROP", + "SHOW", "RULE", "FROM", "MASK", "TYPE", "NAME", "PROPERTIES", "COLUMN", + "RULES", "TABLE", "COLUMNS", "IF", "EXISTS", "COUNT", "NOT", "MD5", "KEEP_FIRST_N_LAST_M", + "KEEP_FROM_X_TO_Y", "MASK_FIRST_N_LAST_M", "MASK_FROM_X_TO_Y", "MASK_BEFORE_SPECIAL_CHARS", + "MASK_AFTER_SPECIAL_CHARS", "PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE", + "MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE", "LANDLINE_NUMBER_RANDOM_REPLACE", + "TELEPHONE_RANDOM_REPLACE", "UNIFIED_CREDIT_CODE_RANDOM_REPLACE", "GENERIC_TABLE_RANDOM_REPLACE", + "ADDRESS_RANDOM_REPLACE", "FOR_GENERATOR", "A", "B", "C", "D", "E", "F", + "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", + "V", "W", "X", "Y", "Z", "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", + "HEXDIGIT_", "BITNUM_", +} + +type RDLStatementLexer struct { + *antlr.BaseLexer + channelNames []string + modeNames []string + // TODO: EOF string +} + +var lexerDecisionToDFA = make([]*antlr.DFA, len(lexerAtn.DecisionToState)) + +func init() { + for index, ds := range lexerAtn.DecisionToState { + lexerDecisionToDFA[index] = antlr.NewDFA(ds, index) + } +} + +func NewRDLStatementLexer(input antlr.CharStream) *RDLStatementLexer { + + l := new(RDLStatementLexer) + + l.BaseLexer = antlr.NewBaseLexer(input) + l.Interpreter = antlr.NewLexerATNSimulator(l, lexerAtn, lexerDecisionToDFA, antlr.NewPredictionContextCache()) + + l.channelNames = lexerChannelNames + l.modeNames = lexerModeNames + l.RuleNames = lexerRuleNames + l.LiteralNames = lexerLiteralNames + l.SymbolicNames = lexerSymbolicNames + l.GrammarFileName = "RDLStatement.g4" + // TODO: l.EOF = antlr.TokenEOF + + return l +} + +// RDLStatementLexer tokens. +const ( + RDLStatementLexerAND_ = 1 + RDLStatementLexerOR_ = 2 + RDLStatementLexerNOT_ = 3 + RDLStatementLexerTILDE_ = 4 + RDLStatementLexerVERTICALBAR_ = 5 + RDLStatementLexerAMPERSAND_ = 6 + RDLStatementLexerSIGNEDLEFTSHIFT_ = 7 + RDLStatementLexerSIGNEDRIGHTSHIFT_ = 8 + RDLStatementLexerCARET_ = 9 + RDLStatementLexerMOD_ = 10 + RDLStatementLexerCOLON_ = 11 + RDLStatementLexerPLUS_ = 12 + RDLStatementLexerMINUS_ = 13 + RDLStatementLexerASTERISK_ = 14 + RDLStatementLexerSLASH_ = 15 + RDLStatementLexerBACKSLASH_ = 16 + RDLStatementLexerDOT_ = 17 + RDLStatementLexerDOTASTERISK_ = 18 + RDLStatementLexerSAFEEQ_ = 19 + RDLStatementLexerDEQ_ = 20 + RDLStatementLexerEQ_ = 21 + RDLStatementLexerNEQ_ = 22 + RDLStatementLexerGT_ = 23 + RDLStatementLexerGTE_ = 24 + RDLStatementLexerLT_ = 25 + RDLStatementLexerLTE_ = 26 + RDLStatementLexerPOUND_ = 27 + RDLStatementLexerLP_ = 28 + RDLStatementLexerRP_ = 29 + RDLStatementLexerLBE_ = 30 + RDLStatementLexerRBE_ = 31 + RDLStatementLexerLBT_ = 32 + RDLStatementLexerRBT_ = 33 + RDLStatementLexerCOMMA_ = 34 + RDLStatementLexerDQ_ = 35 + RDLStatementLexerSQ_ = 36 + RDLStatementLexerBQ_ = 37 + RDLStatementLexerQUESTION_ = 38 + RDLStatementLexerAT_ = 39 + RDLStatementLexerSEMI_ = 40 + RDLStatementLexerJSONSEPARATOR_ = 41 + RDLStatementLexerUL_ = 42 + RDLStatementLexerWS = 43 + RDLStatementLexerTRUE = 44 + RDLStatementLexerFALSE = 45 + RDLStatementLexerCREATE = 46 + RDLStatementLexerALTER = 47 + RDLStatementLexerDROP = 48 + RDLStatementLexerSHOW = 49 + RDLStatementLexerRULE = 50 + RDLStatementLexerFROM = 51 + RDLStatementLexerMASK = 52 + RDLStatementLexerTYPE = 53 + RDLStatementLexerNAME = 54 + RDLStatementLexerPROPERTIES = 55 + RDLStatementLexerCOLUMN = 56 + RDLStatementLexerRULES = 57 + RDLStatementLexerTABLE = 58 + RDLStatementLexerCOLUMNS = 59 + RDLStatementLexerIF = 60 + RDLStatementLexerEXISTS = 61 + RDLStatementLexerCOUNT = 62 + RDLStatementLexerNOT = 63 + RDLStatementLexerMD5 = 64 + RDLStatementLexerKEEP_FIRST_N_LAST_M = 65 + RDLStatementLexerKEEP_FROM_X_TO_Y = 66 + RDLStatementLexerMASK_FIRST_N_LAST_M = 67 + RDLStatementLexerMASK_FROM_X_TO_Y = 68 + RDLStatementLexerMASK_BEFORE_SPECIAL_CHARS = 69 + RDLStatementLexerMASK_AFTER_SPECIAL_CHARS = 70 + RDLStatementLexerPERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE = 71 + RDLStatementLexerMILITARY_IDENTITY_NUMBER_RANDOM_REPLACE = 72 + RDLStatementLexerLANDLINE_NUMBER_RANDOM_REPLACE = 73 + RDLStatementLexerTELEPHONE_RANDOM_REPLACE = 74 + RDLStatementLexerUNIFIED_CREDIT_CODE_RANDOM_REPLACE = 75 + RDLStatementLexerGENERIC_TABLE_RANDOM_REPLACE = 76 + RDLStatementLexerADDRESS_RANDOM_REPLACE = 77 + RDLStatementLexerFOR_GENERATOR = 78 + RDLStatementLexerIDENTIFIER_ = 79 + RDLStatementLexerSTRING_ = 80 + RDLStatementLexerINT_ = 81 + RDLStatementLexerHEX_ = 82 + RDLStatementLexerNUMBER_ = 83 + RDLStatementLexerHEXDIGIT_ = 84 + RDLStatementLexerBITNUM_ = 85 +) diff --git a/shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_parser.go b/shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_parser.go new file mode 100644 index 00000000..fcb3d882 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_parser.go @@ -0,0 +1,2511 @@ +// Code generated from RDLStatement.g4 by ANTLR 4.8. DO NOT EDIT. + +package parser // RDLStatement + +import ( + "fmt" + "reflect" + "strconv" + + "github.com/antlr/antlr4/runtime/Go/antlr" +) + +// Suppress unused import errors +var _ = fmt.Printf +var _ = reflect.Copy +var _ = strconv.Itoa + +var parserATN = []uint16{ + 3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 87, 162, + 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, 3, 2, 3, + 2, 3, 2, 5, 2, 38, 10, 2, 3, 2, 3, 2, 5, 2, 42, 10, 2, 3, 2, 3, 2, 3, 2, + 7, 2, 47, 10, 2, 12, 2, 14, 2, 50, 11, 2, 3, 3, 3, 3, 3, 3, 5, 3, 55, 10, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 61, 10, 3, 12, 3, 14, 3, 64, 11, 3, 3, + 4, 3, 4, 3, 4, 5, 4, 69, 10, 4, 3, 4, 3, 4, 5, 4, 73, 10, 4, 3, 4, 3, 4, + 3, 4, 7, 4, 78, 10, 4, 12, 4, 14, 4, 81, 11, 4, 3, 5, 3, 5, 3, 5, 3, 5, + 3, 5, 3, 5, 3, 5, 7, 5, 90, 10, 5, 12, 5, 14, 5, 93, 11, 5, 3, 5, 3, 5, + 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, + 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 5, 10, 117, 10, 10, 3, + 10, 3, 10, 3, 10, 5, 10, 122, 10, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, + 3, 11, 3, 11, 5, 11, 131, 10, 11, 3, 11, 3, 11, 3, 12, 3, 12, 5, 12, 137, + 10, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 5, 14, 144, 10, 14, 3, 14, 3, + 14, 3, 15, 3, 15, 3, 15, 7, 15, 151, 10, 15, 12, 15, 14, 15, 154, 11, 15, + 3, 16, 3, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 2, 2, 18, 2, 4, 6, 8, + 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 2, 3, 3, 2, 66, 78, 2, + 162, 2, 34, 3, 2, 2, 2, 4, 51, 3, 2, 2, 2, 6, 65, 3, 2, 2, 2, 8, 82, 3, + 2, 2, 2, 10, 97, 3, 2, 2, 2, 12, 105, 3, 2, 2, 2, 14, 107, 3, 2, 2, 2, + 16, 110, 3, 2, 2, 2, 18, 121, 3, 2, 2, 2, 20, 123, 3, 2, 2, 2, 22, 136, + 3, 2, 2, 2, 24, 138, 3, 2, 2, 2, 26, 140, 3, 2, 2, 2, 28, 147, 3, 2, 2, + 2, 30, 155, 3, 2, 2, 2, 32, 159, 3, 2, 2, 2, 34, 35, 7, 48, 2, 2, 35, 37, + 7, 54, 2, 2, 36, 38, 7, 60, 2, 2, 37, 36, 3, 2, 2, 2, 37, 38, 3, 2, 2, + 2, 38, 39, 3, 2, 2, 2, 39, 41, 7, 52, 2, 2, 40, 42, 5, 16, 9, 2, 41, 40, + 3, 2, 2, 2, 41, 42, 3, 2, 2, 2, 42, 43, 3, 2, 2, 2, 43, 48, 5, 8, 5, 2, + 44, 45, 7, 36, 2, 2, 45, 47, 5, 8, 5, 2, 46, 44, 3, 2, 2, 2, 47, 50, 3, + 2, 2, 2, 48, 46, 3, 2, 2, 2, 48, 49, 3, 2, 2, 2, 49, 3, 3, 2, 2, 2, 50, + 48, 3, 2, 2, 2, 51, 52, 7, 49, 2, 2, 52, 54, 7, 54, 2, 2, 53, 55, 7, 60, + 2, 2, 54, 53, 3, 2, 2, 2, 54, 55, 3, 2, 2, 2, 55, 56, 3, 2, 2, 2, 56, 57, + 7, 52, 2, 2, 57, 62, 5, 8, 5, 2, 58, 59, 7, 36, 2, 2, 59, 61, 5, 8, 5, + 2, 60, 58, 3, 2, 2, 2, 61, 64, 3, 2, 2, 2, 62, 60, 3, 2, 2, 2, 62, 63, + 3, 2, 2, 2, 63, 5, 3, 2, 2, 2, 64, 62, 3, 2, 2, 2, 65, 66, 7, 50, 2, 2, + 66, 68, 7, 54, 2, 2, 67, 69, 7, 60, 2, 2, 68, 67, 3, 2, 2, 2, 68, 69, 3, + 2, 2, 2, 69, 70, 3, 2, 2, 2, 70, 72, 7, 52, 2, 2, 71, 73, 5, 14, 8, 2, + 72, 71, 3, 2, 2, 2, 72, 73, 3, 2, 2, 2, 73, 74, 3, 2, 2, 2, 74, 79, 5, + 32, 17, 2, 75, 76, 7, 36, 2, 2, 76, 78, 5, 32, 17, 2, 77, 75, 3, 2, 2, + 2, 78, 81, 3, 2, 2, 2, 79, 77, 3, 2, 2, 2, 79, 80, 3, 2, 2, 2, 80, 7, 3, + 2, 2, 2, 81, 79, 3, 2, 2, 2, 82, 83, 5, 32, 17, 2, 83, 84, 7, 30, 2, 2, + 84, 85, 7, 61, 2, 2, 85, 86, 7, 30, 2, 2, 86, 91, 5, 10, 6, 2, 87, 88, + 7, 36, 2, 2, 88, 90, 5, 10, 6, 2, 89, 87, 3, 2, 2, 2, 90, 93, 3, 2, 2, + 2, 91, 89, 3, 2, 2, 2, 91, 92, 3, 2, 2, 2, 92, 94, 3, 2, 2, 2, 93, 91, + 3, 2, 2, 2, 94, 95, 7, 31, 2, 2, 95, 96, 7, 31, 2, 2, 96, 9, 3, 2, 2, 2, + 97, 98, 7, 30, 2, 2, 98, 99, 7, 56, 2, 2, 99, 100, 7, 23, 2, 2, 100, 101, + 5, 12, 7, 2, 101, 102, 7, 36, 2, 2, 102, 103, 5, 20, 11, 2, 103, 104, 7, + 31, 2, 2, 104, 11, 3, 2, 2, 2, 105, 106, 7, 81, 2, 2, 106, 13, 3, 2, 2, + 2, 107, 108, 7, 62, 2, 2, 108, 109, 7, 63, 2, 2, 109, 15, 3, 2, 2, 2, 110, + 111, 7, 62, 2, 2, 111, 112, 7, 65, 2, 2, 112, 113, 7, 63, 2, 2, 113, 17, + 3, 2, 2, 2, 114, 122, 7, 82, 2, 2, 115, 117, 7, 15, 2, 2, 116, 115, 3, + 2, 2, 2, 116, 117, 3, 2, 2, 2, 117, 118, 3, 2, 2, 2, 118, 122, 7, 83, 2, + 2, 119, 122, 7, 46, 2, 2, 120, 122, 7, 47, 2, 2, 121, 114, 3, 2, 2, 2, + 121, 116, 3, 2, 2, 2, 121, 119, 3, 2, 2, 2, 121, 120, 3, 2, 2, 2, 122, + 19, 3, 2, 2, 2, 123, 124, 7, 55, 2, 2, 124, 125, 7, 30, 2, 2, 125, 126, + 7, 56, 2, 2, 126, 127, 7, 23, 2, 2, 127, 130, 5, 22, 12, 2, 128, 129, 7, + 36, 2, 2, 129, 131, 5, 26, 14, 2, 130, 128, 3, 2, 2, 2, 130, 131, 3, 2, + 2, 2, 131, 132, 3, 2, 2, 2, 132, 133, 7, 31, 2, 2, 133, 21, 3, 2, 2, 2, + 134, 137, 7, 82, 2, 2, 135, 137, 5, 24, 13, 2, 136, 134, 3, 2, 2, 2, 136, + 135, 3, 2, 2, 2, 137, 23, 3, 2, 2, 2, 138, 139, 9, 2, 2, 2, 139, 25, 3, + 2, 2, 2, 140, 141, 7, 57, 2, 2, 141, 143, 7, 30, 2, 2, 142, 144, 5, 28, + 15, 2, 143, 142, 3, 2, 2, 2, 143, 144, 3, 2, 2, 2, 144, 145, 3, 2, 2, 2, + 145, 146, 7, 31, 2, 2, 146, 27, 3, 2, 2, 2, 147, 152, 5, 30, 16, 2, 148, + 149, 7, 36, 2, 2, 149, 151, 5, 30, 16, 2, 150, 148, 3, 2, 2, 2, 151, 154, + 3, 2, 2, 2, 152, 150, 3, 2, 2, 2, 152, 153, 3, 2, 2, 2, 153, 29, 3, 2, + 2, 2, 154, 152, 3, 2, 2, 2, 155, 156, 7, 82, 2, 2, 156, 157, 7, 23, 2, + 2, 157, 158, 5, 18, 10, 2, 158, 31, 3, 2, 2, 2, 159, 160, 7, 81, 2, 2, + 160, 33, 3, 2, 2, 2, 17, 37, 41, 48, 54, 62, 68, 72, 79, 91, 116, 121, + 130, 136, 143, 152, +} +var deserializer = antlr.NewATNDeserializer(nil) +var deserializedATN = deserializer.DeserializeFromUInt16(parserATN) + +var literalNames = []string{ + "", "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", + "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", + "'=='", "'='", "", "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", "'{'", + "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", "';'", + "'->>'", "'_'", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'", +} +var symbolicNames = []string{ + "", "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", + "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", + "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", + "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", "RBE_", + "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", "SEMI_", + "JSONSEPARATOR_", "UL_", "WS", "TRUE", "FALSE", "CREATE", "ALTER", "DROP", + "SHOW", "RULE", "FROM", "MASK", "TYPE", "NAME", "PROPERTIES", "COLUMN", + "RULES", "TABLE", "COLUMNS", "IF", "EXISTS", "COUNT", "NOT", "MD5", "KEEP_FIRST_N_LAST_M", + "KEEP_FROM_X_TO_Y", "MASK_FIRST_N_LAST_M", "MASK_FROM_X_TO_Y", "MASK_BEFORE_SPECIAL_CHARS", + "MASK_AFTER_SPECIAL_CHARS", "PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE", + "MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE", "LANDLINE_NUMBER_RANDOM_REPLACE", + "TELEPHONE_RANDOM_REPLACE", "UNIFIED_CREDIT_CODE_RANDOM_REPLACE", "GENERIC_TABLE_RANDOM_REPLACE", + "ADDRESS_RANDOM_REPLACE", "FOR_GENERATOR", "IDENTIFIER_", "STRING_", "INT_", + "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_", +} + +var ruleNames = []string{ + "createMaskRule", "alterMaskRule", "dropMaskRule", "maskRuleDefinition", + "columnDefinition", "columnName", "ifExists", "ifNotExists", "literal", + "algorithmDefinition", "algorithmTypeName", "buildInMaskAlgorithmType", + "propertiesDefinition", "properties", "property", "ruleName", +} +var decisionToDFA = make([]*antlr.DFA, len(deserializedATN.DecisionToState)) + +func init() { + for index, ds := range deserializedATN.DecisionToState { + decisionToDFA[index] = antlr.NewDFA(ds, index) + } +} + +type RDLStatementParser struct { + *antlr.BaseParser +} + +func NewRDLStatementParser(input antlr.TokenStream) *RDLStatementParser { + this := new(RDLStatementParser) + + this.BaseParser = antlr.NewBaseParser(input) + + this.Interpreter = antlr.NewParserATNSimulator(this, deserializedATN, decisionToDFA, antlr.NewPredictionContextCache()) + this.RuleNames = ruleNames + this.LiteralNames = literalNames + this.SymbolicNames = symbolicNames + this.GrammarFileName = "RDLStatement.g4" + + return this +} + +// RDLStatementParser tokens. +const ( + RDLStatementParserEOF = antlr.TokenEOF + RDLStatementParserAND_ = 1 + RDLStatementParserOR_ = 2 + RDLStatementParserNOT_ = 3 + RDLStatementParserTILDE_ = 4 + RDLStatementParserVERTICALBAR_ = 5 + RDLStatementParserAMPERSAND_ = 6 + RDLStatementParserSIGNEDLEFTSHIFT_ = 7 + RDLStatementParserSIGNEDRIGHTSHIFT_ = 8 + RDLStatementParserCARET_ = 9 + RDLStatementParserMOD_ = 10 + RDLStatementParserCOLON_ = 11 + RDLStatementParserPLUS_ = 12 + RDLStatementParserMINUS_ = 13 + RDLStatementParserASTERISK_ = 14 + RDLStatementParserSLASH_ = 15 + RDLStatementParserBACKSLASH_ = 16 + RDLStatementParserDOT_ = 17 + RDLStatementParserDOTASTERISK_ = 18 + RDLStatementParserSAFEEQ_ = 19 + RDLStatementParserDEQ_ = 20 + RDLStatementParserEQ_ = 21 + RDLStatementParserNEQ_ = 22 + RDLStatementParserGT_ = 23 + RDLStatementParserGTE_ = 24 + RDLStatementParserLT_ = 25 + RDLStatementParserLTE_ = 26 + RDLStatementParserPOUND_ = 27 + RDLStatementParserLP_ = 28 + RDLStatementParserRP_ = 29 + RDLStatementParserLBE_ = 30 + RDLStatementParserRBE_ = 31 + RDLStatementParserLBT_ = 32 + RDLStatementParserRBT_ = 33 + RDLStatementParserCOMMA_ = 34 + RDLStatementParserDQ_ = 35 + RDLStatementParserSQ_ = 36 + RDLStatementParserBQ_ = 37 + RDLStatementParserQUESTION_ = 38 + RDLStatementParserAT_ = 39 + RDLStatementParserSEMI_ = 40 + RDLStatementParserJSONSEPARATOR_ = 41 + RDLStatementParserUL_ = 42 + RDLStatementParserWS = 43 + RDLStatementParserTRUE = 44 + RDLStatementParserFALSE = 45 + RDLStatementParserCREATE = 46 + RDLStatementParserALTER = 47 + RDLStatementParserDROP = 48 + RDLStatementParserSHOW = 49 + RDLStatementParserRULE = 50 + RDLStatementParserFROM = 51 + RDLStatementParserMASK = 52 + RDLStatementParserTYPE = 53 + RDLStatementParserNAME = 54 + RDLStatementParserPROPERTIES = 55 + RDLStatementParserCOLUMN = 56 + RDLStatementParserRULES = 57 + RDLStatementParserTABLE = 58 + RDLStatementParserCOLUMNS = 59 + RDLStatementParserIF = 60 + RDLStatementParserEXISTS = 61 + RDLStatementParserCOUNT = 62 + RDLStatementParserNOT = 63 + RDLStatementParserMD5 = 64 + RDLStatementParserKEEP_FIRST_N_LAST_M = 65 + RDLStatementParserKEEP_FROM_X_TO_Y = 66 + RDLStatementParserMASK_FIRST_N_LAST_M = 67 + RDLStatementParserMASK_FROM_X_TO_Y = 68 + RDLStatementParserMASK_BEFORE_SPECIAL_CHARS = 69 + RDLStatementParserMASK_AFTER_SPECIAL_CHARS = 70 + RDLStatementParserPERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE = 71 + RDLStatementParserMILITARY_IDENTITY_NUMBER_RANDOM_REPLACE = 72 + RDLStatementParserLANDLINE_NUMBER_RANDOM_REPLACE = 73 + RDLStatementParserTELEPHONE_RANDOM_REPLACE = 74 + RDLStatementParserUNIFIED_CREDIT_CODE_RANDOM_REPLACE = 75 + RDLStatementParserGENERIC_TABLE_RANDOM_REPLACE = 76 + RDLStatementParserADDRESS_RANDOM_REPLACE = 77 + RDLStatementParserFOR_GENERATOR = 78 + RDLStatementParserIDENTIFIER_ = 79 + RDLStatementParserSTRING_ = 80 + RDLStatementParserINT_ = 81 + RDLStatementParserHEX_ = 82 + RDLStatementParserNUMBER_ = 83 + RDLStatementParserHEXDIGIT_ = 84 + RDLStatementParserBITNUM_ = 85 +) + +// RDLStatementParser rules. +const ( + RDLStatementParserRULE_createMaskRule = 0 + RDLStatementParserRULE_alterMaskRule = 1 + RDLStatementParserRULE_dropMaskRule = 2 + RDLStatementParserRULE_maskRuleDefinition = 3 + RDLStatementParserRULE_columnDefinition = 4 + RDLStatementParserRULE_columnName = 5 + RDLStatementParserRULE_ifExists = 6 + RDLStatementParserRULE_ifNotExists = 7 + RDLStatementParserRULE_literal = 8 + RDLStatementParserRULE_algorithmDefinition = 9 + RDLStatementParserRULE_algorithmTypeName = 10 + RDLStatementParserRULE_buildInMaskAlgorithmType = 11 + RDLStatementParserRULE_propertiesDefinition = 12 + RDLStatementParserRULE_properties = 13 + RDLStatementParserRULE_property = 14 + RDLStatementParserRULE_ruleName = 15 +) + +// ICreateMaskRuleContext is an interface to support dynamic dispatch. +type ICreateMaskRuleContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsCreateMaskRuleContext differentiates from other interfaces. + IsCreateMaskRuleContext() +} + +type CreateMaskRuleContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyCreateMaskRuleContext() *CreateMaskRuleContext { + var p = new(CreateMaskRuleContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_createMaskRule + return p +} + +func (*CreateMaskRuleContext) IsCreateMaskRuleContext() {} + +func NewCreateMaskRuleContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CreateMaskRuleContext { + var p = new(CreateMaskRuleContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_createMaskRule + + return p +} + +func (s *CreateMaskRuleContext) GetParser() antlr.Parser { return s.parser } + +func (s *CreateMaskRuleContext) CREATE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserCREATE, 0) +} + +func (s *CreateMaskRuleContext) MASK() antlr.TerminalNode { + return s.GetToken(RDLStatementParserMASK, 0) +} + +func (s *CreateMaskRuleContext) RULE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRULE, 0) +} + +func (s *CreateMaskRuleContext) AllMaskRuleDefinition() []IMaskRuleDefinitionContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IMaskRuleDefinitionContext)(nil)).Elem()) + var tst = make([]IMaskRuleDefinitionContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(IMaskRuleDefinitionContext) + } + } + + return tst +} + +func (s *CreateMaskRuleContext) MaskRuleDefinition(i int) IMaskRuleDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IMaskRuleDefinitionContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(IMaskRuleDefinitionContext) +} + +func (s *CreateMaskRuleContext) TABLE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserTABLE, 0) +} + +func (s *CreateMaskRuleContext) IfNotExists() IIfNotExistsContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfNotExistsContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IIfNotExistsContext) +} + +func (s *CreateMaskRuleContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *CreateMaskRuleContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *CreateMaskRuleContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *CreateMaskRuleContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *CreateMaskRuleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitCreateMaskRule(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) CreateMaskRule() (localctx ICreateMaskRuleContext) { + localctx = NewCreateMaskRuleContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 0, RDLStatementParserRULE_createMaskRule) + var _la int + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(32) + p.Match(RDLStatementParserCREATE) + } + { + p.SetState(33) + p.Match(RDLStatementParserMASK) + } + p.SetState(35) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + if _la == RDLStatementParserTABLE { + { + p.SetState(34) + p.Match(RDLStatementParserTABLE) + } + + } + { + p.SetState(37) + p.Match(RDLStatementParserRULE) + } + p.SetState(39) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + if _la == RDLStatementParserIF { + { + p.SetState(38) + p.IfNotExists() + } + + } + { + p.SetState(41) + p.MaskRuleDefinition() + } + p.SetState(46) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(42) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(43) + p.MaskRuleDefinition() + } + + p.SetState(48) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + + return localctx +} + +// IAlterMaskRuleContext is an interface to support dynamic dispatch. +type IAlterMaskRuleContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsAlterMaskRuleContext differentiates from other interfaces. + IsAlterMaskRuleContext() +} + +type AlterMaskRuleContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyAlterMaskRuleContext() *AlterMaskRuleContext { + var p = new(AlterMaskRuleContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_alterMaskRule + return p +} + +func (*AlterMaskRuleContext) IsAlterMaskRuleContext() {} + +func NewAlterMaskRuleContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AlterMaskRuleContext { + var p = new(AlterMaskRuleContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_alterMaskRule + + return p +} + +func (s *AlterMaskRuleContext) GetParser() antlr.Parser { return s.parser } + +func (s *AlterMaskRuleContext) ALTER() antlr.TerminalNode { + return s.GetToken(RDLStatementParserALTER, 0) +} + +func (s *AlterMaskRuleContext) MASK() antlr.TerminalNode { + return s.GetToken(RDLStatementParserMASK, 0) +} + +func (s *AlterMaskRuleContext) RULE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRULE, 0) +} + +func (s *AlterMaskRuleContext) AllMaskRuleDefinition() []IMaskRuleDefinitionContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IMaskRuleDefinitionContext)(nil)).Elem()) + var tst = make([]IMaskRuleDefinitionContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(IMaskRuleDefinitionContext) + } + } + + return tst +} + +func (s *AlterMaskRuleContext) MaskRuleDefinition(i int) IMaskRuleDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IMaskRuleDefinitionContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(IMaskRuleDefinitionContext) +} + +func (s *AlterMaskRuleContext) TABLE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserTABLE, 0) +} + +func (s *AlterMaskRuleContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *AlterMaskRuleContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *AlterMaskRuleContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *AlterMaskRuleContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *AlterMaskRuleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitAlterMaskRule(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) AlterMaskRule() (localctx IAlterMaskRuleContext) { + localctx = NewAlterMaskRuleContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 2, RDLStatementParserRULE_alterMaskRule) + var _la int + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(49) + p.Match(RDLStatementParserALTER) + } + { + p.SetState(50) + p.Match(RDLStatementParserMASK) + } + p.SetState(52) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + if _la == RDLStatementParserTABLE { + { + p.SetState(51) + p.Match(RDLStatementParserTABLE) + } + + } + { + p.SetState(54) + p.Match(RDLStatementParserRULE) + } + { + p.SetState(55) + p.MaskRuleDefinition() + } + p.SetState(60) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(56) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(57) + p.MaskRuleDefinition() + } + + p.SetState(62) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + + return localctx +} + +// IDropMaskRuleContext is an interface to support dynamic dispatch. +type IDropMaskRuleContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsDropMaskRuleContext differentiates from other interfaces. + IsDropMaskRuleContext() +} + +type DropMaskRuleContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyDropMaskRuleContext() *DropMaskRuleContext { + var p = new(DropMaskRuleContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_dropMaskRule + return p +} + +func (*DropMaskRuleContext) IsDropMaskRuleContext() {} + +func NewDropMaskRuleContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DropMaskRuleContext { + var p = new(DropMaskRuleContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_dropMaskRule + + return p +} + +func (s *DropMaskRuleContext) GetParser() antlr.Parser { return s.parser } + +func (s *DropMaskRuleContext) DROP() antlr.TerminalNode { + return s.GetToken(RDLStatementParserDROP, 0) +} + +func (s *DropMaskRuleContext) MASK() antlr.TerminalNode { + return s.GetToken(RDLStatementParserMASK, 0) +} + +func (s *DropMaskRuleContext) RULE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRULE, 0) +} + +func (s *DropMaskRuleContext) AllRuleName() []IRuleNameContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IRuleNameContext)(nil)).Elem()) + var tst = make([]IRuleNameContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(IRuleNameContext) + } + } + + return tst +} + +func (s *DropMaskRuleContext) RuleName(i int) IRuleNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IRuleNameContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(IRuleNameContext) +} + +func (s *DropMaskRuleContext) TABLE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserTABLE, 0) +} + +func (s *DropMaskRuleContext) IfExists() IIfExistsContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfExistsContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IIfExistsContext) +} + +func (s *DropMaskRuleContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *DropMaskRuleContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *DropMaskRuleContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DropMaskRuleContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *DropMaskRuleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitDropMaskRule(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) DropMaskRule() (localctx IDropMaskRuleContext) { + localctx = NewDropMaskRuleContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 4, RDLStatementParserRULE_dropMaskRule) + var _la int + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(63) + p.Match(RDLStatementParserDROP) + } + { + p.SetState(64) + p.Match(RDLStatementParserMASK) + } + p.SetState(66) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + if _la == RDLStatementParserTABLE { + { + p.SetState(65) + p.Match(RDLStatementParserTABLE) + } + + } + { + p.SetState(68) + p.Match(RDLStatementParserRULE) + } + p.SetState(70) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + if _la == RDLStatementParserIF { + { + p.SetState(69) + p.IfExists() + } + + } + { + p.SetState(72) + p.RuleName() + } + p.SetState(77) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(73) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(74) + p.RuleName() + } + + p.SetState(79) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + + return localctx +} + +// IMaskRuleDefinitionContext is an interface to support dynamic dispatch. +type IMaskRuleDefinitionContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsMaskRuleDefinitionContext differentiates from other interfaces. + IsMaskRuleDefinitionContext() +} + +type MaskRuleDefinitionContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyMaskRuleDefinitionContext() *MaskRuleDefinitionContext { + var p = new(MaskRuleDefinitionContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_maskRuleDefinition + return p +} + +func (*MaskRuleDefinitionContext) IsMaskRuleDefinitionContext() {} + +func NewMaskRuleDefinitionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MaskRuleDefinitionContext { + var p = new(MaskRuleDefinitionContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_maskRuleDefinition + + return p +} + +func (s *MaskRuleDefinitionContext) GetParser() antlr.Parser { return s.parser } + +func (s *MaskRuleDefinitionContext) RuleName() IRuleNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IRuleNameContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IRuleNameContext) +} + +func (s *MaskRuleDefinitionContext) AllLP_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserLP_) +} + +func (s *MaskRuleDefinitionContext) LP_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserLP_, i) +} + +func (s *MaskRuleDefinitionContext) COLUMNS() antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOLUMNS, 0) +} + +func (s *MaskRuleDefinitionContext) AllColumnDefinition() []IColumnDefinitionContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IColumnDefinitionContext)(nil)).Elem()) + var tst = make([]IColumnDefinitionContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(IColumnDefinitionContext) + } + } + + return tst +} + +func (s *MaskRuleDefinitionContext) ColumnDefinition(i int) IColumnDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IColumnDefinitionContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(IColumnDefinitionContext) +} + +func (s *MaskRuleDefinitionContext) AllRP_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserRP_) +} + +func (s *MaskRuleDefinitionContext) RP_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserRP_, i) +} + +func (s *MaskRuleDefinitionContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *MaskRuleDefinitionContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *MaskRuleDefinitionContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *MaskRuleDefinitionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *MaskRuleDefinitionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitMaskRuleDefinition(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) MaskRuleDefinition() (localctx IMaskRuleDefinitionContext) { + localctx = NewMaskRuleDefinitionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 6, RDLStatementParserRULE_maskRuleDefinition) + var _la int + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(80) + p.RuleName() + } + { + p.SetState(81) + p.Match(RDLStatementParserLP_) + } + { + p.SetState(82) + p.Match(RDLStatementParserCOLUMNS) + } + { + p.SetState(83) + p.Match(RDLStatementParserLP_) + } + { + p.SetState(84) + p.ColumnDefinition() + } + p.SetState(89) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(85) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(86) + p.ColumnDefinition() + } + + p.SetState(91) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + { + p.SetState(92) + p.Match(RDLStatementParserRP_) + } + { + p.SetState(93) + p.Match(RDLStatementParserRP_) + } + + return localctx +} + +// IColumnDefinitionContext is an interface to support dynamic dispatch. +type IColumnDefinitionContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsColumnDefinitionContext differentiates from other interfaces. + IsColumnDefinitionContext() +} + +type ColumnDefinitionContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyColumnDefinitionContext() *ColumnDefinitionContext { + var p = new(ColumnDefinitionContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_columnDefinition + return p +} + +func (*ColumnDefinitionContext) IsColumnDefinitionContext() {} + +func NewColumnDefinitionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ColumnDefinitionContext { + var p = new(ColumnDefinitionContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_columnDefinition + + return p +} + +func (s *ColumnDefinitionContext) GetParser() antlr.Parser { return s.parser } + +func (s *ColumnDefinitionContext) LP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserLP_, 0) +} + +func (s *ColumnDefinitionContext) NAME() antlr.TerminalNode { + return s.GetToken(RDLStatementParserNAME, 0) +} + +func (s *ColumnDefinitionContext) EQ_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserEQ_, 0) +} + +func (s *ColumnDefinitionContext) ColumnName() IColumnNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IColumnNameContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IColumnNameContext) +} + +func (s *ColumnDefinitionContext) COMMA_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, 0) +} + +func (s *ColumnDefinitionContext) AlgorithmDefinition() IAlgorithmDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IAlgorithmDefinitionContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IAlgorithmDefinitionContext) +} + +func (s *ColumnDefinitionContext) RP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRP_, 0) +} + +func (s *ColumnDefinitionContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ColumnDefinitionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *ColumnDefinitionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitColumnDefinition(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) ColumnDefinition() (localctx IColumnDefinitionContext) { + localctx = NewColumnDefinitionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 8, RDLStatementParserRULE_columnDefinition) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(95) + p.Match(RDLStatementParserLP_) + } + { + p.SetState(96) + p.Match(RDLStatementParserNAME) + } + { + p.SetState(97) + p.Match(RDLStatementParserEQ_) + } + { + p.SetState(98) + p.ColumnName() + } + { + p.SetState(99) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(100) + p.AlgorithmDefinition() + } + { + p.SetState(101) + p.Match(RDLStatementParserRP_) + } + + return localctx +} + +// IColumnNameContext is an interface to support dynamic dispatch. +type IColumnNameContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsColumnNameContext differentiates from other interfaces. + IsColumnNameContext() +} + +type ColumnNameContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyColumnNameContext() *ColumnNameContext { + var p = new(ColumnNameContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_columnName + return p +} + +func (*ColumnNameContext) IsColumnNameContext() {} + +func NewColumnNameContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ColumnNameContext { + var p = new(ColumnNameContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_columnName + + return p +} + +func (s *ColumnNameContext) GetParser() antlr.Parser { return s.parser } + +func (s *ColumnNameContext) IDENTIFIER_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserIDENTIFIER_, 0) +} + +func (s *ColumnNameContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ColumnNameContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *ColumnNameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitColumnName(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) ColumnName() (localctx IColumnNameContext) { + localctx = NewColumnNameContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 10, RDLStatementParserRULE_columnName) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(103) + p.Match(RDLStatementParserIDENTIFIER_) + } + + return localctx +} + +// IIfExistsContext is an interface to support dynamic dispatch. +type IIfExistsContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsIfExistsContext differentiates from other interfaces. + IsIfExistsContext() +} + +type IfExistsContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyIfExistsContext() *IfExistsContext { + var p = new(IfExistsContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_ifExists + return p +} + +func (*IfExistsContext) IsIfExistsContext() {} + +func NewIfExistsContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IfExistsContext { + var p = new(IfExistsContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_ifExists + + return p +} + +func (s *IfExistsContext) GetParser() antlr.Parser { return s.parser } + +func (s *IfExistsContext) IF() antlr.TerminalNode { + return s.GetToken(RDLStatementParserIF, 0) +} + +func (s *IfExistsContext) EXISTS() antlr.TerminalNode { + return s.GetToken(RDLStatementParserEXISTS, 0) +} + +func (s *IfExistsContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *IfExistsContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *IfExistsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitIfExists(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) IfExists() (localctx IIfExistsContext) { + localctx = NewIfExistsContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 12, RDLStatementParserRULE_ifExists) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(105) + p.Match(RDLStatementParserIF) + } + { + p.SetState(106) + p.Match(RDLStatementParserEXISTS) + } + + return localctx +} + +// IIfNotExistsContext is an interface to support dynamic dispatch. +type IIfNotExistsContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsIfNotExistsContext differentiates from other interfaces. + IsIfNotExistsContext() +} + +type IfNotExistsContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyIfNotExistsContext() *IfNotExistsContext { + var p = new(IfNotExistsContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_ifNotExists + return p +} + +func (*IfNotExistsContext) IsIfNotExistsContext() {} + +func NewIfNotExistsContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IfNotExistsContext { + var p = new(IfNotExistsContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_ifNotExists + + return p +} + +func (s *IfNotExistsContext) GetParser() antlr.Parser { return s.parser } + +func (s *IfNotExistsContext) IF() antlr.TerminalNode { + return s.GetToken(RDLStatementParserIF, 0) +} + +func (s *IfNotExistsContext) NOT() antlr.TerminalNode { + return s.GetToken(RDLStatementParserNOT, 0) +} + +func (s *IfNotExistsContext) EXISTS() antlr.TerminalNode { + return s.GetToken(RDLStatementParserEXISTS, 0) +} + +func (s *IfNotExistsContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *IfNotExistsContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *IfNotExistsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitIfNotExists(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) IfNotExists() (localctx IIfNotExistsContext) { + localctx = NewIfNotExistsContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 14, RDLStatementParserRULE_ifNotExists) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(108) + p.Match(RDLStatementParserIF) + } + { + p.SetState(109) + p.Match(RDLStatementParserNOT) + } + { + p.SetState(110) + p.Match(RDLStatementParserEXISTS) + } + + return localctx +} + +// ILiteralContext is an interface to support dynamic dispatch. +type ILiteralContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsLiteralContext differentiates from other interfaces. + IsLiteralContext() +} + +type LiteralContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyLiteralContext() *LiteralContext { + var p = new(LiteralContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_literal + return p +} + +func (*LiteralContext) IsLiteralContext() {} + +func NewLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *LiteralContext { + var p = new(LiteralContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_literal + + return p +} + +func (s *LiteralContext) GetParser() antlr.Parser { return s.parser } + +func (s *LiteralContext) STRING_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSTRING_, 0) +} + +func (s *LiteralContext) INT_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserINT_, 0) +} + +func (s *LiteralContext) MINUS_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserMINUS_, 0) +} + +func (s *LiteralContext) TRUE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserTRUE, 0) +} + +func (s *LiteralContext) FALSE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserFALSE, 0) +} + +func (s *LiteralContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *LiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *LiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitLiteral(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) Literal() (localctx ILiteralContext) { + localctx = NewLiteralContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 16, RDLStatementParserRULE_literal) + var _la int + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.SetState(119) + p.GetErrorHandler().Sync(p) + + switch p.GetTokenStream().LA(1) { + case RDLStatementParserSTRING_: + p.EnterOuterAlt(localctx, 1) + { + p.SetState(112) + p.Match(RDLStatementParserSTRING_) + } + + case RDLStatementParserMINUS_, RDLStatementParserINT_: + p.EnterOuterAlt(localctx, 2) + p.SetState(114) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + if _la == RDLStatementParserMINUS_ { + { + p.SetState(113) + p.Match(RDLStatementParserMINUS_) + } + + } + { + p.SetState(116) + p.Match(RDLStatementParserINT_) + } + + case RDLStatementParserTRUE: + p.EnterOuterAlt(localctx, 3) + { + p.SetState(117) + p.Match(RDLStatementParserTRUE) + } + + case RDLStatementParserFALSE: + p.EnterOuterAlt(localctx, 4) + { + p.SetState(118) + p.Match(RDLStatementParserFALSE) + } + + default: + panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) + } + + return localctx +} + +// IAlgorithmDefinitionContext is an interface to support dynamic dispatch. +type IAlgorithmDefinitionContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsAlgorithmDefinitionContext differentiates from other interfaces. + IsAlgorithmDefinitionContext() +} + +type AlgorithmDefinitionContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyAlgorithmDefinitionContext() *AlgorithmDefinitionContext { + var p = new(AlgorithmDefinitionContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_algorithmDefinition + return p +} + +func (*AlgorithmDefinitionContext) IsAlgorithmDefinitionContext() {} + +func NewAlgorithmDefinitionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AlgorithmDefinitionContext { + var p = new(AlgorithmDefinitionContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_algorithmDefinition + + return p +} + +func (s *AlgorithmDefinitionContext) GetParser() antlr.Parser { return s.parser } + +func (s *AlgorithmDefinitionContext) TYPE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserTYPE, 0) +} + +func (s *AlgorithmDefinitionContext) LP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserLP_, 0) +} + +func (s *AlgorithmDefinitionContext) NAME() antlr.TerminalNode { + return s.GetToken(RDLStatementParserNAME, 0) +} + +func (s *AlgorithmDefinitionContext) EQ_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserEQ_, 0) +} + +func (s *AlgorithmDefinitionContext) AlgorithmTypeName() IAlgorithmTypeNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IAlgorithmTypeNameContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IAlgorithmTypeNameContext) +} + +func (s *AlgorithmDefinitionContext) RP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRP_, 0) +} + +func (s *AlgorithmDefinitionContext) COMMA_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, 0) +} + +func (s *AlgorithmDefinitionContext) PropertiesDefinition() IPropertiesDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IPropertiesDefinitionContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IPropertiesDefinitionContext) +} + +func (s *AlgorithmDefinitionContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *AlgorithmDefinitionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *AlgorithmDefinitionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitAlgorithmDefinition(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) AlgorithmDefinition() (localctx IAlgorithmDefinitionContext) { + localctx = NewAlgorithmDefinitionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 18, RDLStatementParserRULE_algorithmDefinition) + var _la int + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(121) + p.Match(RDLStatementParserTYPE) + } + { + p.SetState(122) + p.Match(RDLStatementParserLP_) + } + { + p.SetState(123) + p.Match(RDLStatementParserNAME) + } + { + p.SetState(124) + p.Match(RDLStatementParserEQ_) + } + { + p.SetState(125) + p.AlgorithmTypeName() + } + p.SetState(128) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + if _la == RDLStatementParserCOMMA_ { + { + p.SetState(126) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(127) + p.PropertiesDefinition() + } + + } + { + p.SetState(130) + p.Match(RDLStatementParserRP_) + } + + return localctx +} + +// IAlgorithmTypeNameContext is an interface to support dynamic dispatch. +type IAlgorithmTypeNameContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsAlgorithmTypeNameContext differentiates from other interfaces. + IsAlgorithmTypeNameContext() +} + +type AlgorithmTypeNameContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyAlgorithmTypeNameContext() *AlgorithmTypeNameContext { + var p = new(AlgorithmTypeNameContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_algorithmTypeName + return p +} + +func (*AlgorithmTypeNameContext) IsAlgorithmTypeNameContext() {} + +func NewAlgorithmTypeNameContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AlgorithmTypeNameContext { + var p = new(AlgorithmTypeNameContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_algorithmTypeName + + return p +} + +func (s *AlgorithmTypeNameContext) GetParser() antlr.Parser { return s.parser } + +func (s *AlgorithmTypeNameContext) STRING_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSTRING_, 0) +} + +func (s *AlgorithmTypeNameContext) BuildInMaskAlgorithmType() IBuildInMaskAlgorithmTypeContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IBuildInMaskAlgorithmTypeContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IBuildInMaskAlgorithmTypeContext) +} + +func (s *AlgorithmTypeNameContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *AlgorithmTypeNameContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *AlgorithmTypeNameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitAlgorithmTypeName(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) AlgorithmTypeName() (localctx IAlgorithmTypeNameContext) { + localctx = NewAlgorithmTypeNameContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 20, RDLStatementParserRULE_algorithmTypeName) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.SetState(134) + p.GetErrorHandler().Sync(p) + + switch p.GetTokenStream().LA(1) { + case RDLStatementParserSTRING_: + p.EnterOuterAlt(localctx, 1) + { + p.SetState(132) + p.Match(RDLStatementParserSTRING_) + } + + case RDLStatementParserMD5, RDLStatementParserKEEP_FIRST_N_LAST_M, RDLStatementParserKEEP_FROM_X_TO_Y, RDLStatementParserMASK_FIRST_N_LAST_M, RDLStatementParserMASK_FROM_X_TO_Y, RDLStatementParserMASK_BEFORE_SPECIAL_CHARS, RDLStatementParserMASK_AFTER_SPECIAL_CHARS, RDLStatementParserPERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE, RDLStatementParserMILITARY_IDENTITY_NUMBER_RANDOM_REPLACE, RDLStatementParserLANDLINE_NUMBER_RANDOM_REPLACE, RDLStatementParserTELEPHONE_RANDOM_REPLACE, RDLStatementParserUNIFIED_CREDIT_CODE_RANDOM_REPLACE, RDLStatementParserGENERIC_TABLE_RANDOM_REPLACE: + p.EnterOuterAlt(localctx, 2) + { + p.SetState(133) + p.BuildInMaskAlgorithmType() + } + + default: + panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) + } + + return localctx +} + +// IBuildInMaskAlgorithmTypeContext is an interface to support dynamic dispatch. +type IBuildInMaskAlgorithmTypeContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsBuildInMaskAlgorithmTypeContext differentiates from other interfaces. + IsBuildInMaskAlgorithmTypeContext() +} + +type BuildInMaskAlgorithmTypeContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyBuildInMaskAlgorithmTypeContext() *BuildInMaskAlgorithmTypeContext { + var p = new(BuildInMaskAlgorithmTypeContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_buildInMaskAlgorithmType + return p +} + +func (*BuildInMaskAlgorithmTypeContext) IsBuildInMaskAlgorithmTypeContext() {} + +func NewBuildInMaskAlgorithmTypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BuildInMaskAlgorithmTypeContext { + var p = new(BuildInMaskAlgorithmTypeContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_buildInMaskAlgorithmType + + return p +} + +func (s *BuildInMaskAlgorithmTypeContext) GetParser() antlr.Parser { return s.parser } + +func (s *BuildInMaskAlgorithmTypeContext) MD5() antlr.TerminalNode { + return s.GetToken(RDLStatementParserMD5, 0) +} + +func (s *BuildInMaskAlgorithmTypeContext) KEEP_FIRST_N_LAST_M() antlr.TerminalNode { + return s.GetToken(RDLStatementParserKEEP_FIRST_N_LAST_M, 0) +} + +func (s *BuildInMaskAlgorithmTypeContext) KEEP_FROM_X_TO_Y() antlr.TerminalNode { + return s.GetToken(RDLStatementParserKEEP_FROM_X_TO_Y, 0) +} + +func (s *BuildInMaskAlgorithmTypeContext) MASK_FIRST_N_LAST_M() antlr.TerminalNode { + return s.GetToken(RDLStatementParserMASK_FIRST_N_LAST_M, 0) +} + +func (s *BuildInMaskAlgorithmTypeContext) MASK_FROM_X_TO_Y() antlr.TerminalNode { + return s.GetToken(RDLStatementParserMASK_FROM_X_TO_Y, 0) +} + +func (s *BuildInMaskAlgorithmTypeContext) MASK_BEFORE_SPECIAL_CHARS() antlr.TerminalNode { + return s.GetToken(RDLStatementParserMASK_BEFORE_SPECIAL_CHARS, 0) +} + +func (s *BuildInMaskAlgorithmTypeContext) MASK_AFTER_SPECIAL_CHARS() antlr.TerminalNode { + return s.GetToken(RDLStatementParserMASK_AFTER_SPECIAL_CHARS, 0) +} + +func (s *BuildInMaskAlgorithmTypeContext) PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserPERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE, 0) +} + +func (s *BuildInMaskAlgorithmTypeContext) MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserMILITARY_IDENTITY_NUMBER_RANDOM_REPLACE, 0) +} + +func (s *BuildInMaskAlgorithmTypeContext) LANDLINE_NUMBER_RANDOM_REPLACE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserLANDLINE_NUMBER_RANDOM_REPLACE, 0) +} + +func (s *BuildInMaskAlgorithmTypeContext) TELEPHONE_RANDOM_REPLACE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserTELEPHONE_RANDOM_REPLACE, 0) +} + +func (s *BuildInMaskAlgorithmTypeContext) UNIFIED_CREDIT_CODE_RANDOM_REPLACE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserUNIFIED_CREDIT_CODE_RANDOM_REPLACE, 0) +} + +func (s *BuildInMaskAlgorithmTypeContext) GENERIC_TABLE_RANDOM_REPLACE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserGENERIC_TABLE_RANDOM_REPLACE, 0) +} + +func (s *BuildInMaskAlgorithmTypeContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *BuildInMaskAlgorithmTypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *BuildInMaskAlgorithmTypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitBuildInMaskAlgorithmType(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) BuildInMaskAlgorithmType() (localctx IBuildInMaskAlgorithmTypeContext) { + localctx = NewBuildInMaskAlgorithmTypeContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 22, RDLStatementParserRULE_buildInMaskAlgorithmType) + var _la int + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(136) + _la = p.GetTokenStream().LA(1) + + if !(((_la-64)&-(0x1f+1)) == 0 && ((1<>'", "'^'", + "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", + "'=='", "'='", "", "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", "'{'", + "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", "';'", + "'->>'", "'_'", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'", +} + +var lexerSymbolicNames = []string{ + "", "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", + "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", + "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", + "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", "RBE_", + "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", "SEMI_", + "JSONSEPARATOR_", "UL_", "WS", "TRUE", "FALSE", "CREATE", "ALTER", "DROP", + "SHOW", "RULE", "FROM", "READWRITE_SPLITTING", "WRITE_STORAGE_UNIT", "READ_STORAGE_UNITS", + "TRANSACTIONAL_READ_QUERY_STRATEGY", "TYPE", "NAME", "PROPERTIES", "RULES", + "RESOURCES", "STATUS", "ENABLE", "DISABLE", "READ", "IF", "EXISTS", "COUNT", + "ROUND_ROBIN", "RANDOM", "WEIGHT", "NOT", "FOR_GENERATOR", "IDENTIFIER_", + "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_", +} + +var lexerRuleNames = []string{ + "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", + "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", + "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", + "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", "RBE_", + "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", "SEMI_", + "JSONSEPARATOR_", "UL_", "WS", "TRUE", "FALSE", "CREATE", "ALTER", "DROP", + "SHOW", "RULE", "FROM", "READWRITE_SPLITTING", "WRITE_STORAGE_UNIT", "READ_STORAGE_UNITS", + "TRANSACTIONAL_READ_QUERY_STRATEGY", "TYPE", "NAME", "PROPERTIES", "RULES", + "RESOURCES", "STATUS", "ENABLE", "DISABLE", "READ", "IF", "EXISTS", "COUNT", + "ROUND_ROBIN", "RANDOM", "WEIGHT", "NOT", "FOR_GENERATOR", "A", "B", "C", + "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", + "S", "T", "U", "V", "W", "X", "Y", "Z", "IDENTIFIER_", "STRING_", "INT_", + "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_", +} + +type RDLStatementLexer struct { + *antlr.BaseLexer + channelNames []string + modeNames []string + // TODO: EOF string +} + +var lexerDecisionToDFA = make([]*antlr.DFA, len(lexerAtn.DecisionToState)) + +func init() { + for index, ds := range lexerAtn.DecisionToState { + lexerDecisionToDFA[index] = antlr.NewDFA(ds, index) + } +} + +func NewRDLStatementLexer(input antlr.CharStream) *RDLStatementLexer { + + l := new(RDLStatementLexer) + + l.BaseLexer = antlr.NewBaseLexer(input) + l.Interpreter = antlr.NewLexerATNSimulator(l, lexerAtn, lexerDecisionToDFA, antlr.NewPredictionContextCache()) + + l.channelNames = lexerChannelNames + l.modeNames = lexerModeNames + l.RuleNames = lexerRuleNames + l.LiteralNames = lexerLiteralNames + l.SymbolicNames = lexerSymbolicNames + l.GrammarFileName = "RDLStatement.g4" + // TODO: l.EOF = antlr.TokenEOF + + return l +} + +// RDLStatementLexer tokens. +const ( + RDLStatementLexerAND_ = 1 + RDLStatementLexerOR_ = 2 + RDLStatementLexerNOT_ = 3 + RDLStatementLexerTILDE_ = 4 + RDLStatementLexerVERTICALBAR_ = 5 + RDLStatementLexerAMPERSAND_ = 6 + RDLStatementLexerSIGNEDLEFTSHIFT_ = 7 + RDLStatementLexerSIGNEDRIGHTSHIFT_ = 8 + RDLStatementLexerCARET_ = 9 + RDLStatementLexerMOD_ = 10 + RDLStatementLexerCOLON_ = 11 + RDLStatementLexerPLUS_ = 12 + RDLStatementLexerMINUS_ = 13 + RDLStatementLexerASTERISK_ = 14 + RDLStatementLexerSLASH_ = 15 + RDLStatementLexerBACKSLASH_ = 16 + RDLStatementLexerDOT_ = 17 + RDLStatementLexerDOTASTERISK_ = 18 + RDLStatementLexerSAFEEQ_ = 19 + RDLStatementLexerDEQ_ = 20 + RDLStatementLexerEQ_ = 21 + RDLStatementLexerNEQ_ = 22 + RDLStatementLexerGT_ = 23 + RDLStatementLexerGTE_ = 24 + RDLStatementLexerLT_ = 25 + RDLStatementLexerLTE_ = 26 + RDLStatementLexerPOUND_ = 27 + RDLStatementLexerLP_ = 28 + RDLStatementLexerRP_ = 29 + RDLStatementLexerLBE_ = 30 + RDLStatementLexerRBE_ = 31 + RDLStatementLexerLBT_ = 32 + RDLStatementLexerRBT_ = 33 + RDLStatementLexerCOMMA_ = 34 + RDLStatementLexerDQ_ = 35 + RDLStatementLexerSQ_ = 36 + RDLStatementLexerBQ_ = 37 + RDLStatementLexerQUESTION_ = 38 + RDLStatementLexerAT_ = 39 + RDLStatementLexerSEMI_ = 40 + RDLStatementLexerJSONSEPARATOR_ = 41 + RDLStatementLexerUL_ = 42 + RDLStatementLexerWS = 43 + RDLStatementLexerTRUE = 44 + RDLStatementLexerFALSE = 45 + RDLStatementLexerCREATE = 46 + RDLStatementLexerALTER = 47 + RDLStatementLexerDROP = 48 + RDLStatementLexerSHOW = 49 + RDLStatementLexerRULE = 50 + RDLStatementLexerFROM = 51 + RDLStatementLexerREADWRITE_SPLITTING = 52 + RDLStatementLexerWRITE_STORAGE_UNIT = 53 + RDLStatementLexerREAD_STORAGE_UNITS = 54 + RDLStatementLexerTRANSACTIONAL_READ_QUERY_STRATEGY = 55 + RDLStatementLexerTYPE = 56 + RDLStatementLexerNAME = 57 + RDLStatementLexerPROPERTIES = 58 + RDLStatementLexerRULES = 59 + RDLStatementLexerRESOURCES = 60 + RDLStatementLexerSTATUS = 61 + RDLStatementLexerENABLE = 62 + RDLStatementLexerDISABLE = 63 + RDLStatementLexerREAD = 64 + RDLStatementLexerIF = 65 + RDLStatementLexerEXISTS = 66 + RDLStatementLexerCOUNT = 67 + RDLStatementLexerROUND_ROBIN = 68 + RDLStatementLexerRANDOM = 69 + RDLStatementLexerWEIGHT = 70 + RDLStatementLexerNOT = 71 + RDLStatementLexerFOR_GENERATOR = 72 + RDLStatementLexerIDENTIFIER_ = 73 + RDLStatementLexerSTRING_ = 74 + RDLStatementLexerINT_ = 75 + RDLStatementLexerHEX_ = 76 + RDLStatementLexerNUMBER_ = 77 + RDLStatementLexerHEXDIGIT_ = 78 + RDLStatementLexerBITNUM_ = 79 +) diff --git a/shardingsphere-operator/pkg/distsql/visitor_parser/read_write_splitting/rdlstatement_parser.go b/shardingsphere-operator/pkg/distsql/visitor_parser/read_write_splitting/rdlstatement_parser.go new file mode 100644 index 00000000..b805a549 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/visitor_parser/read_write_splitting/rdlstatement_parser.go @@ -0,0 +1,3238 @@ +// Code generated from RDLStatement.g4 by ANTLR 4.8. DO NOT EDIT. + +package parser // RDLStatement + +import ( + "fmt" + "reflect" + "strconv" + + "github.com/antlr/antlr4/runtime/Go/antlr" +) + +// Suppress unused import errors +var _ = fmt.Printf +var _ = reflect.Copy +var _ = strconv.Itoa + +var parserATN = []uint16{ + 3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 81, 192, + 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, 3, 2, 3, 2, 3, 2, 3, 2, 5, 2, 55, 10, 2, 3, + 2, 3, 2, 3, 2, 7, 2, 60, 10, 2, 12, 2, 14, 2, 63, 11, 2, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 7, 3, 71, 10, 3, 12, 3, 14, 3, 74, 11, 3, 3, 4, 3, + 4, 3, 4, 3, 4, 5, 4, 80, 10, 4, 3, 4, 3, 4, 3, 4, 7, 4, 85, 10, 4, 12, + 4, 14, 4, 88, 11, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 5, 5, 95, 10, 5, 3, + 5, 3, 5, 5, 5, 99, 10, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, + 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, + 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 7, 12, 127, 10, 12, 12, + 12, 14, 12, 130, 11, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, + 3, 15, 3, 15, 3, 16, 3, 16, 5, 16, 143, 10, 16, 3, 16, 3, 16, 3, 16, 5, + 16, 148, 10, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 5, 17, + 157, 10, 17, 3, 17, 3, 17, 3, 18, 3, 18, 5, 18, 163, 10, 18, 3, 19, 3, + 19, 3, 20, 3, 20, 3, 20, 5, 20, 170, 10, 20, 3, 20, 3, 20, 3, 21, 3, 21, + 3, 21, 7, 21, 177, 10, 21, 12, 21, 14, 21, 180, 11, 21, 3, 22, 3, 22, 3, + 22, 3, 22, 3, 23, 3, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 2, 2, 26, 2, + 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, + 42, 44, 46, 48, 2, 3, 3, 2, 70, 72, 2, 183, 2, 50, 3, 2, 2, 2, 4, 64, 3, + 2, 2, 2, 6, 75, 3, 2, 2, 2, 8, 89, 3, 2, 2, 2, 10, 102, 3, 2, 2, 2, 12, + 106, 3, 2, 2, 2, 14, 108, 3, 2, 2, 2, 16, 112, 3, 2, 2, 2, 18, 117, 3, + 2, 2, 2, 20, 121, 3, 2, 2, 2, 22, 123, 3, 2, 2, 2, 24, 131, 3, 2, 2, 2, + 26, 133, 3, 2, 2, 2, 28, 136, 3, 2, 2, 2, 30, 147, 3, 2, 2, 2, 32, 149, + 3, 2, 2, 2, 34, 162, 3, 2, 2, 2, 36, 164, 3, 2, 2, 2, 38, 166, 3, 2, 2, + 2, 40, 173, 3, 2, 2, 2, 42, 181, 3, 2, 2, 2, 44, 185, 3, 2, 2, 2, 46, 187, + 3, 2, 2, 2, 48, 189, 3, 2, 2, 2, 50, 51, 7, 48, 2, 2, 51, 52, 7, 54, 2, + 2, 52, 54, 7, 52, 2, 2, 53, 55, 5, 28, 15, 2, 54, 53, 3, 2, 2, 2, 54, 55, + 3, 2, 2, 2, 55, 56, 3, 2, 2, 2, 56, 61, 5, 8, 5, 2, 57, 58, 7, 36, 2, 2, + 58, 60, 5, 8, 5, 2, 59, 57, 3, 2, 2, 2, 60, 63, 3, 2, 2, 2, 61, 59, 3, + 2, 2, 2, 61, 62, 3, 2, 2, 2, 62, 3, 3, 2, 2, 2, 63, 61, 3, 2, 2, 2, 64, + 65, 7, 49, 2, 2, 65, 66, 7, 54, 2, 2, 66, 67, 7, 52, 2, 2, 67, 72, 5, 8, + 5, 2, 68, 69, 7, 36, 2, 2, 69, 71, 5, 8, 5, 2, 70, 68, 3, 2, 2, 2, 71, + 74, 3, 2, 2, 2, 72, 70, 3, 2, 2, 2, 72, 73, 3, 2, 2, 2, 73, 5, 3, 2, 2, + 2, 74, 72, 3, 2, 2, 2, 75, 76, 7, 50, 2, 2, 76, 77, 7, 54, 2, 2, 77, 79, + 7, 52, 2, 2, 78, 80, 5, 26, 14, 2, 79, 78, 3, 2, 2, 2, 79, 80, 3, 2, 2, + 2, 80, 81, 3, 2, 2, 2, 81, 86, 5, 12, 7, 2, 82, 83, 7, 36, 2, 2, 83, 85, + 5, 12, 7, 2, 84, 82, 3, 2, 2, 2, 85, 88, 3, 2, 2, 2, 86, 84, 3, 2, 2, 2, + 86, 87, 3, 2, 2, 2, 87, 7, 3, 2, 2, 2, 88, 86, 3, 2, 2, 2, 89, 90, 5, 12, + 7, 2, 90, 91, 7, 30, 2, 2, 91, 94, 5, 10, 6, 2, 92, 93, 7, 36, 2, 2, 93, + 95, 5, 18, 10, 2, 94, 92, 3, 2, 2, 2, 94, 95, 3, 2, 2, 2, 95, 98, 3, 2, + 2, 2, 96, 97, 7, 36, 2, 2, 97, 99, 5, 32, 17, 2, 98, 96, 3, 2, 2, 2, 98, + 99, 3, 2, 2, 2, 99, 100, 3, 2, 2, 2, 100, 101, 7, 31, 2, 2, 101, 9, 3, + 2, 2, 2, 102, 103, 5, 14, 8, 2, 103, 104, 7, 36, 2, 2, 104, 105, 5, 16, + 9, 2, 105, 11, 3, 2, 2, 2, 106, 107, 7, 75, 2, 2, 107, 13, 3, 2, 2, 2, + 108, 109, 7, 55, 2, 2, 109, 110, 7, 23, 2, 2, 110, 111, 5, 20, 11, 2, 111, + 15, 3, 2, 2, 2, 112, 113, 7, 56, 2, 2, 113, 114, 7, 30, 2, 2, 114, 115, + 5, 22, 12, 2, 115, 116, 7, 31, 2, 2, 116, 17, 3, 2, 2, 2, 117, 118, 7, + 57, 2, 2, 118, 119, 7, 23, 2, 2, 119, 120, 5, 24, 13, 2, 120, 19, 3, 2, + 2, 2, 121, 122, 5, 48, 25, 2, 122, 21, 3, 2, 2, 2, 123, 128, 5, 48, 25, + 2, 124, 125, 7, 36, 2, 2, 125, 127, 5, 48, 25, 2, 126, 124, 3, 2, 2, 2, + 127, 130, 3, 2, 2, 2, 128, 126, 3, 2, 2, 2, 128, 129, 3, 2, 2, 2, 129, + 23, 3, 2, 2, 2, 130, 128, 3, 2, 2, 2, 131, 132, 7, 76, 2, 2, 132, 25, 3, + 2, 2, 2, 133, 134, 7, 67, 2, 2, 134, 135, 7, 68, 2, 2, 135, 27, 3, 2, 2, + 2, 136, 137, 7, 67, 2, 2, 137, 138, 7, 73, 2, 2, 138, 139, 7, 68, 2, 2, + 139, 29, 3, 2, 2, 2, 140, 148, 7, 76, 2, 2, 141, 143, 7, 15, 2, 2, 142, + 141, 3, 2, 2, 2, 142, 143, 3, 2, 2, 2, 143, 144, 3, 2, 2, 2, 144, 148, + 7, 77, 2, 2, 145, 148, 7, 46, 2, 2, 146, 148, 7, 47, 2, 2, 147, 140, 3, + 2, 2, 2, 147, 142, 3, 2, 2, 2, 147, 145, 3, 2, 2, 2, 147, 146, 3, 2, 2, + 2, 148, 31, 3, 2, 2, 2, 149, 150, 7, 58, 2, 2, 150, 151, 7, 30, 2, 2, 151, + 152, 7, 59, 2, 2, 152, 153, 7, 23, 2, 2, 153, 156, 5, 34, 18, 2, 154, 155, + 7, 36, 2, 2, 155, 157, 5, 38, 20, 2, 156, 154, 3, 2, 2, 2, 156, 157, 3, + 2, 2, 2, 157, 158, 3, 2, 2, 2, 158, 159, 7, 31, 2, 2, 159, 33, 3, 2, 2, + 2, 160, 163, 7, 76, 2, 2, 161, 163, 5, 36, 19, 2, 162, 160, 3, 2, 2, 2, + 162, 161, 3, 2, 2, 2, 163, 35, 3, 2, 2, 2, 164, 165, 9, 2, 2, 2, 165, 37, + 3, 2, 2, 2, 166, 167, 7, 60, 2, 2, 167, 169, 7, 30, 2, 2, 168, 170, 5, + 40, 21, 2, 169, 168, 3, 2, 2, 2, 169, 170, 3, 2, 2, 2, 170, 171, 3, 2, + 2, 2, 171, 172, 7, 31, 2, 2, 172, 39, 3, 2, 2, 2, 173, 178, 5, 42, 22, + 2, 174, 175, 7, 36, 2, 2, 175, 177, 5, 42, 22, 2, 176, 174, 3, 2, 2, 2, + 177, 180, 3, 2, 2, 2, 178, 176, 3, 2, 2, 2, 178, 179, 3, 2, 2, 2, 179, + 41, 3, 2, 2, 2, 180, 178, 3, 2, 2, 2, 181, 182, 7, 76, 2, 2, 182, 183, + 7, 23, 2, 2, 183, 184, 5, 30, 16, 2, 184, 43, 3, 2, 2, 2, 185, 186, 7, + 75, 2, 2, 186, 45, 3, 2, 2, 2, 187, 188, 7, 75, 2, 2, 188, 47, 3, 2, 2, + 2, 189, 190, 7, 75, 2, 2, 190, 49, 3, 2, 2, 2, 16, 54, 61, 72, 79, 86, + 94, 98, 128, 142, 147, 156, 162, 169, 178, +} +var deserializer = antlr.NewATNDeserializer(nil) +var deserializedATN = deserializer.DeserializeFromUInt16(parserATN) + +var literalNames = []string{ + "", "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", + "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", + "'=='", "'='", "", "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", "'{'", + "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", "';'", + "'->>'", "'_'", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'", +} +var symbolicNames = []string{ + "", "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", + "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", + "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", + "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", "RBE_", + "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", "SEMI_", + "JSONSEPARATOR_", "UL_", "WS", "TRUE", "FALSE", "CREATE", "ALTER", "DROP", + "SHOW", "RULE", "FROM", "READWRITE_SPLITTING", "WRITE_STORAGE_UNIT", "READ_STORAGE_UNITS", + "TRANSACTIONAL_READ_QUERY_STRATEGY", "TYPE", "NAME", "PROPERTIES", "RULES", + "RESOURCES", "STATUS", "ENABLE", "DISABLE", "READ", "IF", "EXISTS", "COUNT", + "ROUND_ROBIN", "RANDOM", "WEIGHT", "NOT", "FOR_GENERATOR", "IDENTIFIER_", + "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_", +} + +var ruleNames = []string{ + "createReadwriteSplittingRule", "alterReadwriteSplittingRule", "dropReadwriteSplittingRule", + "readwriteSplittingRuleDefinition", "dataSourceDefinition", "ruleName", + "writeStorageUnit", "readStorageUnits", "transactionalReadQueryStrategy", + "writeStorageUnitName", "readStorageUnitsNames", "transactionalReadQueryStrategyName", + "ifExists", "ifNotExists", "literal", "algorithmDefinition", "algorithmTypeName", + "buildInReadQueryLoadBalanceAlgorithmType", "propertiesDefinition", "properties", + "property", "databaseName", "groupName", "storageUnitName", +} +var decisionToDFA = make([]*antlr.DFA, len(deserializedATN.DecisionToState)) + +func init() { + for index, ds := range deserializedATN.DecisionToState { + decisionToDFA[index] = antlr.NewDFA(ds, index) + } +} + +type RDLStatementParser struct { + *antlr.BaseParser +} + +func NewRDLStatementParser(input antlr.TokenStream) *RDLStatementParser { + this := new(RDLStatementParser) + + this.BaseParser = antlr.NewBaseParser(input) + + this.Interpreter = antlr.NewParserATNSimulator(this, deserializedATN, decisionToDFA, antlr.NewPredictionContextCache()) + this.RuleNames = ruleNames + this.LiteralNames = literalNames + this.SymbolicNames = symbolicNames + this.GrammarFileName = "RDLStatement.g4" + + return this +} + +// RDLStatementParser tokens. +const ( + RDLStatementParserEOF = antlr.TokenEOF + RDLStatementParserAND_ = 1 + RDLStatementParserOR_ = 2 + RDLStatementParserNOT_ = 3 + RDLStatementParserTILDE_ = 4 + RDLStatementParserVERTICALBAR_ = 5 + RDLStatementParserAMPERSAND_ = 6 + RDLStatementParserSIGNEDLEFTSHIFT_ = 7 + RDLStatementParserSIGNEDRIGHTSHIFT_ = 8 + RDLStatementParserCARET_ = 9 + RDLStatementParserMOD_ = 10 + RDLStatementParserCOLON_ = 11 + RDLStatementParserPLUS_ = 12 + RDLStatementParserMINUS_ = 13 + RDLStatementParserASTERISK_ = 14 + RDLStatementParserSLASH_ = 15 + RDLStatementParserBACKSLASH_ = 16 + RDLStatementParserDOT_ = 17 + RDLStatementParserDOTASTERISK_ = 18 + RDLStatementParserSAFEEQ_ = 19 + RDLStatementParserDEQ_ = 20 + RDLStatementParserEQ_ = 21 + RDLStatementParserNEQ_ = 22 + RDLStatementParserGT_ = 23 + RDLStatementParserGTE_ = 24 + RDLStatementParserLT_ = 25 + RDLStatementParserLTE_ = 26 + RDLStatementParserPOUND_ = 27 + RDLStatementParserLP_ = 28 + RDLStatementParserRP_ = 29 + RDLStatementParserLBE_ = 30 + RDLStatementParserRBE_ = 31 + RDLStatementParserLBT_ = 32 + RDLStatementParserRBT_ = 33 + RDLStatementParserCOMMA_ = 34 + RDLStatementParserDQ_ = 35 + RDLStatementParserSQ_ = 36 + RDLStatementParserBQ_ = 37 + RDLStatementParserQUESTION_ = 38 + RDLStatementParserAT_ = 39 + RDLStatementParserSEMI_ = 40 + RDLStatementParserJSONSEPARATOR_ = 41 + RDLStatementParserUL_ = 42 + RDLStatementParserWS = 43 + RDLStatementParserTRUE = 44 + RDLStatementParserFALSE = 45 + RDLStatementParserCREATE = 46 + RDLStatementParserALTER = 47 + RDLStatementParserDROP = 48 + RDLStatementParserSHOW = 49 + RDLStatementParserRULE = 50 + RDLStatementParserFROM = 51 + RDLStatementParserREADWRITE_SPLITTING = 52 + RDLStatementParserWRITE_STORAGE_UNIT = 53 + RDLStatementParserREAD_STORAGE_UNITS = 54 + RDLStatementParserTRANSACTIONAL_READ_QUERY_STRATEGY = 55 + RDLStatementParserTYPE = 56 + RDLStatementParserNAME = 57 + RDLStatementParserPROPERTIES = 58 + RDLStatementParserRULES = 59 + RDLStatementParserRESOURCES = 60 + RDLStatementParserSTATUS = 61 + RDLStatementParserENABLE = 62 + RDLStatementParserDISABLE = 63 + RDLStatementParserREAD = 64 + RDLStatementParserIF = 65 + RDLStatementParserEXISTS = 66 + RDLStatementParserCOUNT = 67 + RDLStatementParserROUND_ROBIN = 68 + RDLStatementParserRANDOM = 69 + RDLStatementParserWEIGHT = 70 + RDLStatementParserNOT = 71 + RDLStatementParserFOR_GENERATOR = 72 + RDLStatementParserIDENTIFIER_ = 73 + RDLStatementParserSTRING_ = 74 + RDLStatementParserINT_ = 75 + RDLStatementParserHEX_ = 76 + RDLStatementParserNUMBER_ = 77 + RDLStatementParserHEXDIGIT_ = 78 + RDLStatementParserBITNUM_ = 79 +) + +// RDLStatementParser rules. +const ( + RDLStatementParserRULE_createReadwriteSplittingRule = 0 + RDLStatementParserRULE_alterReadwriteSplittingRule = 1 + RDLStatementParserRULE_dropReadwriteSplittingRule = 2 + RDLStatementParserRULE_readwriteSplittingRuleDefinition = 3 + RDLStatementParserRULE_dataSourceDefinition = 4 + RDLStatementParserRULE_ruleName = 5 + RDLStatementParserRULE_writeStorageUnit = 6 + RDLStatementParserRULE_readStorageUnits = 7 + RDLStatementParserRULE_transactionalReadQueryStrategy = 8 + RDLStatementParserRULE_writeStorageUnitName = 9 + RDLStatementParserRULE_readStorageUnitsNames = 10 + RDLStatementParserRULE_transactionalReadQueryStrategyName = 11 + RDLStatementParserRULE_ifExists = 12 + RDLStatementParserRULE_ifNotExists = 13 + RDLStatementParserRULE_literal = 14 + RDLStatementParserRULE_algorithmDefinition = 15 + RDLStatementParserRULE_algorithmTypeName = 16 + RDLStatementParserRULE_buildInReadQueryLoadBalanceAlgorithmType = 17 + RDLStatementParserRULE_propertiesDefinition = 18 + RDLStatementParserRULE_properties = 19 + RDLStatementParserRULE_property = 20 + RDLStatementParserRULE_databaseName = 21 + RDLStatementParserRULE_groupName = 22 + RDLStatementParserRULE_storageUnitName = 23 +) + +// ICreateReadwriteSplittingRuleContext is an interface to support dynamic dispatch. +type ICreateReadwriteSplittingRuleContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsCreateReadwriteSplittingRuleContext differentiates from other interfaces. + IsCreateReadwriteSplittingRuleContext() +} + +type CreateReadwriteSplittingRuleContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyCreateReadwriteSplittingRuleContext() *CreateReadwriteSplittingRuleContext { + var p = new(CreateReadwriteSplittingRuleContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_createReadwriteSplittingRule + return p +} + +func (*CreateReadwriteSplittingRuleContext) IsCreateReadwriteSplittingRuleContext() {} + +func NewCreateReadwriteSplittingRuleContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CreateReadwriteSplittingRuleContext { + var p = new(CreateReadwriteSplittingRuleContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_createReadwriteSplittingRule + + return p +} + +func (s *CreateReadwriteSplittingRuleContext) GetParser() antlr.Parser { return s.parser } + +func (s *CreateReadwriteSplittingRuleContext) CREATE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserCREATE, 0) +} + +func (s *CreateReadwriteSplittingRuleContext) READWRITE_SPLITTING() antlr.TerminalNode { + return s.GetToken(RDLStatementParserREADWRITE_SPLITTING, 0) +} + +func (s *CreateReadwriteSplittingRuleContext) RULE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRULE, 0) +} + +func (s *CreateReadwriteSplittingRuleContext) AllReadwriteSplittingRuleDefinition() []IReadwriteSplittingRuleDefinitionContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IReadwriteSplittingRuleDefinitionContext)(nil)).Elem()) + var tst = make([]IReadwriteSplittingRuleDefinitionContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(IReadwriteSplittingRuleDefinitionContext) + } + } + + return tst +} + +func (s *CreateReadwriteSplittingRuleContext) ReadwriteSplittingRuleDefinition(i int) IReadwriteSplittingRuleDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IReadwriteSplittingRuleDefinitionContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(IReadwriteSplittingRuleDefinitionContext) +} + +func (s *CreateReadwriteSplittingRuleContext) IfNotExists() IIfNotExistsContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfNotExistsContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IIfNotExistsContext) +} + +func (s *CreateReadwriteSplittingRuleContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *CreateReadwriteSplittingRuleContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *CreateReadwriteSplittingRuleContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *CreateReadwriteSplittingRuleContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *CreateReadwriteSplittingRuleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitCreateReadwriteSplittingRule(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) CreateReadwriteSplittingRule() (localctx ICreateReadwriteSplittingRuleContext) { + localctx = NewCreateReadwriteSplittingRuleContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 0, RDLStatementParserRULE_createReadwriteSplittingRule) + var _la int + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(48) + p.Match(RDLStatementParserCREATE) + } + { + p.SetState(49) + p.Match(RDLStatementParserREADWRITE_SPLITTING) + } + { + p.SetState(50) + p.Match(RDLStatementParserRULE) + } + p.SetState(52) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + if _la == RDLStatementParserIF { + { + p.SetState(51) + p.IfNotExists() + } + + } + { + p.SetState(54) + p.ReadwriteSplittingRuleDefinition() + } + p.SetState(59) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(55) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(56) + p.ReadwriteSplittingRuleDefinition() + } + + p.SetState(61) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + + return localctx +} + +// IAlterReadwriteSplittingRuleContext is an interface to support dynamic dispatch. +type IAlterReadwriteSplittingRuleContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsAlterReadwriteSplittingRuleContext differentiates from other interfaces. + IsAlterReadwriteSplittingRuleContext() +} + +type AlterReadwriteSplittingRuleContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyAlterReadwriteSplittingRuleContext() *AlterReadwriteSplittingRuleContext { + var p = new(AlterReadwriteSplittingRuleContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_alterReadwriteSplittingRule + return p +} + +func (*AlterReadwriteSplittingRuleContext) IsAlterReadwriteSplittingRuleContext() {} + +func NewAlterReadwriteSplittingRuleContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AlterReadwriteSplittingRuleContext { + var p = new(AlterReadwriteSplittingRuleContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_alterReadwriteSplittingRule + + return p +} + +func (s *AlterReadwriteSplittingRuleContext) GetParser() antlr.Parser { return s.parser } + +func (s *AlterReadwriteSplittingRuleContext) ALTER() antlr.TerminalNode { + return s.GetToken(RDLStatementParserALTER, 0) +} + +func (s *AlterReadwriteSplittingRuleContext) READWRITE_SPLITTING() antlr.TerminalNode { + return s.GetToken(RDLStatementParserREADWRITE_SPLITTING, 0) +} + +func (s *AlterReadwriteSplittingRuleContext) RULE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRULE, 0) +} + +func (s *AlterReadwriteSplittingRuleContext) AllReadwriteSplittingRuleDefinition() []IReadwriteSplittingRuleDefinitionContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IReadwriteSplittingRuleDefinitionContext)(nil)).Elem()) + var tst = make([]IReadwriteSplittingRuleDefinitionContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(IReadwriteSplittingRuleDefinitionContext) + } + } + + return tst +} + +func (s *AlterReadwriteSplittingRuleContext) ReadwriteSplittingRuleDefinition(i int) IReadwriteSplittingRuleDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IReadwriteSplittingRuleDefinitionContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(IReadwriteSplittingRuleDefinitionContext) +} + +func (s *AlterReadwriteSplittingRuleContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *AlterReadwriteSplittingRuleContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *AlterReadwriteSplittingRuleContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *AlterReadwriteSplittingRuleContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *AlterReadwriteSplittingRuleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitAlterReadwriteSplittingRule(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) AlterReadwriteSplittingRule() (localctx IAlterReadwriteSplittingRuleContext) { + localctx = NewAlterReadwriteSplittingRuleContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 2, RDLStatementParserRULE_alterReadwriteSplittingRule) + var _la int + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(62) + p.Match(RDLStatementParserALTER) + } + { + p.SetState(63) + p.Match(RDLStatementParserREADWRITE_SPLITTING) + } + { + p.SetState(64) + p.Match(RDLStatementParserRULE) + } + { + p.SetState(65) + p.ReadwriteSplittingRuleDefinition() + } + p.SetState(70) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(66) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(67) + p.ReadwriteSplittingRuleDefinition() + } + + p.SetState(72) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + + return localctx +} + +// IDropReadwriteSplittingRuleContext is an interface to support dynamic dispatch. +type IDropReadwriteSplittingRuleContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsDropReadwriteSplittingRuleContext differentiates from other interfaces. + IsDropReadwriteSplittingRuleContext() +} + +type DropReadwriteSplittingRuleContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyDropReadwriteSplittingRuleContext() *DropReadwriteSplittingRuleContext { + var p = new(DropReadwriteSplittingRuleContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_dropReadwriteSplittingRule + return p +} + +func (*DropReadwriteSplittingRuleContext) IsDropReadwriteSplittingRuleContext() {} + +func NewDropReadwriteSplittingRuleContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DropReadwriteSplittingRuleContext { + var p = new(DropReadwriteSplittingRuleContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_dropReadwriteSplittingRule + + return p +} + +func (s *DropReadwriteSplittingRuleContext) GetParser() antlr.Parser { return s.parser } + +func (s *DropReadwriteSplittingRuleContext) DROP() antlr.TerminalNode { + return s.GetToken(RDLStatementParserDROP, 0) +} + +func (s *DropReadwriteSplittingRuleContext) READWRITE_SPLITTING() antlr.TerminalNode { + return s.GetToken(RDLStatementParserREADWRITE_SPLITTING, 0) +} + +func (s *DropReadwriteSplittingRuleContext) RULE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRULE, 0) +} + +func (s *DropReadwriteSplittingRuleContext) AllRuleName() []IRuleNameContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IRuleNameContext)(nil)).Elem()) + var tst = make([]IRuleNameContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(IRuleNameContext) + } + } + + return tst +} + +func (s *DropReadwriteSplittingRuleContext) RuleName(i int) IRuleNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IRuleNameContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(IRuleNameContext) +} + +func (s *DropReadwriteSplittingRuleContext) IfExists() IIfExistsContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfExistsContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IIfExistsContext) +} + +func (s *DropReadwriteSplittingRuleContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *DropReadwriteSplittingRuleContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *DropReadwriteSplittingRuleContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DropReadwriteSplittingRuleContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *DropReadwriteSplittingRuleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitDropReadwriteSplittingRule(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) DropReadwriteSplittingRule() (localctx IDropReadwriteSplittingRuleContext) { + localctx = NewDropReadwriteSplittingRuleContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 4, RDLStatementParserRULE_dropReadwriteSplittingRule) + var _la int + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(73) + p.Match(RDLStatementParserDROP) + } + { + p.SetState(74) + p.Match(RDLStatementParserREADWRITE_SPLITTING) + } + { + p.SetState(75) + p.Match(RDLStatementParserRULE) + } + p.SetState(77) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + if _la == RDLStatementParserIF { + { + p.SetState(76) + p.IfExists() + } + + } + { + p.SetState(79) + p.RuleName() + } + p.SetState(84) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(80) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(81) + p.RuleName() + } + + p.SetState(86) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + + return localctx +} + +// IReadwriteSplittingRuleDefinitionContext is an interface to support dynamic dispatch. +type IReadwriteSplittingRuleDefinitionContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsReadwriteSplittingRuleDefinitionContext differentiates from other interfaces. + IsReadwriteSplittingRuleDefinitionContext() +} + +type ReadwriteSplittingRuleDefinitionContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyReadwriteSplittingRuleDefinitionContext() *ReadwriteSplittingRuleDefinitionContext { + var p = new(ReadwriteSplittingRuleDefinitionContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_readwriteSplittingRuleDefinition + return p +} + +func (*ReadwriteSplittingRuleDefinitionContext) IsReadwriteSplittingRuleDefinitionContext() {} + +func NewReadwriteSplittingRuleDefinitionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ReadwriteSplittingRuleDefinitionContext { + var p = new(ReadwriteSplittingRuleDefinitionContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_readwriteSplittingRuleDefinition + + return p +} + +func (s *ReadwriteSplittingRuleDefinitionContext) GetParser() antlr.Parser { return s.parser } + +func (s *ReadwriteSplittingRuleDefinitionContext) RuleName() IRuleNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IRuleNameContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IRuleNameContext) +} + +func (s *ReadwriteSplittingRuleDefinitionContext) LP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserLP_, 0) +} + +func (s *ReadwriteSplittingRuleDefinitionContext) DataSourceDefinition() IDataSourceDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IDataSourceDefinitionContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IDataSourceDefinitionContext) +} + +func (s *ReadwriteSplittingRuleDefinitionContext) RP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRP_, 0) +} + +func (s *ReadwriteSplittingRuleDefinitionContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *ReadwriteSplittingRuleDefinitionContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *ReadwriteSplittingRuleDefinitionContext) TransactionalReadQueryStrategy() ITransactionalReadQueryStrategyContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*ITransactionalReadQueryStrategyContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(ITransactionalReadQueryStrategyContext) +} + +func (s *ReadwriteSplittingRuleDefinitionContext) AlgorithmDefinition() IAlgorithmDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IAlgorithmDefinitionContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IAlgorithmDefinitionContext) +} + +func (s *ReadwriteSplittingRuleDefinitionContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ReadwriteSplittingRuleDefinitionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *ReadwriteSplittingRuleDefinitionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitReadwriteSplittingRuleDefinition(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) ReadwriteSplittingRuleDefinition() (localctx IReadwriteSplittingRuleDefinitionContext) { + localctx = NewReadwriteSplittingRuleDefinitionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 6, RDLStatementParserRULE_readwriteSplittingRuleDefinition) + var _la int + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(87) + p.RuleName() + } + { + p.SetState(88) + p.Match(RDLStatementParserLP_) + } + { + p.SetState(89) + p.DataSourceDefinition() + } + p.SetState(92) + p.GetErrorHandler().Sync(p) + + if p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 5, p.GetParserRuleContext()) == 1 { + { + p.SetState(90) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(91) + p.TransactionalReadQueryStrategy() + } + + } + p.SetState(96) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + if _la == RDLStatementParserCOMMA_ { + { + p.SetState(94) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(95) + p.AlgorithmDefinition() + } + + } + { + p.SetState(98) + p.Match(RDLStatementParserRP_) + } + + return localctx +} + +// IDataSourceDefinitionContext is an interface to support dynamic dispatch. +type IDataSourceDefinitionContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsDataSourceDefinitionContext differentiates from other interfaces. + IsDataSourceDefinitionContext() +} + +type DataSourceDefinitionContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyDataSourceDefinitionContext() *DataSourceDefinitionContext { + var p = new(DataSourceDefinitionContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_dataSourceDefinition + return p +} + +func (*DataSourceDefinitionContext) IsDataSourceDefinitionContext() {} + +func NewDataSourceDefinitionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DataSourceDefinitionContext { + var p = new(DataSourceDefinitionContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_dataSourceDefinition + + return p +} + +func (s *DataSourceDefinitionContext) GetParser() antlr.Parser { return s.parser } + +func (s *DataSourceDefinitionContext) WriteStorageUnit() IWriteStorageUnitContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IWriteStorageUnitContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IWriteStorageUnitContext) +} + +func (s *DataSourceDefinitionContext) COMMA_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, 0) +} + +func (s *DataSourceDefinitionContext) ReadStorageUnits() IReadStorageUnitsContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IReadStorageUnitsContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IReadStorageUnitsContext) +} + +func (s *DataSourceDefinitionContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DataSourceDefinitionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *DataSourceDefinitionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitDataSourceDefinition(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) DataSourceDefinition() (localctx IDataSourceDefinitionContext) { + localctx = NewDataSourceDefinitionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 8, RDLStatementParserRULE_dataSourceDefinition) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(100) + p.WriteStorageUnit() + } + { + p.SetState(101) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(102) + p.ReadStorageUnits() + } + + return localctx +} + +// IRuleNameContext is an interface to support dynamic dispatch. +type IRuleNameContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsRuleNameContext differentiates from other interfaces. + IsRuleNameContext() +} + +type RuleNameContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyRuleNameContext() *RuleNameContext { + var p = new(RuleNameContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_ruleName + return p +} + +func (*RuleNameContext) IsRuleNameContext() {} + +func NewRuleNameContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *RuleNameContext { + var p = new(RuleNameContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_ruleName + + return p +} + +func (s *RuleNameContext) GetParser() antlr.Parser { return s.parser } + +func (s *RuleNameContext) IDENTIFIER_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserIDENTIFIER_, 0) +} + +func (s *RuleNameContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *RuleNameContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *RuleNameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitRuleName(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) RuleName() (localctx IRuleNameContext) { + localctx = NewRuleNameContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 10, RDLStatementParserRULE_ruleName) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(104) + p.Match(RDLStatementParserIDENTIFIER_) + } + + return localctx +} + +// IWriteStorageUnitContext is an interface to support dynamic dispatch. +type IWriteStorageUnitContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsWriteStorageUnitContext differentiates from other interfaces. + IsWriteStorageUnitContext() +} + +type WriteStorageUnitContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyWriteStorageUnitContext() *WriteStorageUnitContext { + var p = new(WriteStorageUnitContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_writeStorageUnit + return p +} + +func (*WriteStorageUnitContext) IsWriteStorageUnitContext() {} + +func NewWriteStorageUnitContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *WriteStorageUnitContext { + var p = new(WriteStorageUnitContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_writeStorageUnit + + return p +} + +func (s *WriteStorageUnitContext) GetParser() antlr.Parser { return s.parser } + +func (s *WriteStorageUnitContext) WRITE_STORAGE_UNIT() antlr.TerminalNode { + return s.GetToken(RDLStatementParserWRITE_STORAGE_UNIT, 0) +} + +func (s *WriteStorageUnitContext) EQ_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserEQ_, 0) +} + +func (s *WriteStorageUnitContext) WriteStorageUnitName() IWriteStorageUnitNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IWriteStorageUnitNameContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IWriteStorageUnitNameContext) +} + +func (s *WriteStorageUnitContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *WriteStorageUnitContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *WriteStorageUnitContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitWriteStorageUnit(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) WriteStorageUnit() (localctx IWriteStorageUnitContext) { + localctx = NewWriteStorageUnitContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 12, RDLStatementParserRULE_writeStorageUnit) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(106) + p.Match(RDLStatementParserWRITE_STORAGE_UNIT) + } + { + p.SetState(107) + p.Match(RDLStatementParserEQ_) + } + { + p.SetState(108) + p.WriteStorageUnitName() + } + + return localctx +} + +// IReadStorageUnitsContext is an interface to support dynamic dispatch. +type IReadStorageUnitsContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsReadStorageUnitsContext differentiates from other interfaces. + IsReadStorageUnitsContext() +} + +type ReadStorageUnitsContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyReadStorageUnitsContext() *ReadStorageUnitsContext { + var p = new(ReadStorageUnitsContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_readStorageUnits + return p +} + +func (*ReadStorageUnitsContext) IsReadStorageUnitsContext() {} + +func NewReadStorageUnitsContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ReadStorageUnitsContext { + var p = new(ReadStorageUnitsContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_readStorageUnits + + return p +} + +func (s *ReadStorageUnitsContext) GetParser() antlr.Parser { return s.parser } + +func (s *ReadStorageUnitsContext) READ_STORAGE_UNITS() antlr.TerminalNode { + return s.GetToken(RDLStatementParserREAD_STORAGE_UNITS, 0) +} + +func (s *ReadStorageUnitsContext) LP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserLP_, 0) +} + +func (s *ReadStorageUnitsContext) ReadStorageUnitsNames() IReadStorageUnitsNamesContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IReadStorageUnitsNamesContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IReadStorageUnitsNamesContext) +} + +func (s *ReadStorageUnitsContext) RP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRP_, 0) +} + +func (s *ReadStorageUnitsContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ReadStorageUnitsContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *ReadStorageUnitsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitReadStorageUnits(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) ReadStorageUnits() (localctx IReadStorageUnitsContext) { + localctx = NewReadStorageUnitsContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 14, RDLStatementParserRULE_readStorageUnits) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(110) + p.Match(RDLStatementParserREAD_STORAGE_UNITS) + } + { + p.SetState(111) + p.Match(RDLStatementParserLP_) + } + { + p.SetState(112) + p.ReadStorageUnitsNames() + } + { + p.SetState(113) + p.Match(RDLStatementParserRP_) + } + + return localctx +} + +// ITransactionalReadQueryStrategyContext is an interface to support dynamic dispatch. +type ITransactionalReadQueryStrategyContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsTransactionalReadQueryStrategyContext differentiates from other interfaces. + IsTransactionalReadQueryStrategyContext() +} + +type TransactionalReadQueryStrategyContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyTransactionalReadQueryStrategyContext() *TransactionalReadQueryStrategyContext { + var p = new(TransactionalReadQueryStrategyContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_transactionalReadQueryStrategy + return p +} + +func (*TransactionalReadQueryStrategyContext) IsTransactionalReadQueryStrategyContext() {} + +func NewTransactionalReadQueryStrategyContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *TransactionalReadQueryStrategyContext { + var p = new(TransactionalReadQueryStrategyContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_transactionalReadQueryStrategy + + return p +} + +func (s *TransactionalReadQueryStrategyContext) GetParser() antlr.Parser { return s.parser } + +func (s *TransactionalReadQueryStrategyContext) TRANSACTIONAL_READ_QUERY_STRATEGY() antlr.TerminalNode { + return s.GetToken(RDLStatementParserTRANSACTIONAL_READ_QUERY_STRATEGY, 0) +} + +func (s *TransactionalReadQueryStrategyContext) EQ_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserEQ_, 0) +} + +func (s *TransactionalReadQueryStrategyContext) TransactionalReadQueryStrategyName() ITransactionalReadQueryStrategyNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*ITransactionalReadQueryStrategyNameContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(ITransactionalReadQueryStrategyNameContext) +} + +func (s *TransactionalReadQueryStrategyContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *TransactionalReadQueryStrategyContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *TransactionalReadQueryStrategyContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitTransactionalReadQueryStrategy(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) TransactionalReadQueryStrategy() (localctx ITransactionalReadQueryStrategyContext) { + localctx = NewTransactionalReadQueryStrategyContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 16, RDLStatementParserRULE_transactionalReadQueryStrategy) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(115) + p.Match(RDLStatementParserTRANSACTIONAL_READ_QUERY_STRATEGY) + } + { + p.SetState(116) + p.Match(RDLStatementParserEQ_) + } + { + p.SetState(117) + p.TransactionalReadQueryStrategyName() + } + + return localctx +} + +// IWriteStorageUnitNameContext is an interface to support dynamic dispatch. +type IWriteStorageUnitNameContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsWriteStorageUnitNameContext differentiates from other interfaces. + IsWriteStorageUnitNameContext() +} + +type WriteStorageUnitNameContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyWriteStorageUnitNameContext() *WriteStorageUnitNameContext { + var p = new(WriteStorageUnitNameContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_writeStorageUnitName + return p +} + +func (*WriteStorageUnitNameContext) IsWriteStorageUnitNameContext() {} + +func NewWriteStorageUnitNameContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *WriteStorageUnitNameContext { + var p = new(WriteStorageUnitNameContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_writeStorageUnitName + + return p +} + +func (s *WriteStorageUnitNameContext) GetParser() antlr.Parser { return s.parser } + +func (s *WriteStorageUnitNameContext) StorageUnitName() IStorageUnitNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IStorageUnitNameContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IStorageUnitNameContext) +} + +func (s *WriteStorageUnitNameContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *WriteStorageUnitNameContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *WriteStorageUnitNameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitWriteStorageUnitName(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) WriteStorageUnitName() (localctx IWriteStorageUnitNameContext) { + localctx = NewWriteStorageUnitNameContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 18, RDLStatementParserRULE_writeStorageUnitName) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(119) + p.StorageUnitName() + } + + return localctx +} + +// IReadStorageUnitsNamesContext is an interface to support dynamic dispatch. +type IReadStorageUnitsNamesContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsReadStorageUnitsNamesContext differentiates from other interfaces. + IsReadStorageUnitsNamesContext() +} + +type ReadStorageUnitsNamesContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyReadStorageUnitsNamesContext() *ReadStorageUnitsNamesContext { + var p = new(ReadStorageUnitsNamesContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_readStorageUnitsNames + return p +} + +func (*ReadStorageUnitsNamesContext) IsReadStorageUnitsNamesContext() {} + +func NewReadStorageUnitsNamesContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ReadStorageUnitsNamesContext { + var p = new(ReadStorageUnitsNamesContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_readStorageUnitsNames + + return p +} + +func (s *ReadStorageUnitsNamesContext) GetParser() antlr.Parser { return s.parser } + +func (s *ReadStorageUnitsNamesContext) AllStorageUnitName() []IStorageUnitNameContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IStorageUnitNameContext)(nil)).Elem()) + var tst = make([]IStorageUnitNameContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(IStorageUnitNameContext) + } + } + + return tst +} + +func (s *ReadStorageUnitsNamesContext) StorageUnitName(i int) IStorageUnitNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IStorageUnitNameContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(IStorageUnitNameContext) +} + +func (s *ReadStorageUnitsNamesContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *ReadStorageUnitsNamesContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *ReadStorageUnitsNamesContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ReadStorageUnitsNamesContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *ReadStorageUnitsNamesContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitReadStorageUnitsNames(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) ReadStorageUnitsNames() (localctx IReadStorageUnitsNamesContext) { + localctx = NewReadStorageUnitsNamesContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 20, RDLStatementParserRULE_readStorageUnitsNames) + var _la int + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(121) + p.StorageUnitName() + } + p.SetState(126) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(122) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(123) + p.StorageUnitName() + } + + p.SetState(128) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + + return localctx +} + +// ITransactionalReadQueryStrategyNameContext is an interface to support dynamic dispatch. +type ITransactionalReadQueryStrategyNameContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsTransactionalReadQueryStrategyNameContext differentiates from other interfaces. + IsTransactionalReadQueryStrategyNameContext() +} + +type TransactionalReadQueryStrategyNameContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyTransactionalReadQueryStrategyNameContext() *TransactionalReadQueryStrategyNameContext { + var p = new(TransactionalReadQueryStrategyNameContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_transactionalReadQueryStrategyName + return p +} + +func (*TransactionalReadQueryStrategyNameContext) IsTransactionalReadQueryStrategyNameContext() {} + +func NewTransactionalReadQueryStrategyNameContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *TransactionalReadQueryStrategyNameContext { + var p = new(TransactionalReadQueryStrategyNameContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_transactionalReadQueryStrategyName + + return p +} + +func (s *TransactionalReadQueryStrategyNameContext) GetParser() antlr.Parser { return s.parser } + +func (s *TransactionalReadQueryStrategyNameContext) STRING_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSTRING_, 0) +} + +func (s *TransactionalReadQueryStrategyNameContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *TransactionalReadQueryStrategyNameContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *TransactionalReadQueryStrategyNameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitTransactionalReadQueryStrategyName(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) TransactionalReadQueryStrategyName() (localctx ITransactionalReadQueryStrategyNameContext) { + localctx = NewTransactionalReadQueryStrategyNameContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 22, RDLStatementParserRULE_transactionalReadQueryStrategyName) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(129) + p.Match(RDLStatementParserSTRING_) + } + + return localctx +} + +// IIfExistsContext is an interface to support dynamic dispatch. +type IIfExistsContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsIfExistsContext differentiates from other interfaces. + IsIfExistsContext() +} + +type IfExistsContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyIfExistsContext() *IfExistsContext { + var p = new(IfExistsContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_ifExists + return p +} + +func (*IfExistsContext) IsIfExistsContext() {} + +func NewIfExistsContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IfExistsContext { + var p = new(IfExistsContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_ifExists + + return p +} + +func (s *IfExistsContext) GetParser() antlr.Parser { return s.parser } + +func (s *IfExistsContext) IF() antlr.TerminalNode { + return s.GetToken(RDLStatementParserIF, 0) +} + +func (s *IfExistsContext) EXISTS() antlr.TerminalNode { + return s.GetToken(RDLStatementParserEXISTS, 0) +} + +func (s *IfExistsContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *IfExistsContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *IfExistsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitIfExists(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) IfExists() (localctx IIfExistsContext) { + localctx = NewIfExistsContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 24, RDLStatementParserRULE_ifExists) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(131) + p.Match(RDLStatementParserIF) + } + { + p.SetState(132) + p.Match(RDLStatementParserEXISTS) + } + + return localctx +} + +// IIfNotExistsContext is an interface to support dynamic dispatch. +type IIfNotExistsContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsIfNotExistsContext differentiates from other interfaces. + IsIfNotExistsContext() +} + +type IfNotExistsContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyIfNotExistsContext() *IfNotExistsContext { + var p = new(IfNotExistsContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_ifNotExists + return p +} + +func (*IfNotExistsContext) IsIfNotExistsContext() {} + +func NewIfNotExistsContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IfNotExistsContext { + var p = new(IfNotExistsContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_ifNotExists + + return p +} + +func (s *IfNotExistsContext) GetParser() antlr.Parser { return s.parser } + +func (s *IfNotExistsContext) IF() antlr.TerminalNode { + return s.GetToken(RDLStatementParserIF, 0) +} + +func (s *IfNotExistsContext) NOT() antlr.TerminalNode { + return s.GetToken(RDLStatementParserNOT, 0) +} + +func (s *IfNotExistsContext) EXISTS() antlr.TerminalNode { + return s.GetToken(RDLStatementParserEXISTS, 0) +} + +func (s *IfNotExistsContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *IfNotExistsContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *IfNotExistsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitIfNotExists(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) IfNotExists() (localctx IIfNotExistsContext) { + localctx = NewIfNotExistsContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 26, RDLStatementParserRULE_ifNotExists) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(134) + p.Match(RDLStatementParserIF) + } + { + p.SetState(135) + p.Match(RDLStatementParserNOT) + } + { + p.SetState(136) + p.Match(RDLStatementParserEXISTS) + } + + return localctx +} + +// ILiteralContext is an interface to support dynamic dispatch. +type ILiteralContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsLiteralContext differentiates from other interfaces. + IsLiteralContext() +} + +type LiteralContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyLiteralContext() *LiteralContext { + var p = new(LiteralContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_literal + return p +} + +func (*LiteralContext) IsLiteralContext() {} + +func NewLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *LiteralContext { + var p = new(LiteralContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_literal + + return p +} + +func (s *LiteralContext) GetParser() antlr.Parser { return s.parser } + +func (s *LiteralContext) STRING_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSTRING_, 0) +} + +func (s *LiteralContext) INT_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserINT_, 0) +} + +func (s *LiteralContext) MINUS_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserMINUS_, 0) +} + +func (s *LiteralContext) TRUE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserTRUE, 0) +} + +func (s *LiteralContext) FALSE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserFALSE, 0) +} + +func (s *LiteralContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *LiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *LiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitLiteral(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) Literal() (localctx ILiteralContext) { + localctx = NewLiteralContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 28, RDLStatementParserRULE_literal) + var _la int + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.SetState(145) + p.GetErrorHandler().Sync(p) + + switch p.GetTokenStream().LA(1) { + case RDLStatementParserSTRING_: + p.EnterOuterAlt(localctx, 1) + { + p.SetState(138) + p.Match(RDLStatementParserSTRING_) + } + + case RDLStatementParserMINUS_, RDLStatementParserINT_: + p.EnterOuterAlt(localctx, 2) + p.SetState(140) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + if _la == RDLStatementParserMINUS_ { + { + p.SetState(139) + p.Match(RDLStatementParserMINUS_) + } + + } + { + p.SetState(142) + p.Match(RDLStatementParserINT_) + } + + case RDLStatementParserTRUE: + p.EnterOuterAlt(localctx, 3) + { + p.SetState(143) + p.Match(RDLStatementParserTRUE) + } + + case RDLStatementParserFALSE: + p.EnterOuterAlt(localctx, 4) + { + p.SetState(144) + p.Match(RDLStatementParserFALSE) + } + + default: + panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) + } + + return localctx +} + +// IAlgorithmDefinitionContext is an interface to support dynamic dispatch. +type IAlgorithmDefinitionContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsAlgorithmDefinitionContext differentiates from other interfaces. + IsAlgorithmDefinitionContext() +} + +type AlgorithmDefinitionContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyAlgorithmDefinitionContext() *AlgorithmDefinitionContext { + var p = new(AlgorithmDefinitionContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_algorithmDefinition + return p +} + +func (*AlgorithmDefinitionContext) IsAlgorithmDefinitionContext() {} + +func NewAlgorithmDefinitionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AlgorithmDefinitionContext { + var p = new(AlgorithmDefinitionContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_algorithmDefinition + + return p +} + +func (s *AlgorithmDefinitionContext) GetParser() antlr.Parser { return s.parser } + +func (s *AlgorithmDefinitionContext) TYPE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserTYPE, 0) +} + +func (s *AlgorithmDefinitionContext) LP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserLP_, 0) +} + +func (s *AlgorithmDefinitionContext) NAME() antlr.TerminalNode { + return s.GetToken(RDLStatementParserNAME, 0) +} + +func (s *AlgorithmDefinitionContext) EQ_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserEQ_, 0) +} + +func (s *AlgorithmDefinitionContext) AlgorithmTypeName() IAlgorithmTypeNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IAlgorithmTypeNameContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IAlgorithmTypeNameContext) +} + +func (s *AlgorithmDefinitionContext) RP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRP_, 0) +} + +func (s *AlgorithmDefinitionContext) COMMA_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, 0) +} + +func (s *AlgorithmDefinitionContext) PropertiesDefinition() IPropertiesDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IPropertiesDefinitionContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IPropertiesDefinitionContext) +} + +func (s *AlgorithmDefinitionContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *AlgorithmDefinitionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *AlgorithmDefinitionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitAlgorithmDefinition(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) AlgorithmDefinition() (localctx IAlgorithmDefinitionContext) { + localctx = NewAlgorithmDefinitionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 30, RDLStatementParserRULE_algorithmDefinition) + var _la int + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(147) + p.Match(RDLStatementParserTYPE) + } + { + p.SetState(148) + p.Match(RDLStatementParserLP_) + } + { + p.SetState(149) + p.Match(RDLStatementParserNAME) + } + { + p.SetState(150) + p.Match(RDLStatementParserEQ_) + } + { + p.SetState(151) + p.AlgorithmTypeName() + } + p.SetState(154) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + if _la == RDLStatementParserCOMMA_ { + { + p.SetState(152) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(153) + p.PropertiesDefinition() + } + + } + { + p.SetState(156) + p.Match(RDLStatementParserRP_) + } + + return localctx +} + +// IAlgorithmTypeNameContext is an interface to support dynamic dispatch. +type IAlgorithmTypeNameContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsAlgorithmTypeNameContext differentiates from other interfaces. + IsAlgorithmTypeNameContext() +} + +type AlgorithmTypeNameContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyAlgorithmTypeNameContext() *AlgorithmTypeNameContext { + var p = new(AlgorithmTypeNameContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_algorithmTypeName + return p +} + +func (*AlgorithmTypeNameContext) IsAlgorithmTypeNameContext() {} + +func NewAlgorithmTypeNameContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AlgorithmTypeNameContext { + var p = new(AlgorithmTypeNameContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_algorithmTypeName + + return p +} + +func (s *AlgorithmTypeNameContext) GetParser() antlr.Parser { return s.parser } + +func (s *AlgorithmTypeNameContext) STRING_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSTRING_, 0) +} + +func (s *AlgorithmTypeNameContext) BuildInReadQueryLoadBalanceAlgorithmType() IBuildInReadQueryLoadBalanceAlgorithmTypeContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IBuildInReadQueryLoadBalanceAlgorithmTypeContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IBuildInReadQueryLoadBalanceAlgorithmTypeContext) +} + +func (s *AlgorithmTypeNameContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *AlgorithmTypeNameContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *AlgorithmTypeNameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitAlgorithmTypeName(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) AlgorithmTypeName() (localctx IAlgorithmTypeNameContext) { + localctx = NewAlgorithmTypeNameContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 32, RDLStatementParserRULE_algorithmTypeName) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.SetState(160) + p.GetErrorHandler().Sync(p) + + switch p.GetTokenStream().LA(1) { + case RDLStatementParserSTRING_: + p.EnterOuterAlt(localctx, 1) + { + p.SetState(158) + p.Match(RDLStatementParserSTRING_) + } + + case RDLStatementParserROUND_ROBIN, RDLStatementParserRANDOM, RDLStatementParserWEIGHT: + p.EnterOuterAlt(localctx, 2) + { + p.SetState(159) + p.BuildInReadQueryLoadBalanceAlgorithmType() + } + + default: + panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) + } + + return localctx +} + +// IBuildInReadQueryLoadBalanceAlgorithmTypeContext is an interface to support dynamic dispatch. +type IBuildInReadQueryLoadBalanceAlgorithmTypeContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsBuildInReadQueryLoadBalanceAlgorithmTypeContext differentiates from other interfaces. + IsBuildInReadQueryLoadBalanceAlgorithmTypeContext() +} + +type BuildInReadQueryLoadBalanceAlgorithmTypeContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyBuildInReadQueryLoadBalanceAlgorithmTypeContext() *BuildInReadQueryLoadBalanceAlgorithmTypeContext { + var p = new(BuildInReadQueryLoadBalanceAlgorithmTypeContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_buildInReadQueryLoadBalanceAlgorithmType + return p +} + +func (*BuildInReadQueryLoadBalanceAlgorithmTypeContext) IsBuildInReadQueryLoadBalanceAlgorithmTypeContext() { +} + +func NewBuildInReadQueryLoadBalanceAlgorithmTypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BuildInReadQueryLoadBalanceAlgorithmTypeContext { + var p = new(BuildInReadQueryLoadBalanceAlgorithmTypeContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_buildInReadQueryLoadBalanceAlgorithmType + + return p +} + +func (s *BuildInReadQueryLoadBalanceAlgorithmTypeContext) GetParser() antlr.Parser { return s.parser } + +func (s *BuildInReadQueryLoadBalanceAlgorithmTypeContext) ROUND_ROBIN() antlr.TerminalNode { + return s.GetToken(RDLStatementParserROUND_ROBIN, 0) +} + +func (s *BuildInReadQueryLoadBalanceAlgorithmTypeContext) RANDOM() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRANDOM, 0) +} + +func (s *BuildInReadQueryLoadBalanceAlgorithmTypeContext) WEIGHT() antlr.TerminalNode { + return s.GetToken(RDLStatementParserWEIGHT, 0) +} + +func (s *BuildInReadQueryLoadBalanceAlgorithmTypeContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *BuildInReadQueryLoadBalanceAlgorithmTypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *BuildInReadQueryLoadBalanceAlgorithmTypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitBuildInReadQueryLoadBalanceAlgorithmType(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) BuildInReadQueryLoadBalanceAlgorithmType() (localctx IBuildInReadQueryLoadBalanceAlgorithmTypeContext) { + localctx = NewBuildInReadQueryLoadBalanceAlgorithmTypeContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 34, RDLStatementParserRULE_buildInReadQueryLoadBalanceAlgorithmType) + var _la int + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(162) + _la = p.GetTokenStream().LA(1) + + if !(((_la-68)&-(0x1f+1)) == 0 && ((1<>'", "'^'", + "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", + "'=='", "'='", "", "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", "'{'", + "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", "';'", + "'->>'", "'_'", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'", +} + +var lexerSymbolicNames = []string{ + "", "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", + "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", + "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", + "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", "RBE_", + "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", "SEMI_", + "JSONSEPARATOR_", "UL_", "WS", "TRUE", "FALSE", "CREATE", "ALTER", "DROP", + "SHOW", "SHADOW", "SOURCE", "RULE", "FROM", "RESOURCES", "TABLE", "TYPE", + "NAME", "PROPERTIES", "RULES", "ALGORITHM", "ALGORITHMS", "SET", "ADD", + "DATABASE_VALUE", "TABLE_VALUE", "STATUS", "CLEAR", "DEFAULT", "IF", "EXISTS", + "COUNT", "VALUE_MATCH", "REGEX_MATCH", "SQL_HINT", "NOT", "FOR_GENERATOR", + "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_", + "BOOL_", +} + +var lexerRuleNames = []string{ + "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", + "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", + "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", + "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", "RBE_", + "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", "SEMI_", + "JSONSEPARATOR_", "UL_", "WS", "TRUE", "FALSE", "CREATE", "ALTER", "DROP", + "SHOW", "SHADOW", "SOURCE", "RULE", "FROM", "RESOURCES", "TABLE", "TYPE", + "NAME", "PROPERTIES", "RULES", "ALGORITHM", "ALGORITHMS", "SET", "ADD", + "DATABASE_VALUE", "TABLE_VALUE", "STATUS", "CLEAR", "DEFAULT", "IF", "EXISTS", + "COUNT", "VALUE_MATCH", "REGEX_MATCH", "SQL_HINT", "NOT", "FOR_GENERATOR", + "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", + "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "IDENTIFIER_", "STRING_", + "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_", "BOOL_", +} + +type RDLStatementLexer struct { + *antlr.BaseLexer + channelNames []string + modeNames []string + // TODO: EOF string +} + +var lexerDecisionToDFA = make([]*antlr.DFA, len(lexerAtn.DecisionToState)) + +func init() { + for index, ds := range lexerAtn.DecisionToState { + lexerDecisionToDFA[index] = antlr.NewDFA(ds, index) + } +} + +func NewRDLStatementLexer(input antlr.CharStream) *RDLStatementLexer { + + l := new(RDLStatementLexer) + + l.BaseLexer = antlr.NewBaseLexer(input) + l.Interpreter = antlr.NewLexerATNSimulator(l, lexerAtn, lexerDecisionToDFA, antlr.NewPredictionContextCache()) + + l.channelNames = lexerChannelNames + l.modeNames = lexerModeNames + l.RuleNames = lexerRuleNames + l.LiteralNames = lexerLiteralNames + l.SymbolicNames = lexerSymbolicNames + l.GrammarFileName = "RDLStatement.g4" + // TODO: l.EOF = antlr.TokenEOF + + return l +} + +// RDLStatementLexer tokens. +const ( + RDLStatementLexerAND_ = 1 + RDLStatementLexerOR_ = 2 + RDLStatementLexerNOT_ = 3 + RDLStatementLexerTILDE_ = 4 + RDLStatementLexerVERTICALBAR_ = 5 + RDLStatementLexerAMPERSAND_ = 6 + RDLStatementLexerSIGNEDLEFTSHIFT_ = 7 + RDLStatementLexerSIGNEDRIGHTSHIFT_ = 8 + RDLStatementLexerCARET_ = 9 + RDLStatementLexerMOD_ = 10 + RDLStatementLexerCOLON_ = 11 + RDLStatementLexerPLUS_ = 12 + RDLStatementLexerMINUS_ = 13 + RDLStatementLexerASTERISK_ = 14 + RDLStatementLexerSLASH_ = 15 + RDLStatementLexerBACKSLASH_ = 16 + RDLStatementLexerDOT_ = 17 + RDLStatementLexerDOTASTERISK_ = 18 + RDLStatementLexerSAFEEQ_ = 19 + RDLStatementLexerDEQ_ = 20 + RDLStatementLexerEQ_ = 21 + RDLStatementLexerNEQ_ = 22 + RDLStatementLexerGT_ = 23 + RDLStatementLexerGTE_ = 24 + RDLStatementLexerLT_ = 25 + RDLStatementLexerLTE_ = 26 + RDLStatementLexerPOUND_ = 27 + RDLStatementLexerLP_ = 28 + RDLStatementLexerRP_ = 29 + RDLStatementLexerLBE_ = 30 + RDLStatementLexerRBE_ = 31 + RDLStatementLexerLBT_ = 32 + RDLStatementLexerRBT_ = 33 + RDLStatementLexerCOMMA_ = 34 + RDLStatementLexerDQ_ = 35 + RDLStatementLexerSQ_ = 36 + RDLStatementLexerBQ_ = 37 + RDLStatementLexerQUESTION_ = 38 + RDLStatementLexerAT_ = 39 + RDLStatementLexerSEMI_ = 40 + RDLStatementLexerJSONSEPARATOR_ = 41 + RDLStatementLexerUL_ = 42 + RDLStatementLexerWS = 43 + RDLStatementLexerTRUE = 44 + RDLStatementLexerFALSE = 45 + RDLStatementLexerCREATE = 46 + RDLStatementLexerALTER = 47 + RDLStatementLexerDROP = 48 + RDLStatementLexerSHOW = 49 + RDLStatementLexerSHADOW = 50 + RDLStatementLexerSOURCE = 51 + RDLStatementLexerRULE = 52 + RDLStatementLexerFROM = 53 + RDLStatementLexerRESOURCES = 54 + RDLStatementLexerTABLE = 55 + RDLStatementLexerTYPE = 56 + RDLStatementLexerNAME = 57 + RDLStatementLexerPROPERTIES = 58 + RDLStatementLexerRULES = 59 + RDLStatementLexerALGORITHM = 60 + RDLStatementLexerALGORITHMS = 61 + RDLStatementLexerSET = 62 + RDLStatementLexerADD = 63 + RDLStatementLexerDATABASE_VALUE = 64 + RDLStatementLexerTABLE_VALUE = 65 + RDLStatementLexerSTATUS = 66 + RDLStatementLexerCLEAR = 67 + RDLStatementLexerDEFAULT = 68 + RDLStatementLexerIF = 69 + RDLStatementLexerEXISTS = 70 + RDLStatementLexerCOUNT = 71 + RDLStatementLexerVALUE_MATCH = 72 + RDLStatementLexerREGEX_MATCH = 73 + RDLStatementLexerSQL_HINT = 74 + RDLStatementLexerNOT = 75 + RDLStatementLexerFOR_GENERATOR = 76 + RDLStatementLexerIDENTIFIER_ = 77 + RDLStatementLexerSTRING_ = 78 + RDLStatementLexerINT_ = 79 + RDLStatementLexerHEX_ = 80 + RDLStatementLexerNUMBER_ = 81 + RDLStatementLexerHEXDIGIT_ = 82 + RDLStatementLexerBITNUM_ = 83 + RDLStatementLexerBOOL_ = 84 +) diff --git a/shardingsphere-operator/pkg/distsql/visitor_parser/shadow/rdlstatement_parser.go b/shardingsphere-operator/pkg/distsql/visitor_parser/shadow/rdlstatement_parser.go new file mode 100644 index 00000000..cb384585 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/visitor_parser/shadow/rdlstatement_parser.go @@ -0,0 +1,3372 @@ +// Code generated from RDLStatement.g4 by ANTLR 4.8. DO NOT EDIT. + +package parser // RDLStatement + +import ( + "fmt" + "reflect" + "strconv" + + "github.com/antlr/antlr4/runtime/Go/antlr" +) + +// Suppress unused import errors +var _ = fmt.Printf +var _ = reflect.Copy +var _ = strconv.Itoa + +var parserATN = []uint16{ + 3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 86, 218, + 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, 3, 2, 3, 2, 3, 2, 3, 2, 5, 2, 53, 10, 2, 3, 2, 3, 2, 3, 2, + 7, 2, 58, 10, 2, 12, 2, 14, 2, 61, 11, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 7, 3, 69, 10, 3, 12, 3, 14, 3, 72, 11, 3, 3, 4, 3, 4, 3, 4, 3, 4, + 5, 4, 78, 10, 4, 3, 4, 3, 4, 3, 4, 7, 4, 83, 10, 4, 12, 4, 14, 4, 86, 11, + 4, 3, 5, 3, 5, 3, 5, 3, 5, 5, 5, 92, 10, 5, 3, 5, 3, 5, 3, 5, 7, 5, 97, + 10, 5, 12, 5, 14, 5, 100, 11, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 5, 6, 107, + 10, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 5, 7, 116, 10, 7, 3, 8, + 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, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 7, 9, 137, 10, 9, 12, 9, 14, 9, 140, + 11, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 7, 10, 149, 10, 10, + 12, 10, 14, 10, 152, 11, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, + 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 3, + 16, 3, 17, 3, 17, 5, 17, 173, 10, 17, 3, 17, 3, 17, 3, 17, 5, 17, 178, + 10, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 5, 18, 187, 10, + 18, 3, 18, 3, 18, 3, 19, 3, 19, 5, 19, 193, 10, 19, 3, 20, 3, 20, 3, 21, + 3, 21, 3, 21, 5, 21, 200, 10, 21, 3, 21, 3, 21, 3, 22, 3, 22, 3, 22, 7, + 22, 207, 10, 22, 12, 22, 14, 22, 210, 11, 22, 3, 23, 3, 23, 3, 23, 3, 23, + 3, 24, 3, 24, 3, 24, 2, 2, 25, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, + 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 2, 3, 3, 2, 74, 76, 2, + 213, 2, 48, 3, 2, 2, 2, 4, 62, 3, 2, 2, 2, 6, 73, 3, 2, 2, 2, 8, 87, 3, + 2, 2, 2, 10, 101, 3, 2, 2, 2, 12, 110, 3, 2, 2, 2, 14, 117, 3, 2, 2, 2, + 16, 123, 3, 2, 2, 2, 18, 143, 3, 2, 2, 2, 20, 155, 3, 2, 2, 2, 22, 157, + 3, 2, 2, 2, 24, 159, 3, 2, 2, 2, 26, 161, 3, 2, 2, 2, 28, 163, 3, 2, 2, + 2, 30, 166, 3, 2, 2, 2, 32, 177, 3, 2, 2, 2, 34, 179, 3, 2, 2, 2, 36, 192, + 3, 2, 2, 2, 38, 194, 3, 2, 2, 2, 40, 196, 3, 2, 2, 2, 42, 203, 3, 2, 2, + 2, 44, 211, 3, 2, 2, 2, 46, 215, 3, 2, 2, 2, 48, 49, 7, 48, 2, 2, 49, 50, + 7, 52, 2, 2, 50, 52, 7, 54, 2, 2, 51, 53, 5, 30, 16, 2, 52, 51, 3, 2, 2, + 2, 52, 53, 3, 2, 2, 2, 53, 54, 3, 2, 2, 2, 54, 59, 5, 16, 9, 2, 55, 56, + 7, 36, 2, 2, 56, 58, 5, 16, 9, 2, 57, 55, 3, 2, 2, 2, 58, 61, 3, 2, 2, + 2, 59, 57, 3, 2, 2, 2, 59, 60, 3, 2, 2, 2, 60, 3, 3, 2, 2, 2, 61, 59, 3, + 2, 2, 2, 62, 63, 7, 49, 2, 2, 63, 64, 7, 52, 2, 2, 64, 65, 7, 54, 2, 2, + 65, 70, 5, 16, 9, 2, 66, 67, 7, 36, 2, 2, 67, 69, 5, 16, 9, 2, 68, 66, + 3, 2, 2, 2, 69, 72, 3, 2, 2, 2, 70, 68, 3, 2, 2, 2, 70, 71, 3, 2, 2, 2, + 71, 5, 3, 2, 2, 2, 72, 70, 3, 2, 2, 2, 73, 74, 7, 50, 2, 2, 74, 75, 7, + 52, 2, 2, 75, 77, 7, 54, 2, 2, 76, 78, 5, 28, 15, 2, 77, 76, 3, 2, 2, 2, + 77, 78, 3, 2, 2, 2, 78, 79, 3, 2, 2, 2, 79, 84, 5, 46, 24, 2, 80, 81, 7, + 36, 2, 2, 81, 83, 5, 46, 24, 2, 82, 80, 3, 2, 2, 2, 83, 86, 3, 2, 2, 2, + 84, 82, 3, 2, 2, 2, 84, 85, 3, 2, 2, 2, 85, 7, 3, 2, 2, 2, 86, 84, 3, 2, + 2, 2, 87, 88, 7, 50, 2, 2, 88, 89, 7, 52, 2, 2, 89, 91, 7, 62, 2, 2, 90, + 92, 5, 28, 15, 2, 91, 90, 3, 2, 2, 2, 91, 92, 3, 2, 2, 2, 92, 93, 3, 2, + 2, 2, 93, 98, 5, 26, 14, 2, 94, 95, 7, 36, 2, 2, 95, 97, 5, 26, 14, 2, + 96, 94, 3, 2, 2, 2, 97, 100, 3, 2, 2, 2, 98, 96, 3, 2, 2, 2, 98, 99, 3, + 2, 2, 2, 99, 9, 3, 2, 2, 2, 100, 98, 3, 2, 2, 2, 101, 102, 7, 48, 2, 2, + 102, 103, 7, 70, 2, 2, 103, 104, 7, 52, 2, 2, 104, 106, 7, 62, 2, 2, 105, + 107, 5, 30, 16, 2, 106, 105, 3, 2, 2, 2, 106, 107, 3, 2, 2, 2, 107, 108, + 3, 2, 2, 2, 108, 109, 5, 34, 18, 2, 109, 11, 3, 2, 2, 2, 110, 111, 7, 50, + 2, 2, 111, 112, 7, 70, 2, 2, 112, 113, 7, 52, 2, 2, 113, 115, 7, 62, 2, + 2, 114, 116, 5, 28, 15, 2, 115, 114, 3, 2, 2, 2, 115, 116, 3, 2, 2, 2, + 116, 13, 3, 2, 2, 2, 117, 118, 7, 49, 2, 2, 118, 119, 7, 70, 2, 2, 119, + 120, 7, 52, 2, 2, 120, 121, 7, 62, 2, 2, 121, 122, 5, 34, 18, 2, 122, 15, + 3, 2, 2, 2, 123, 124, 5, 46, 24, 2, 124, 125, 7, 30, 2, 2, 125, 126, 7, + 53, 2, 2, 126, 127, 7, 23, 2, 2, 127, 128, 5, 20, 11, 2, 128, 129, 7, 36, + 2, 2, 129, 130, 7, 52, 2, 2, 130, 131, 7, 23, 2, 2, 131, 132, 5, 22, 12, + 2, 132, 133, 7, 36, 2, 2, 133, 138, 5, 18, 10, 2, 134, 135, 7, 36, 2, 2, + 135, 137, 5, 18, 10, 2, 136, 134, 3, 2, 2, 2, 137, 140, 3, 2, 2, 2, 138, + 136, 3, 2, 2, 2, 138, 139, 3, 2, 2, 2, 139, 141, 3, 2, 2, 2, 140, 138, + 3, 2, 2, 2, 141, 142, 7, 31, 2, 2, 142, 17, 3, 2, 2, 2, 143, 144, 5, 24, + 13, 2, 144, 145, 7, 30, 2, 2, 145, 150, 5, 34, 18, 2, 146, 147, 7, 36, + 2, 2, 147, 149, 5, 34, 18, 2, 148, 146, 3, 2, 2, 2, 149, 152, 3, 2, 2, + 2, 150, 148, 3, 2, 2, 2, 150, 151, 3, 2, 2, 2, 151, 153, 3, 2, 2, 2, 152, + 150, 3, 2, 2, 2, 153, 154, 7, 31, 2, 2, 154, 19, 3, 2, 2, 2, 155, 156, + 7, 79, 2, 2, 156, 21, 3, 2, 2, 2, 157, 158, 7, 79, 2, 2, 158, 23, 3, 2, + 2, 2, 159, 160, 7, 79, 2, 2, 160, 25, 3, 2, 2, 2, 161, 162, 7, 79, 2, 2, + 162, 27, 3, 2, 2, 2, 163, 164, 7, 71, 2, 2, 164, 165, 7, 72, 2, 2, 165, + 29, 3, 2, 2, 2, 166, 167, 7, 71, 2, 2, 167, 168, 7, 77, 2, 2, 168, 169, + 7, 72, 2, 2, 169, 31, 3, 2, 2, 2, 170, 178, 7, 80, 2, 2, 171, 173, 7, 15, + 2, 2, 172, 171, 3, 2, 2, 2, 172, 173, 3, 2, 2, 2, 173, 174, 3, 2, 2, 2, + 174, 178, 7, 81, 2, 2, 175, 178, 7, 46, 2, 2, 176, 178, 7, 47, 2, 2, 177, + 170, 3, 2, 2, 2, 177, 172, 3, 2, 2, 2, 177, 175, 3, 2, 2, 2, 177, 176, + 3, 2, 2, 2, 178, 33, 3, 2, 2, 2, 179, 180, 7, 58, 2, 2, 180, 181, 7, 30, + 2, 2, 181, 182, 7, 59, 2, 2, 182, 183, 7, 23, 2, 2, 183, 186, 5, 36, 19, + 2, 184, 185, 7, 36, 2, 2, 185, 187, 5, 40, 21, 2, 186, 184, 3, 2, 2, 2, + 186, 187, 3, 2, 2, 2, 187, 188, 3, 2, 2, 2, 188, 189, 7, 31, 2, 2, 189, + 35, 3, 2, 2, 2, 190, 193, 7, 80, 2, 2, 191, 193, 5, 38, 20, 2, 192, 190, + 3, 2, 2, 2, 192, 191, 3, 2, 2, 2, 193, 37, 3, 2, 2, 2, 194, 195, 9, 2, + 2, 2, 195, 39, 3, 2, 2, 2, 196, 197, 7, 60, 2, 2, 197, 199, 7, 30, 2, 2, + 198, 200, 5, 42, 22, 2, 199, 198, 3, 2, 2, 2, 199, 200, 3, 2, 2, 2, 200, + 201, 3, 2, 2, 2, 201, 202, 7, 31, 2, 2, 202, 41, 3, 2, 2, 2, 203, 208, + 5, 44, 23, 2, 204, 205, 7, 36, 2, 2, 205, 207, 5, 44, 23, 2, 206, 204, + 3, 2, 2, 2, 207, 210, 3, 2, 2, 2, 208, 206, 3, 2, 2, 2, 208, 209, 3, 2, + 2, 2, 209, 43, 3, 2, 2, 2, 210, 208, 3, 2, 2, 2, 211, 212, 7, 80, 2, 2, + 212, 213, 7, 23, 2, 2, 213, 214, 5, 32, 17, 2, 214, 45, 3, 2, 2, 2, 215, + 216, 7, 79, 2, 2, 216, 47, 3, 2, 2, 2, 19, 52, 59, 70, 77, 84, 91, 98, + 106, 115, 138, 150, 172, 177, 186, 192, 199, 208, +} +var deserializer = antlr.NewATNDeserializer(nil) +var deserializedATN = deserializer.DeserializeFromUInt16(parserATN) + +var literalNames = []string{ + "", "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", + "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", + "'=='", "'='", "", "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", "'{'", + "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", "';'", + "'->>'", "'_'", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'", +} +var symbolicNames = []string{ + "", "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", + "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", + "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", + "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", "RBE_", + "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", "SEMI_", + "JSONSEPARATOR_", "UL_", "WS", "TRUE", "FALSE", "CREATE", "ALTER", "DROP", + "SHOW", "SHADOW", "SOURCE", "RULE", "FROM", "RESOURCES", "TABLE", "TYPE", + "NAME", "PROPERTIES", "RULES", "ALGORITHM", "ALGORITHMS", "SET", "ADD", + "DATABASE_VALUE", "TABLE_VALUE", "STATUS", "CLEAR", "DEFAULT", "IF", "EXISTS", + "COUNT", "VALUE_MATCH", "REGEX_MATCH", "SQL_HINT", "NOT", "FOR_GENERATOR", + "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_", + "BOOL_", +} + +var ruleNames = []string{ + "createShadowRule", "alterShadowRule", "dropShadowRule", "dropShadowAlgorithm", + "createDefaultShadowAlgorithm", "dropDefaultShadowAlgorithm", "alterDefaultShadowAlgorithm", + "shadowRuleDefinition", "shadowTableRule", "source", "shadow", "tableName", + "algorithmName", "ifExists", "ifNotExists", "literal", "algorithmDefinition", + "algorithmTypeName", "buildInShadowAlgorithmType", "propertiesDefinition", + "properties", "property", "ruleName", +} +var decisionToDFA = make([]*antlr.DFA, len(deserializedATN.DecisionToState)) + +func init() { + for index, ds := range deserializedATN.DecisionToState { + decisionToDFA[index] = antlr.NewDFA(ds, index) + } +} + +type RDLStatementParser struct { + *antlr.BaseParser +} + +func NewRDLStatementParser(input antlr.TokenStream) *RDLStatementParser { + this := new(RDLStatementParser) + + this.BaseParser = antlr.NewBaseParser(input) + + this.Interpreter = antlr.NewParserATNSimulator(this, deserializedATN, decisionToDFA, antlr.NewPredictionContextCache()) + this.RuleNames = ruleNames + this.LiteralNames = literalNames + this.SymbolicNames = symbolicNames + this.GrammarFileName = "RDLStatement.g4" + + return this +} + +// RDLStatementParser tokens. +const ( + RDLStatementParserEOF = antlr.TokenEOF + RDLStatementParserAND_ = 1 + RDLStatementParserOR_ = 2 + RDLStatementParserNOT_ = 3 + RDLStatementParserTILDE_ = 4 + RDLStatementParserVERTICALBAR_ = 5 + RDLStatementParserAMPERSAND_ = 6 + RDLStatementParserSIGNEDLEFTSHIFT_ = 7 + RDLStatementParserSIGNEDRIGHTSHIFT_ = 8 + RDLStatementParserCARET_ = 9 + RDLStatementParserMOD_ = 10 + RDLStatementParserCOLON_ = 11 + RDLStatementParserPLUS_ = 12 + RDLStatementParserMINUS_ = 13 + RDLStatementParserASTERISK_ = 14 + RDLStatementParserSLASH_ = 15 + RDLStatementParserBACKSLASH_ = 16 + RDLStatementParserDOT_ = 17 + RDLStatementParserDOTASTERISK_ = 18 + RDLStatementParserSAFEEQ_ = 19 + RDLStatementParserDEQ_ = 20 + RDLStatementParserEQ_ = 21 + RDLStatementParserNEQ_ = 22 + RDLStatementParserGT_ = 23 + RDLStatementParserGTE_ = 24 + RDLStatementParserLT_ = 25 + RDLStatementParserLTE_ = 26 + RDLStatementParserPOUND_ = 27 + RDLStatementParserLP_ = 28 + RDLStatementParserRP_ = 29 + RDLStatementParserLBE_ = 30 + RDLStatementParserRBE_ = 31 + RDLStatementParserLBT_ = 32 + RDLStatementParserRBT_ = 33 + RDLStatementParserCOMMA_ = 34 + RDLStatementParserDQ_ = 35 + RDLStatementParserSQ_ = 36 + RDLStatementParserBQ_ = 37 + RDLStatementParserQUESTION_ = 38 + RDLStatementParserAT_ = 39 + RDLStatementParserSEMI_ = 40 + RDLStatementParserJSONSEPARATOR_ = 41 + RDLStatementParserUL_ = 42 + RDLStatementParserWS = 43 + RDLStatementParserTRUE = 44 + RDLStatementParserFALSE = 45 + RDLStatementParserCREATE = 46 + RDLStatementParserALTER = 47 + RDLStatementParserDROP = 48 + RDLStatementParserSHOW = 49 + RDLStatementParserSHADOW = 50 + RDLStatementParserSOURCE = 51 + RDLStatementParserRULE = 52 + RDLStatementParserFROM = 53 + RDLStatementParserRESOURCES = 54 + RDLStatementParserTABLE = 55 + RDLStatementParserTYPE = 56 + RDLStatementParserNAME = 57 + RDLStatementParserPROPERTIES = 58 + RDLStatementParserRULES = 59 + RDLStatementParserALGORITHM = 60 + RDLStatementParserALGORITHMS = 61 + RDLStatementParserSET = 62 + RDLStatementParserADD = 63 + RDLStatementParserDATABASE_VALUE = 64 + RDLStatementParserTABLE_VALUE = 65 + RDLStatementParserSTATUS = 66 + RDLStatementParserCLEAR = 67 + RDLStatementParserDEFAULT = 68 + RDLStatementParserIF = 69 + RDLStatementParserEXISTS = 70 + RDLStatementParserCOUNT = 71 + RDLStatementParserVALUE_MATCH = 72 + RDLStatementParserREGEX_MATCH = 73 + RDLStatementParserSQL_HINT = 74 + RDLStatementParserNOT = 75 + RDLStatementParserFOR_GENERATOR = 76 + RDLStatementParserIDENTIFIER_ = 77 + RDLStatementParserSTRING_ = 78 + RDLStatementParserINT_ = 79 + RDLStatementParserHEX_ = 80 + RDLStatementParserNUMBER_ = 81 + RDLStatementParserHEXDIGIT_ = 82 + RDLStatementParserBITNUM_ = 83 + RDLStatementParserBOOL_ = 84 +) + +// RDLStatementParser rules. +const ( + RDLStatementParserRULE_createShadowRule = 0 + RDLStatementParserRULE_alterShadowRule = 1 + RDLStatementParserRULE_dropShadowRule = 2 + RDLStatementParserRULE_dropShadowAlgorithm = 3 + RDLStatementParserRULE_createDefaultShadowAlgorithm = 4 + RDLStatementParserRULE_dropDefaultShadowAlgorithm = 5 + RDLStatementParserRULE_alterDefaultShadowAlgorithm = 6 + RDLStatementParserRULE_shadowRuleDefinition = 7 + RDLStatementParserRULE_shadowTableRule = 8 + RDLStatementParserRULE_source = 9 + RDLStatementParserRULE_shadow = 10 + RDLStatementParserRULE_tableName = 11 + RDLStatementParserRULE_algorithmName = 12 + RDLStatementParserRULE_ifExists = 13 + RDLStatementParserRULE_ifNotExists = 14 + RDLStatementParserRULE_literal = 15 + RDLStatementParserRULE_algorithmDefinition = 16 + RDLStatementParserRULE_algorithmTypeName = 17 + RDLStatementParserRULE_buildInShadowAlgorithmType = 18 + RDLStatementParserRULE_propertiesDefinition = 19 + RDLStatementParserRULE_properties = 20 + RDLStatementParserRULE_property = 21 + RDLStatementParserRULE_ruleName = 22 +) + +// ICreateShadowRuleContext is an interface to support dynamic dispatch. +type ICreateShadowRuleContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsCreateShadowRuleContext differentiates from other interfaces. + IsCreateShadowRuleContext() +} + +type CreateShadowRuleContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyCreateShadowRuleContext() *CreateShadowRuleContext { + var p = new(CreateShadowRuleContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_createShadowRule + return p +} + +func (*CreateShadowRuleContext) IsCreateShadowRuleContext() {} + +func NewCreateShadowRuleContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CreateShadowRuleContext { + var p = new(CreateShadowRuleContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_createShadowRule + + return p +} + +func (s *CreateShadowRuleContext) GetParser() antlr.Parser { return s.parser } + +func (s *CreateShadowRuleContext) CREATE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserCREATE, 0) +} + +func (s *CreateShadowRuleContext) SHADOW() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSHADOW, 0) +} + +func (s *CreateShadowRuleContext) RULE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRULE, 0) +} + +func (s *CreateShadowRuleContext) AllShadowRuleDefinition() []IShadowRuleDefinitionContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IShadowRuleDefinitionContext)(nil)).Elem()) + var tst = make([]IShadowRuleDefinitionContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(IShadowRuleDefinitionContext) + } + } + + return tst +} + +func (s *CreateShadowRuleContext) ShadowRuleDefinition(i int) IShadowRuleDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IShadowRuleDefinitionContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(IShadowRuleDefinitionContext) +} + +func (s *CreateShadowRuleContext) IfNotExists() IIfNotExistsContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfNotExistsContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IIfNotExistsContext) +} + +func (s *CreateShadowRuleContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *CreateShadowRuleContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *CreateShadowRuleContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *CreateShadowRuleContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *CreateShadowRuleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitCreateShadowRule(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) CreateShadowRule() (localctx ICreateShadowRuleContext) { + localctx = NewCreateShadowRuleContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 0, RDLStatementParserRULE_createShadowRule) + var _la int + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(46) + p.Match(RDLStatementParserCREATE) + } + { + p.SetState(47) + p.Match(RDLStatementParserSHADOW) + } + { + p.SetState(48) + p.Match(RDLStatementParserRULE) + } + p.SetState(50) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + if _la == RDLStatementParserIF { + { + p.SetState(49) + p.IfNotExists() + } + + } + { + p.SetState(52) + p.ShadowRuleDefinition() + } + p.SetState(57) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(53) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(54) + p.ShadowRuleDefinition() + } + + p.SetState(59) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + + return localctx +} + +// IAlterShadowRuleContext is an interface to support dynamic dispatch. +type IAlterShadowRuleContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsAlterShadowRuleContext differentiates from other interfaces. + IsAlterShadowRuleContext() +} + +type AlterShadowRuleContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyAlterShadowRuleContext() *AlterShadowRuleContext { + var p = new(AlterShadowRuleContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_alterShadowRule + return p +} + +func (*AlterShadowRuleContext) IsAlterShadowRuleContext() {} + +func NewAlterShadowRuleContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AlterShadowRuleContext { + var p = new(AlterShadowRuleContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_alterShadowRule + + return p +} + +func (s *AlterShadowRuleContext) GetParser() antlr.Parser { return s.parser } + +func (s *AlterShadowRuleContext) ALTER() antlr.TerminalNode { + return s.GetToken(RDLStatementParserALTER, 0) +} + +func (s *AlterShadowRuleContext) SHADOW() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSHADOW, 0) +} + +func (s *AlterShadowRuleContext) RULE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRULE, 0) +} + +func (s *AlterShadowRuleContext) AllShadowRuleDefinition() []IShadowRuleDefinitionContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IShadowRuleDefinitionContext)(nil)).Elem()) + var tst = make([]IShadowRuleDefinitionContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(IShadowRuleDefinitionContext) + } + } + + return tst +} + +func (s *AlterShadowRuleContext) ShadowRuleDefinition(i int) IShadowRuleDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IShadowRuleDefinitionContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(IShadowRuleDefinitionContext) +} + +func (s *AlterShadowRuleContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *AlterShadowRuleContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *AlterShadowRuleContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *AlterShadowRuleContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *AlterShadowRuleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitAlterShadowRule(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) AlterShadowRule() (localctx IAlterShadowRuleContext) { + localctx = NewAlterShadowRuleContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 2, RDLStatementParserRULE_alterShadowRule) + var _la int + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(60) + p.Match(RDLStatementParserALTER) + } + { + p.SetState(61) + p.Match(RDLStatementParserSHADOW) + } + { + p.SetState(62) + p.Match(RDLStatementParserRULE) + } + { + p.SetState(63) + p.ShadowRuleDefinition() + } + p.SetState(68) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(64) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(65) + p.ShadowRuleDefinition() + } + + p.SetState(70) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + + return localctx +} + +// IDropShadowRuleContext is an interface to support dynamic dispatch. +type IDropShadowRuleContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsDropShadowRuleContext differentiates from other interfaces. + IsDropShadowRuleContext() +} + +type DropShadowRuleContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyDropShadowRuleContext() *DropShadowRuleContext { + var p = new(DropShadowRuleContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_dropShadowRule + return p +} + +func (*DropShadowRuleContext) IsDropShadowRuleContext() {} + +func NewDropShadowRuleContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DropShadowRuleContext { + var p = new(DropShadowRuleContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_dropShadowRule + + return p +} + +func (s *DropShadowRuleContext) GetParser() antlr.Parser { return s.parser } + +func (s *DropShadowRuleContext) DROP() antlr.TerminalNode { + return s.GetToken(RDLStatementParserDROP, 0) +} + +func (s *DropShadowRuleContext) SHADOW() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSHADOW, 0) +} + +func (s *DropShadowRuleContext) RULE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRULE, 0) +} + +func (s *DropShadowRuleContext) AllRuleName() []IRuleNameContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IRuleNameContext)(nil)).Elem()) + var tst = make([]IRuleNameContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(IRuleNameContext) + } + } + + return tst +} + +func (s *DropShadowRuleContext) RuleName(i int) IRuleNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IRuleNameContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(IRuleNameContext) +} + +func (s *DropShadowRuleContext) IfExists() IIfExistsContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfExistsContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IIfExistsContext) +} + +func (s *DropShadowRuleContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *DropShadowRuleContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *DropShadowRuleContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DropShadowRuleContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *DropShadowRuleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitDropShadowRule(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) DropShadowRule() (localctx IDropShadowRuleContext) { + localctx = NewDropShadowRuleContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 4, RDLStatementParserRULE_dropShadowRule) + var _la int + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(71) + p.Match(RDLStatementParserDROP) + } + { + p.SetState(72) + p.Match(RDLStatementParserSHADOW) + } + { + p.SetState(73) + p.Match(RDLStatementParserRULE) + } + p.SetState(75) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + if _la == RDLStatementParserIF { + { + p.SetState(74) + p.IfExists() + } + + } + { + p.SetState(77) + p.RuleName() + } + p.SetState(82) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(78) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(79) + p.RuleName() + } + + p.SetState(84) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + + return localctx +} + +// IDropShadowAlgorithmContext is an interface to support dynamic dispatch. +type IDropShadowAlgorithmContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsDropShadowAlgorithmContext differentiates from other interfaces. + IsDropShadowAlgorithmContext() +} + +type DropShadowAlgorithmContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyDropShadowAlgorithmContext() *DropShadowAlgorithmContext { + var p = new(DropShadowAlgorithmContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_dropShadowAlgorithm + return p +} + +func (*DropShadowAlgorithmContext) IsDropShadowAlgorithmContext() {} + +func NewDropShadowAlgorithmContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DropShadowAlgorithmContext { + var p = new(DropShadowAlgorithmContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_dropShadowAlgorithm + + return p +} + +func (s *DropShadowAlgorithmContext) GetParser() antlr.Parser { return s.parser } + +func (s *DropShadowAlgorithmContext) DROP() antlr.TerminalNode { + return s.GetToken(RDLStatementParserDROP, 0) +} + +func (s *DropShadowAlgorithmContext) SHADOW() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSHADOW, 0) +} + +func (s *DropShadowAlgorithmContext) ALGORITHM() antlr.TerminalNode { + return s.GetToken(RDLStatementParserALGORITHM, 0) +} + +func (s *DropShadowAlgorithmContext) AllAlgorithmName() []IAlgorithmNameContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IAlgorithmNameContext)(nil)).Elem()) + var tst = make([]IAlgorithmNameContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(IAlgorithmNameContext) + } + } + + return tst +} + +func (s *DropShadowAlgorithmContext) AlgorithmName(i int) IAlgorithmNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IAlgorithmNameContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(IAlgorithmNameContext) +} + +func (s *DropShadowAlgorithmContext) IfExists() IIfExistsContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfExistsContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IIfExistsContext) +} + +func (s *DropShadowAlgorithmContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *DropShadowAlgorithmContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *DropShadowAlgorithmContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DropShadowAlgorithmContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *DropShadowAlgorithmContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitDropShadowAlgorithm(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) DropShadowAlgorithm() (localctx IDropShadowAlgorithmContext) { + localctx = NewDropShadowAlgorithmContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 6, RDLStatementParserRULE_dropShadowAlgorithm) + var _la int + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(85) + p.Match(RDLStatementParserDROP) + } + { + p.SetState(86) + p.Match(RDLStatementParserSHADOW) + } + { + p.SetState(87) + p.Match(RDLStatementParserALGORITHM) + } + p.SetState(89) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + if _la == RDLStatementParserIF { + { + p.SetState(88) + p.IfExists() + } + + } + { + p.SetState(91) + p.AlgorithmName() + } + p.SetState(96) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(92) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(93) + p.AlgorithmName() + } + + p.SetState(98) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + + return localctx +} + +// ICreateDefaultShadowAlgorithmContext is an interface to support dynamic dispatch. +type ICreateDefaultShadowAlgorithmContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsCreateDefaultShadowAlgorithmContext differentiates from other interfaces. + IsCreateDefaultShadowAlgorithmContext() +} + +type CreateDefaultShadowAlgorithmContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyCreateDefaultShadowAlgorithmContext() *CreateDefaultShadowAlgorithmContext { + var p = new(CreateDefaultShadowAlgorithmContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_createDefaultShadowAlgorithm + return p +} + +func (*CreateDefaultShadowAlgorithmContext) IsCreateDefaultShadowAlgorithmContext() {} + +func NewCreateDefaultShadowAlgorithmContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CreateDefaultShadowAlgorithmContext { + var p = new(CreateDefaultShadowAlgorithmContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_createDefaultShadowAlgorithm + + return p +} + +func (s *CreateDefaultShadowAlgorithmContext) GetParser() antlr.Parser { return s.parser } + +func (s *CreateDefaultShadowAlgorithmContext) CREATE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserCREATE, 0) +} + +func (s *CreateDefaultShadowAlgorithmContext) DEFAULT() antlr.TerminalNode { + return s.GetToken(RDLStatementParserDEFAULT, 0) +} + +func (s *CreateDefaultShadowAlgorithmContext) SHADOW() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSHADOW, 0) +} + +func (s *CreateDefaultShadowAlgorithmContext) ALGORITHM() antlr.TerminalNode { + return s.GetToken(RDLStatementParserALGORITHM, 0) +} + +func (s *CreateDefaultShadowAlgorithmContext) AlgorithmDefinition() IAlgorithmDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IAlgorithmDefinitionContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IAlgorithmDefinitionContext) +} + +func (s *CreateDefaultShadowAlgorithmContext) IfNotExists() IIfNotExistsContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfNotExistsContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IIfNotExistsContext) +} + +func (s *CreateDefaultShadowAlgorithmContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *CreateDefaultShadowAlgorithmContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *CreateDefaultShadowAlgorithmContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitCreateDefaultShadowAlgorithm(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) CreateDefaultShadowAlgorithm() (localctx ICreateDefaultShadowAlgorithmContext) { + localctx = NewCreateDefaultShadowAlgorithmContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 8, RDLStatementParserRULE_createDefaultShadowAlgorithm) + var _la int + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(99) + p.Match(RDLStatementParserCREATE) + } + { + p.SetState(100) + p.Match(RDLStatementParserDEFAULT) + } + { + p.SetState(101) + p.Match(RDLStatementParserSHADOW) + } + { + p.SetState(102) + p.Match(RDLStatementParserALGORITHM) + } + p.SetState(104) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + if _la == RDLStatementParserIF { + { + p.SetState(103) + p.IfNotExists() + } + + } + { + p.SetState(106) + p.AlgorithmDefinition() + } + + return localctx +} + +// IDropDefaultShadowAlgorithmContext is an interface to support dynamic dispatch. +type IDropDefaultShadowAlgorithmContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsDropDefaultShadowAlgorithmContext differentiates from other interfaces. + IsDropDefaultShadowAlgorithmContext() +} + +type DropDefaultShadowAlgorithmContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyDropDefaultShadowAlgorithmContext() *DropDefaultShadowAlgorithmContext { + var p = new(DropDefaultShadowAlgorithmContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_dropDefaultShadowAlgorithm + return p +} + +func (*DropDefaultShadowAlgorithmContext) IsDropDefaultShadowAlgorithmContext() {} + +func NewDropDefaultShadowAlgorithmContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DropDefaultShadowAlgorithmContext { + var p = new(DropDefaultShadowAlgorithmContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_dropDefaultShadowAlgorithm + + return p +} + +func (s *DropDefaultShadowAlgorithmContext) GetParser() antlr.Parser { return s.parser } + +func (s *DropDefaultShadowAlgorithmContext) DROP() antlr.TerminalNode { + return s.GetToken(RDLStatementParserDROP, 0) +} + +func (s *DropDefaultShadowAlgorithmContext) DEFAULT() antlr.TerminalNode { + return s.GetToken(RDLStatementParserDEFAULT, 0) +} + +func (s *DropDefaultShadowAlgorithmContext) SHADOW() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSHADOW, 0) +} + +func (s *DropDefaultShadowAlgorithmContext) ALGORITHM() antlr.TerminalNode { + return s.GetToken(RDLStatementParserALGORITHM, 0) +} + +func (s *DropDefaultShadowAlgorithmContext) IfExists() IIfExistsContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfExistsContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IIfExistsContext) +} + +func (s *DropDefaultShadowAlgorithmContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DropDefaultShadowAlgorithmContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *DropDefaultShadowAlgorithmContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitDropDefaultShadowAlgorithm(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) DropDefaultShadowAlgorithm() (localctx IDropDefaultShadowAlgorithmContext) { + localctx = NewDropDefaultShadowAlgorithmContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 10, RDLStatementParserRULE_dropDefaultShadowAlgorithm) + var _la int + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(108) + p.Match(RDLStatementParserDROP) + } + { + p.SetState(109) + p.Match(RDLStatementParserDEFAULT) + } + { + p.SetState(110) + p.Match(RDLStatementParserSHADOW) + } + { + p.SetState(111) + p.Match(RDLStatementParserALGORITHM) + } + p.SetState(113) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + if _la == RDLStatementParserIF { + { + p.SetState(112) + p.IfExists() + } + + } + + return localctx +} + +// IAlterDefaultShadowAlgorithmContext is an interface to support dynamic dispatch. +type IAlterDefaultShadowAlgorithmContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsAlterDefaultShadowAlgorithmContext differentiates from other interfaces. + IsAlterDefaultShadowAlgorithmContext() +} + +type AlterDefaultShadowAlgorithmContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyAlterDefaultShadowAlgorithmContext() *AlterDefaultShadowAlgorithmContext { + var p = new(AlterDefaultShadowAlgorithmContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_alterDefaultShadowAlgorithm + return p +} + +func (*AlterDefaultShadowAlgorithmContext) IsAlterDefaultShadowAlgorithmContext() {} + +func NewAlterDefaultShadowAlgorithmContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AlterDefaultShadowAlgorithmContext { + var p = new(AlterDefaultShadowAlgorithmContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_alterDefaultShadowAlgorithm + + return p +} + +func (s *AlterDefaultShadowAlgorithmContext) GetParser() antlr.Parser { return s.parser } + +func (s *AlterDefaultShadowAlgorithmContext) ALTER() antlr.TerminalNode { + return s.GetToken(RDLStatementParserALTER, 0) +} + +func (s *AlterDefaultShadowAlgorithmContext) DEFAULT() antlr.TerminalNode { + return s.GetToken(RDLStatementParserDEFAULT, 0) +} + +func (s *AlterDefaultShadowAlgorithmContext) SHADOW() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSHADOW, 0) +} + +func (s *AlterDefaultShadowAlgorithmContext) ALGORITHM() antlr.TerminalNode { + return s.GetToken(RDLStatementParserALGORITHM, 0) +} + +func (s *AlterDefaultShadowAlgorithmContext) AlgorithmDefinition() IAlgorithmDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IAlgorithmDefinitionContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IAlgorithmDefinitionContext) +} + +func (s *AlterDefaultShadowAlgorithmContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *AlterDefaultShadowAlgorithmContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *AlterDefaultShadowAlgorithmContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitAlterDefaultShadowAlgorithm(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) AlterDefaultShadowAlgorithm() (localctx IAlterDefaultShadowAlgorithmContext) { + localctx = NewAlterDefaultShadowAlgorithmContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 12, RDLStatementParserRULE_alterDefaultShadowAlgorithm) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(115) + p.Match(RDLStatementParserALTER) + } + { + p.SetState(116) + p.Match(RDLStatementParserDEFAULT) + } + { + p.SetState(117) + p.Match(RDLStatementParserSHADOW) + } + { + p.SetState(118) + p.Match(RDLStatementParserALGORITHM) + } + { + p.SetState(119) + p.AlgorithmDefinition() + } + + return localctx +} + +// IShadowRuleDefinitionContext is an interface to support dynamic dispatch. +type IShadowRuleDefinitionContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsShadowRuleDefinitionContext differentiates from other interfaces. + IsShadowRuleDefinitionContext() +} + +type ShadowRuleDefinitionContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyShadowRuleDefinitionContext() *ShadowRuleDefinitionContext { + var p = new(ShadowRuleDefinitionContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_shadowRuleDefinition + return p +} + +func (*ShadowRuleDefinitionContext) IsShadowRuleDefinitionContext() {} + +func NewShadowRuleDefinitionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ShadowRuleDefinitionContext { + var p = new(ShadowRuleDefinitionContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_shadowRuleDefinition + + return p +} + +func (s *ShadowRuleDefinitionContext) GetParser() antlr.Parser { return s.parser } + +func (s *ShadowRuleDefinitionContext) RuleName() IRuleNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IRuleNameContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IRuleNameContext) +} + +func (s *ShadowRuleDefinitionContext) LP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserLP_, 0) +} + +func (s *ShadowRuleDefinitionContext) SOURCE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSOURCE, 0) +} + +func (s *ShadowRuleDefinitionContext) AllEQ_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserEQ_) +} + +func (s *ShadowRuleDefinitionContext) EQ_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserEQ_, i) +} + +func (s *ShadowRuleDefinitionContext) Source() ISourceContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*ISourceContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(ISourceContext) +} + +func (s *ShadowRuleDefinitionContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *ShadowRuleDefinitionContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *ShadowRuleDefinitionContext) SHADOW() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSHADOW, 0) +} + +func (s *ShadowRuleDefinitionContext) Shadow() IShadowContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IShadowContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IShadowContext) +} + +func (s *ShadowRuleDefinitionContext) AllShadowTableRule() []IShadowTableRuleContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IShadowTableRuleContext)(nil)).Elem()) + var tst = make([]IShadowTableRuleContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(IShadowTableRuleContext) + } + } + + return tst +} + +func (s *ShadowRuleDefinitionContext) ShadowTableRule(i int) IShadowTableRuleContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IShadowTableRuleContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(IShadowTableRuleContext) +} + +func (s *ShadowRuleDefinitionContext) RP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRP_, 0) +} + +func (s *ShadowRuleDefinitionContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ShadowRuleDefinitionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *ShadowRuleDefinitionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitShadowRuleDefinition(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) ShadowRuleDefinition() (localctx IShadowRuleDefinitionContext) { + localctx = NewShadowRuleDefinitionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 14, RDLStatementParserRULE_shadowRuleDefinition) + var _la int + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(121) + p.RuleName() + } + { + p.SetState(122) + p.Match(RDLStatementParserLP_) + } + { + p.SetState(123) + p.Match(RDLStatementParserSOURCE) + } + { + p.SetState(124) + p.Match(RDLStatementParserEQ_) + } + { + p.SetState(125) + p.Source() + } + { + p.SetState(126) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(127) + p.Match(RDLStatementParserSHADOW) + } + { + p.SetState(128) + p.Match(RDLStatementParserEQ_) + } + { + p.SetState(129) + p.Shadow() + } + { + p.SetState(130) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(131) + p.ShadowTableRule() + } + p.SetState(136) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(132) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(133) + p.ShadowTableRule() + } + + p.SetState(138) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + { + p.SetState(139) + p.Match(RDLStatementParserRP_) + } + + return localctx +} + +// IShadowTableRuleContext is an interface to support dynamic dispatch. +type IShadowTableRuleContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsShadowTableRuleContext differentiates from other interfaces. + IsShadowTableRuleContext() +} + +type ShadowTableRuleContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyShadowTableRuleContext() *ShadowTableRuleContext { + var p = new(ShadowTableRuleContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_shadowTableRule + return p +} + +func (*ShadowTableRuleContext) IsShadowTableRuleContext() {} + +func NewShadowTableRuleContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ShadowTableRuleContext { + var p = new(ShadowTableRuleContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_shadowTableRule + + return p +} + +func (s *ShadowTableRuleContext) GetParser() antlr.Parser { return s.parser } + +func (s *ShadowTableRuleContext) TableName() ITableNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*ITableNameContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(ITableNameContext) +} + +func (s *ShadowTableRuleContext) LP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserLP_, 0) +} + +func (s *ShadowTableRuleContext) AllAlgorithmDefinition() []IAlgorithmDefinitionContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IAlgorithmDefinitionContext)(nil)).Elem()) + var tst = make([]IAlgorithmDefinitionContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(IAlgorithmDefinitionContext) + } + } + + return tst +} + +func (s *ShadowTableRuleContext) AlgorithmDefinition(i int) IAlgorithmDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IAlgorithmDefinitionContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(IAlgorithmDefinitionContext) +} + +func (s *ShadowTableRuleContext) RP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRP_, 0) +} + +func (s *ShadowTableRuleContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *ShadowTableRuleContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *ShadowTableRuleContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ShadowTableRuleContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *ShadowTableRuleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitShadowTableRule(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) ShadowTableRule() (localctx IShadowTableRuleContext) { + localctx = NewShadowTableRuleContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 16, RDLStatementParserRULE_shadowTableRule) + var _la int + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(141) + p.TableName() + } + { + p.SetState(142) + p.Match(RDLStatementParserLP_) + } + { + p.SetState(143) + p.AlgorithmDefinition() + } + p.SetState(148) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(144) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(145) + p.AlgorithmDefinition() + } + + p.SetState(150) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + { + p.SetState(151) + p.Match(RDLStatementParserRP_) + } + + return localctx +} + +// ISourceContext is an interface to support dynamic dispatch. +type ISourceContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsSourceContext differentiates from other interfaces. + IsSourceContext() +} + +type SourceContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptySourceContext() *SourceContext { + var p = new(SourceContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_source + return p +} + +func (*SourceContext) IsSourceContext() {} + +func NewSourceContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SourceContext { + var p = new(SourceContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_source + + return p +} + +func (s *SourceContext) GetParser() antlr.Parser { return s.parser } + +func (s *SourceContext) IDENTIFIER_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserIDENTIFIER_, 0) +} + +func (s *SourceContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *SourceContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *SourceContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitSource(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) Source() (localctx ISourceContext) { + localctx = NewSourceContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 18, RDLStatementParserRULE_source) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(153) + p.Match(RDLStatementParserIDENTIFIER_) + } + + return localctx +} + +// IShadowContext is an interface to support dynamic dispatch. +type IShadowContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsShadowContext differentiates from other interfaces. + IsShadowContext() +} + +type ShadowContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyShadowContext() *ShadowContext { + var p = new(ShadowContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_shadow + return p +} + +func (*ShadowContext) IsShadowContext() {} + +func NewShadowContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ShadowContext { + var p = new(ShadowContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_shadow + + return p +} + +func (s *ShadowContext) GetParser() antlr.Parser { return s.parser } + +func (s *ShadowContext) IDENTIFIER_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserIDENTIFIER_, 0) +} + +func (s *ShadowContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ShadowContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *ShadowContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitShadow(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) Shadow() (localctx IShadowContext) { + localctx = NewShadowContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 20, RDLStatementParserRULE_shadow) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(155) + p.Match(RDLStatementParserIDENTIFIER_) + } + + return localctx +} + +// ITableNameContext is an interface to support dynamic dispatch. +type ITableNameContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsTableNameContext differentiates from other interfaces. + IsTableNameContext() +} + +type TableNameContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyTableNameContext() *TableNameContext { + var p = new(TableNameContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_tableName + return p +} + +func (*TableNameContext) IsTableNameContext() {} + +func NewTableNameContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *TableNameContext { + var p = new(TableNameContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_tableName + + return p +} + +func (s *TableNameContext) GetParser() antlr.Parser { return s.parser } + +func (s *TableNameContext) IDENTIFIER_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserIDENTIFIER_, 0) +} + +func (s *TableNameContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *TableNameContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *TableNameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitTableName(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) TableName() (localctx ITableNameContext) { + localctx = NewTableNameContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 22, RDLStatementParserRULE_tableName) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(157) + p.Match(RDLStatementParserIDENTIFIER_) + } + + return localctx +} + +// IAlgorithmNameContext is an interface to support dynamic dispatch. +type IAlgorithmNameContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsAlgorithmNameContext differentiates from other interfaces. + IsAlgorithmNameContext() +} + +type AlgorithmNameContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyAlgorithmNameContext() *AlgorithmNameContext { + var p = new(AlgorithmNameContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_algorithmName + return p +} + +func (*AlgorithmNameContext) IsAlgorithmNameContext() {} + +func NewAlgorithmNameContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AlgorithmNameContext { + var p = new(AlgorithmNameContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_algorithmName + + return p +} + +func (s *AlgorithmNameContext) GetParser() antlr.Parser { return s.parser } + +func (s *AlgorithmNameContext) IDENTIFIER_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserIDENTIFIER_, 0) +} + +func (s *AlgorithmNameContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *AlgorithmNameContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *AlgorithmNameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitAlgorithmName(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) AlgorithmName() (localctx IAlgorithmNameContext) { + localctx = NewAlgorithmNameContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 24, RDLStatementParserRULE_algorithmName) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(159) + p.Match(RDLStatementParserIDENTIFIER_) + } + + return localctx +} + +// IIfExistsContext is an interface to support dynamic dispatch. +type IIfExistsContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsIfExistsContext differentiates from other interfaces. + IsIfExistsContext() +} + +type IfExistsContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyIfExistsContext() *IfExistsContext { + var p = new(IfExistsContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_ifExists + return p +} + +func (*IfExistsContext) IsIfExistsContext() {} + +func NewIfExistsContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IfExistsContext { + var p = new(IfExistsContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_ifExists + + return p +} + +func (s *IfExistsContext) GetParser() antlr.Parser { return s.parser } + +func (s *IfExistsContext) IF() antlr.TerminalNode { + return s.GetToken(RDLStatementParserIF, 0) +} + +func (s *IfExistsContext) EXISTS() antlr.TerminalNode { + return s.GetToken(RDLStatementParserEXISTS, 0) +} + +func (s *IfExistsContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *IfExistsContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *IfExistsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitIfExists(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) IfExists() (localctx IIfExistsContext) { + localctx = NewIfExistsContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 26, RDLStatementParserRULE_ifExists) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(161) + p.Match(RDLStatementParserIF) + } + { + p.SetState(162) + p.Match(RDLStatementParserEXISTS) + } + + return localctx +} + +// IIfNotExistsContext is an interface to support dynamic dispatch. +type IIfNotExistsContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsIfNotExistsContext differentiates from other interfaces. + IsIfNotExistsContext() +} + +type IfNotExistsContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyIfNotExistsContext() *IfNotExistsContext { + var p = new(IfNotExistsContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_ifNotExists + return p +} + +func (*IfNotExistsContext) IsIfNotExistsContext() {} + +func NewIfNotExistsContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IfNotExistsContext { + var p = new(IfNotExistsContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_ifNotExists + + return p +} + +func (s *IfNotExistsContext) GetParser() antlr.Parser { return s.parser } + +func (s *IfNotExistsContext) IF() antlr.TerminalNode { + return s.GetToken(RDLStatementParserIF, 0) +} + +func (s *IfNotExistsContext) NOT() antlr.TerminalNode { + return s.GetToken(RDLStatementParserNOT, 0) +} + +func (s *IfNotExistsContext) EXISTS() antlr.TerminalNode { + return s.GetToken(RDLStatementParserEXISTS, 0) +} + +func (s *IfNotExistsContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *IfNotExistsContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *IfNotExistsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitIfNotExists(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) IfNotExists() (localctx IIfNotExistsContext) { + localctx = NewIfNotExistsContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 28, RDLStatementParserRULE_ifNotExists) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(164) + p.Match(RDLStatementParserIF) + } + { + p.SetState(165) + p.Match(RDLStatementParserNOT) + } + { + p.SetState(166) + p.Match(RDLStatementParserEXISTS) + } + + return localctx +} + +// ILiteralContext is an interface to support dynamic dispatch. +type ILiteralContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsLiteralContext differentiates from other interfaces. + IsLiteralContext() +} + +type LiteralContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyLiteralContext() *LiteralContext { + var p = new(LiteralContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_literal + return p +} + +func (*LiteralContext) IsLiteralContext() {} + +func NewLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *LiteralContext { + var p = new(LiteralContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_literal + + return p +} + +func (s *LiteralContext) GetParser() antlr.Parser { return s.parser } + +func (s *LiteralContext) STRING_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSTRING_, 0) +} + +func (s *LiteralContext) INT_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserINT_, 0) +} + +func (s *LiteralContext) MINUS_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserMINUS_, 0) +} + +func (s *LiteralContext) TRUE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserTRUE, 0) +} + +func (s *LiteralContext) FALSE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserFALSE, 0) +} + +func (s *LiteralContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *LiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *LiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitLiteral(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) Literal() (localctx ILiteralContext) { + localctx = NewLiteralContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 30, RDLStatementParserRULE_literal) + var _la int + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.SetState(175) + p.GetErrorHandler().Sync(p) + + switch p.GetTokenStream().LA(1) { + case RDLStatementParserSTRING_: + p.EnterOuterAlt(localctx, 1) + { + p.SetState(168) + p.Match(RDLStatementParserSTRING_) + } + + case RDLStatementParserMINUS_, RDLStatementParserINT_: + p.EnterOuterAlt(localctx, 2) + p.SetState(170) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + if _la == RDLStatementParserMINUS_ { + { + p.SetState(169) + p.Match(RDLStatementParserMINUS_) + } + + } + { + p.SetState(172) + p.Match(RDLStatementParserINT_) + } + + case RDLStatementParserTRUE: + p.EnterOuterAlt(localctx, 3) + { + p.SetState(173) + p.Match(RDLStatementParserTRUE) + } + + case RDLStatementParserFALSE: + p.EnterOuterAlt(localctx, 4) + { + p.SetState(174) + p.Match(RDLStatementParserFALSE) + } + + default: + panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) + } + + return localctx +} + +// IAlgorithmDefinitionContext is an interface to support dynamic dispatch. +type IAlgorithmDefinitionContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsAlgorithmDefinitionContext differentiates from other interfaces. + IsAlgorithmDefinitionContext() +} + +type AlgorithmDefinitionContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyAlgorithmDefinitionContext() *AlgorithmDefinitionContext { + var p = new(AlgorithmDefinitionContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_algorithmDefinition + return p +} + +func (*AlgorithmDefinitionContext) IsAlgorithmDefinitionContext() {} + +func NewAlgorithmDefinitionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AlgorithmDefinitionContext { + var p = new(AlgorithmDefinitionContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_algorithmDefinition + + return p +} + +func (s *AlgorithmDefinitionContext) GetParser() antlr.Parser { return s.parser } + +func (s *AlgorithmDefinitionContext) TYPE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserTYPE, 0) +} + +func (s *AlgorithmDefinitionContext) LP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserLP_, 0) +} + +func (s *AlgorithmDefinitionContext) NAME() antlr.TerminalNode { + return s.GetToken(RDLStatementParserNAME, 0) +} + +func (s *AlgorithmDefinitionContext) EQ_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserEQ_, 0) +} + +func (s *AlgorithmDefinitionContext) AlgorithmTypeName() IAlgorithmTypeNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IAlgorithmTypeNameContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IAlgorithmTypeNameContext) +} + +func (s *AlgorithmDefinitionContext) RP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRP_, 0) +} + +func (s *AlgorithmDefinitionContext) COMMA_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, 0) +} + +func (s *AlgorithmDefinitionContext) PropertiesDefinition() IPropertiesDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IPropertiesDefinitionContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IPropertiesDefinitionContext) +} + +func (s *AlgorithmDefinitionContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *AlgorithmDefinitionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *AlgorithmDefinitionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitAlgorithmDefinition(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) AlgorithmDefinition() (localctx IAlgorithmDefinitionContext) { + localctx = NewAlgorithmDefinitionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 32, RDLStatementParserRULE_algorithmDefinition) + var _la int + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(177) + p.Match(RDLStatementParserTYPE) + } + { + p.SetState(178) + p.Match(RDLStatementParserLP_) + } + { + p.SetState(179) + p.Match(RDLStatementParserNAME) + } + { + p.SetState(180) + p.Match(RDLStatementParserEQ_) + } + { + p.SetState(181) + p.AlgorithmTypeName() + } + p.SetState(184) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + if _la == RDLStatementParserCOMMA_ { + { + p.SetState(182) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(183) + p.PropertiesDefinition() + } + + } + { + p.SetState(186) + p.Match(RDLStatementParserRP_) + } + + return localctx +} + +// IAlgorithmTypeNameContext is an interface to support dynamic dispatch. +type IAlgorithmTypeNameContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsAlgorithmTypeNameContext differentiates from other interfaces. + IsAlgorithmTypeNameContext() +} + +type AlgorithmTypeNameContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyAlgorithmTypeNameContext() *AlgorithmTypeNameContext { + var p = new(AlgorithmTypeNameContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_algorithmTypeName + return p +} + +func (*AlgorithmTypeNameContext) IsAlgorithmTypeNameContext() {} + +func NewAlgorithmTypeNameContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AlgorithmTypeNameContext { + var p = new(AlgorithmTypeNameContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_algorithmTypeName + + return p +} + +func (s *AlgorithmTypeNameContext) GetParser() antlr.Parser { return s.parser } + +func (s *AlgorithmTypeNameContext) STRING_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSTRING_, 0) +} + +func (s *AlgorithmTypeNameContext) BuildInShadowAlgorithmType() IBuildInShadowAlgorithmTypeContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IBuildInShadowAlgorithmTypeContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IBuildInShadowAlgorithmTypeContext) +} + +func (s *AlgorithmTypeNameContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *AlgorithmTypeNameContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *AlgorithmTypeNameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitAlgorithmTypeName(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) AlgorithmTypeName() (localctx IAlgorithmTypeNameContext) { + localctx = NewAlgorithmTypeNameContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 34, RDLStatementParserRULE_algorithmTypeName) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.SetState(190) + p.GetErrorHandler().Sync(p) + + switch p.GetTokenStream().LA(1) { + case RDLStatementParserSTRING_: + p.EnterOuterAlt(localctx, 1) + { + p.SetState(188) + p.Match(RDLStatementParserSTRING_) + } + + case RDLStatementParserVALUE_MATCH, RDLStatementParserREGEX_MATCH, RDLStatementParserSQL_HINT: + p.EnterOuterAlt(localctx, 2) + { + p.SetState(189) + p.BuildInShadowAlgorithmType() + } + + default: + panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) + } + + return localctx +} + +// IBuildInShadowAlgorithmTypeContext is an interface to support dynamic dispatch. +type IBuildInShadowAlgorithmTypeContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsBuildInShadowAlgorithmTypeContext differentiates from other interfaces. + IsBuildInShadowAlgorithmTypeContext() +} + +type BuildInShadowAlgorithmTypeContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyBuildInShadowAlgorithmTypeContext() *BuildInShadowAlgorithmTypeContext { + var p = new(BuildInShadowAlgorithmTypeContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_buildInShadowAlgorithmType + return p +} + +func (*BuildInShadowAlgorithmTypeContext) IsBuildInShadowAlgorithmTypeContext() {} + +func NewBuildInShadowAlgorithmTypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BuildInShadowAlgorithmTypeContext { + var p = new(BuildInShadowAlgorithmTypeContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_buildInShadowAlgorithmType + + return p +} + +func (s *BuildInShadowAlgorithmTypeContext) GetParser() antlr.Parser { return s.parser } + +func (s *BuildInShadowAlgorithmTypeContext) VALUE_MATCH() antlr.TerminalNode { + return s.GetToken(RDLStatementParserVALUE_MATCH, 0) +} + +func (s *BuildInShadowAlgorithmTypeContext) REGEX_MATCH() antlr.TerminalNode { + return s.GetToken(RDLStatementParserREGEX_MATCH, 0) +} + +func (s *BuildInShadowAlgorithmTypeContext) SQL_HINT() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSQL_HINT, 0) +} + +func (s *BuildInShadowAlgorithmTypeContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *BuildInShadowAlgorithmTypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *BuildInShadowAlgorithmTypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitBuildInShadowAlgorithmType(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *RDLStatementParser) BuildInShadowAlgorithmType() (localctx IBuildInShadowAlgorithmTypeContext) { + localctx = NewBuildInShadowAlgorithmTypeContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 36, RDLStatementParserRULE_buildInShadowAlgorithmType) + var _la int + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(192) + _la = p.GetTokenStream().LA(1) + + if !(((_la-72)&-(0x1f+1)) == 0 && ((1<>'", "'^'", + "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", + "'=='", "'='", "", "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", "'{'", + "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", "';'", + "'->>'", "'_'", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'", +} + +var lexerSymbolicNames = []string{ + "", "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", + "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", + "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", + "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", "RBE_", + "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", "SEMI_", + "JSONSEPARATOR_", "UL_", "WS", "CREATE", "ALTER", "DROP", "SHOW", "SHARDING", + "RULE", "FROM", "STORAGE_UNITS", "KEY_GENERATE_STRATEGY", "DEFAULT_TABLE_STRATEGY", + "TABLE", "SHARDING_COLUMN", "SHARDING_COLUMNS", "TYPE", "NAME", "PROPERTIES", + "COLUMN", "REFERENCE", "BROADCAST", "RULES", "COLUMNS", "ALGORITHM", "ALGORITHMS", + "HINT", "DEFAULT", "DATABASE", "SHARDING_ALGORITHM", "STRATEGY", "DATANODES", + "DATABASE_STRATEGY", "TABLE_STRATEGY", "NODES", "KEY", "GENERATOR", "GENERATORS", + "KEY_GENERATOR", "UNUSED", "USED", "IF", "EXISTS", "WITH", "COUNT", "AUDITOR", + "AUDITORS", "AUDIT_STRATEGY", "ALLOW_HINT_DISABLE", "TRUE", "FALSE", "MOD", + "COSID_MOD", "HASH_MOD", "VOLUME_RANGE", "BOUNDARY_RANGE", "AUTO_INTERVAL", + "INLINE", "INTERVAL", "COSID_INTERVAL", "COSID_INTERVAL_SNOWFLAKE", "COMPLEX_INLINE", + "HINT_INLINE", "CLASS_BASED", "SNOWFLAKE", "NANOID", "UUID", "COSID", "COSID_SNOWFLAKE", + "STANDARD", "COMPLEX", "DML_SHARDING_CONDITIONS", "NOT", "NONE", "FOR_GENERATOR", + "IDENTIFIER_", "STRING_", "INT_", +} + +var lexerRuleNames = []string{ + "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", + "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", + "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", + "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", "RBE_", + "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", "SEMI_", + "JSONSEPARATOR_", "UL_", "WS", "CREATE", "ALTER", "DROP", "SHOW", "SHARDING", + "RULE", "FROM", "STORAGE_UNITS", "KEY_GENERATE_STRATEGY", "DEFAULT_TABLE_STRATEGY", + "TABLE", "SHARDING_COLUMN", "SHARDING_COLUMNS", "TYPE", "NAME", "PROPERTIES", + "COLUMN", "REFERENCE", "BROADCAST", "RULES", "COLUMNS", "ALGORITHM", "ALGORITHMS", + "HINT", "DEFAULT", "DATABASE", "SHARDING_ALGORITHM", "STRATEGY", "DATANODES", + "DATABASE_STRATEGY", "TABLE_STRATEGY", "NODES", "KEY", "GENERATOR", "GENERATORS", + "KEY_GENERATOR", "UNUSED", "USED", "IF", "EXISTS", "WITH", "COUNT", "AUDITOR", + "AUDITORS", "AUDIT_STRATEGY", "ALLOW_HINT_DISABLE", "TRUE", "FALSE", "MOD", + "COSID_MOD", "HASH_MOD", "VOLUME_RANGE", "BOUNDARY_RANGE", "AUTO_INTERVAL", + "INLINE", "INTERVAL", "COSID_INTERVAL", "COSID_INTERVAL_SNOWFLAKE", "COMPLEX_INLINE", + "HINT_INLINE", "CLASS_BASED", "SNOWFLAKE", "NANOID", "UUID", "COSID", "COSID_SNOWFLAKE", + "STANDARD", "COMPLEX", "DML_SHARDING_CONDITIONS", "NOT", "NONE", "FOR_GENERATOR", + "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", + "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "IDENTIFIER_", "STRING_", + "INT_", +} + +type RDLStatementLexer struct { + *antlr.BaseLexer + channelNames []string + modeNames []string + // TODO: EOF string +} + +var lexerDecisionToDFA = make([]*antlr.DFA, len(lexerAtn.DecisionToState)) + +func init() { + for index, ds := range lexerAtn.DecisionToState { + lexerDecisionToDFA[index] = antlr.NewDFA(ds, index) + } +} + +func NewRDLStatementLexer(input antlr.CharStream) *RDLStatementLexer { + + l := new(RDLStatementLexer) + + l.BaseLexer = antlr.NewBaseLexer(input) + l.Interpreter = antlr.NewLexerATNSimulator(l, lexerAtn, lexerDecisionToDFA, antlr.NewPredictionContextCache()) + + l.channelNames = lexerChannelNames + l.modeNames = lexerModeNames + l.RuleNames = lexerRuleNames + l.LiteralNames = lexerLiteralNames + l.SymbolicNames = lexerSymbolicNames + l.GrammarFileName = "RDLStatement.g4" + // TODO: l.EOF = antlr.TokenEOF + + return l +} + +// RDLStatementLexer tokens. +const ( + RDLStatementLexerAND_ = 1 + RDLStatementLexerOR_ = 2 + RDLStatementLexerNOT_ = 3 + RDLStatementLexerTILDE_ = 4 + RDLStatementLexerVERTICALBAR_ = 5 + RDLStatementLexerAMPERSAND_ = 6 + RDLStatementLexerSIGNEDLEFTSHIFT_ = 7 + RDLStatementLexerSIGNEDRIGHTSHIFT_ = 8 + RDLStatementLexerCARET_ = 9 + RDLStatementLexerMOD_ = 10 + RDLStatementLexerCOLON_ = 11 + RDLStatementLexerPLUS_ = 12 + RDLStatementLexerMINUS_ = 13 + RDLStatementLexerASTERISK_ = 14 + RDLStatementLexerSLASH_ = 15 + RDLStatementLexerBACKSLASH_ = 16 + RDLStatementLexerDOT_ = 17 + RDLStatementLexerDOTASTERISK_ = 18 + RDLStatementLexerSAFEEQ_ = 19 + RDLStatementLexerDEQ_ = 20 + RDLStatementLexerEQ_ = 21 + RDLStatementLexerNEQ_ = 22 + RDLStatementLexerGT_ = 23 + RDLStatementLexerGTE_ = 24 + RDLStatementLexerLT_ = 25 + RDLStatementLexerLTE_ = 26 + RDLStatementLexerPOUND_ = 27 + RDLStatementLexerLP_ = 28 + RDLStatementLexerRP_ = 29 + RDLStatementLexerLBE_ = 30 + RDLStatementLexerRBE_ = 31 + RDLStatementLexerLBT_ = 32 + RDLStatementLexerRBT_ = 33 + RDLStatementLexerCOMMA_ = 34 + RDLStatementLexerDQ_ = 35 + RDLStatementLexerSQ_ = 36 + RDLStatementLexerBQ_ = 37 + RDLStatementLexerQUESTION_ = 38 + RDLStatementLexerAT_ = 39 + RDLStatementLexerSEMI_ = 40 + RDLStatementLexerJSONSEPARATOR_ = 41 + RDLStatementLexerUL_ = 42 + RDLStatementLexerWS = 43 + RDLStatementLexerCREATE = 44 + RDLStatementLexerALTER = 45 + RDLStatementLexerDROP = 46 + RDLStatementLexerSHOW = 47 + RDLStatementLexerSHARDING = 48 + RDLStatementLexerRULE = 49 + RDLStatementLexerFROM = 50 + RDLStatementLexerSTORAGE_UNITS = 51 + RDLStatementLexerKEY_GENERATE_STRATEGY = 52 + RDLStatementLexerDEFAULT_TABLE_STRATEGY = 53 + RDLStatementLexerTABLE = 54 + RDLStatementLexerSHARDING_COLUMN = 55 + RDLStatementLexerSHARDING_COLUMNS = 56 + RDLStatementLexerTYPE = 57 + RDLStatementLexerNAME = 58 + RDLStatementLexerPROPERTIES = 59 + RDLStatementLexerCOLUMN = 60 + RDLStatementLexerREFERENCE = 61 + RDLStatementLexerBROADCAST = 62 + RDLStatementLexerRULES = 63 + RDLStatementLexerCOLUMNS = 64 + RDLStatementLexerALGORITHM = 65 + RDLStatementLexerALGORITHMS = 66 + RDLStatementLexerHINT = 67 + RDLStatementLexerDEFAULT = 68 + RDLStatementLexerDATABASE = 69 + RDLStatementLexerSHARDING_ALGORITHM = 70 + RDLStatementLexerSTRATEGY = 71 + RDLStatementLexerDATANODES = 72 + RDLStatementLexerDATABASE_STRATEGY = 73 + RDLStatementLexerTABLE_STRATEGY = 74 + RDLStatementLexerNODES = 75 + RDLStatementLexerKEY = 76 + RDLStatementLexerGENERATOR = 77 + RDLStatementLexerGENERATORS = 78 + RDLStatementLexerKEY_GENERATOR = 79 + RDLStatementLexerUNUSED = 80 + RDLStatementLexerUSED = 81 + RDLStatementLexerIF = 82 + RDLStatementLexerEXISTS = 83 + RDLStatementLexerWITH = 84 + RDLStatementLexerCOUNT = 85 + RDLStatementLexerAUDITOR = 86 + RDLStatementLexerAUDITORS = 87 + RDLStatementLexerAUDIT_STRATEGY = 88 + RDLStatementLexerALLOW_HINT_DISABLE = 89 + RDLStatementLexerTRUE = 90 + RDLStatementLexerFALSE = 91 + RDLStatementLexerMOD = 92 + RDLStatementLexerCOSID_MOD = 93 + RDLStatementLexerHASH_MOD = 94 + RDLStatementLexerVOLUME_RANGE = 95 + RDLStatementLexerBOUNDARY_RANGE = 96 + RDLStatementLexerAUTO_INTERVAL = 97 + RDLStatementLexerINLINE = 98 + RDLStatementLexerINTERVAL = 99 + RDLStatementLexerCOSID_INTERVAL = 100 + RDLStatementLexerCOSID_INTERVAL_SNOWFLAKE = 101 + RDLStatementLexerCOMPLEX_INLINE = 102 + RDLStatementLexerHINT_INLINE = 103 + RDLStatementLexerCLASS_BASED = 104 + RDLStatementLexerSNOWFLAKE = 105 + RDLStatementLexerNANOID = 106 + RDLStatementLexerUUID = 107 + RDLStatementLexerCOSID = 108 + RDLStatementLexerCOSID_SNOWFLAKE = 109 + RDLStatementLexerSTANDARD = 110 + RDLStatementLexerCOMPLEX = 111 + RDLStatementLexerDML_SHARDING_CONDITIONS = 112 + RDLStatementLexerNOT = 113 + RDLStatementLexerNONE = 114 + RDLStatementLexerFOR_GENERATOR = 115 + RDLStatementLexerIDENTIFIER_ = 116 + RDLStatementLexerSTRING_ = 117 + RDLStatementLexerINT_ = 118 +) diff --git a/shardingsphere-operator/pkg/distsql/visitor_parser/sharding/rdlstatement_parser.go b/shardingsphere-operator/pkg/distsql/visitor_parser/sharding/rdlstatement_parser.go new file mode 100644 index 00000000..506e0462 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/visitor_parser/sharding/rdlstatement_parser.go @@ -0,0 +1,8804 @@ +// Code generated from RDLStatement.g4 by ANTLR 4.8. DO NOT EDIT. + +package parser // RDLStatement + +import ( + "fmt" + "reflect" + "strconv" + + "github.com/antlr/antlr4/runtime/Go/antlr" +) + +// Suppress unused import errors +var _ = fmt.Printf +var _ = reflect.Copy +var _ = strconv.Itoa + + +var parserATN = []uint16{ + 3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 120, 543, + 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, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 5, 2, 118, 10, 2, 3, + 2, 3, 2, 3, 2, 7, 2, 123, 10, 2, 12, 2, 14, 2, 126, 11, 2, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 135, 10, 3, 12, 3, 14, 3, 138, 11, + 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 5, 4, 145, 10, 4, 3, 4, 3, 4, 3, 4, 7, + 4, 150, 10, 4, 12, 4, 14, 4, 153, 11, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, + 3, 5, 5, 5, 161, 10, 5, 3, 5, 3, 5, 3, 5, 7, 5, 166, 10, 5, 12, 5, 14, + 5, 169, 11, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 7, 6, 179, + 10, 6, 12, 6, 14, 6, 182, 11, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 5, + 7, 190, 10, 7, 3, 7, 3, 7, 3, 7, 7, 7, 195, 10, 7, 12, 7, 14, 7, 198, 11, + 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 5, 8, 205, 10, 8, 3, 8, 3, 8, 3, 8, 7, + 8, 210, 10, 8, 12, 8, 14, 8, 213, 11, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, + 5, 9, 220, 10, 9, 3, 9, 3, 9, 3, 9, 7, 9, 225, 10, 9, 12, 9, 14, 9, 228, + 11, 9, 3, 10, 3, 10, 3, 10, 3, 10, 5, 10, 234, 10, 10, 3, 10, 3, 10, 3, + 10, 7, 10, 239, 10, 10, 12, 10, 14, 10, 242, 11, 10, 3, 11, 3, 11, 3, 11, + 3, 11, 3, 11, 3, 11, 5, 11, 250, 10, 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, 5, 13, 271, 10, 13, 3, 14, 3, 14, 3, 14, 3, + 14, 3, 14, 5, 14, 278, 10, 14, 3, 14, 3, 14, 3, 14, 7, 14, 283, 10, 14, + 12, 14, 14, 14, 286, 11, 14, 3, 15, 3, 15, 3, 15, 3, 15, 5, 15, 292, 10, + 15, 3, 15, 3, 15, 3, 15, 7, 15, 297, 10, 15, 12, 15, 14, 15, 300, 11, 15, + 3, 16, 3, 16, 5, 16, 304, 10, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, + 17, 3, 17, 3, 17, 3, 17, 5, 17, 315, 10, 17, 3, 17, 3, 17, 5, 17, 319, + 10, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 5, 18, 328, 10, + 18, 3, 18, 3, 18, 5, 18, 332, 10, 18, 3, 18, 3, 18, 5, 18, 336, 10, 18, + 3, 18, 3, 18, 5, 18, 340, 10, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 20, 3, + 20, 3, 20, 3, 20, 3, 20, 3, 21, 3, 21, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, + 7, 22, 358, 10, 22, 12, 22, 14, 22, 361, 11, 22, 3, 22, 3, 22, 3, 23, 3, + 23, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 7, 24, 372, 10, 24, 12, 24, 14, + 24, 375, 11, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, + 5, 27, 385, 10, 27, 3, 28, 3, 28, 3, 28, 3, 28, 3, 29, 3, 29, 3, 29, 3, + 29, 3, 29, 3, 29, 3, 29, 7, 29, 398, 10, 29, 12, 29, 14, 29, 401, 11, 29, + 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 5, + 31, 413, 10, 31, 3, 31, 3, 31, 5, 31, 417, 10, 31, 3, 32, 3, 32, 3, 32, + 3, 32, 3, 32, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 34, 3, 34, 3, 34, 3, + 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, + 3, 35, 3, 35, 3, 35, 3, 35, 3, 36, 3, 36, 3, 36, 7, 36, 450, 10, 36, 12, + 36, 14, 36, 453, 11, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, + 3, 40, 3, 40, 3, 40, 3, 40, 7, 40, 466, 10, 40, 12, 40, 14, 40, 469, 11, + 40, 3, 40, 3, 40, 3, 41, 3, 41, 5, 41, 475, 10, 41, 3, 42, 3, 42, 3, 43, + 3, 43, 3, 43, 3, 44, 3, 44, 3, 44, 3, 44, 3, 45, 3, 45, 5, 45, 488, 10, + 45, 3, 45, 3, 45, 3, 45, 5, 45, 493, 10, 45, 3, 46, 3, 46, 3, 46, 3, 46, + 3, 46, 3, 46, 3, 46, 5, 46, 502, 10, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, + 47, 3, 47, 5, 47, 510, 10, 47, 3, 48, 3, 48, 3, 49, 3, 49, 3, 50, 3, 50, + 3, 51, 3, 51, 3, 51, 5, 51, 521, 10, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, + 52, 7, 52, 528, 10, 52, 12, 52, 14, 52, 531, 11, 52, 3, 53, 3, 53, 3, 53, + 3, 53, 3, 54, 3, 54, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 2, 2, 57, 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, 2, + 8, 4, 2, 56, 56, 71, 71, 3, 2, 118, 119, 3, 2, 92, 93, 5, 2, 69, 69, 112, + 113, 116, 116, 3, 2, 94, 106, 3, 2, 107, 111, 2, 535, 2, 112, 3, 2, 2, + 2, 4, 127, 3, 2, 2, 2, 6, 139, 3, 2, 2, 2, 8, 154, 3, 2, 2, 2, 10, 170, + 3, 2, 2, 2, 12, 183, 3, 2, 2, 2, 14, 199, 3, 2, 2, 2, 16, 214, 3, 2, 2, + 2, 18, 229, 3, 2, 2, 2, 20, 243, 3, 2, 2, 2, 22, 255, 3, 2, 2, 2, 24, 264, + 3, 2, 2, 2, 26, 272, 3, 2, 2, 2, 28, 287, 3, 2, 2, 2, 30, 303, 3, 2, 2, + 2, 32, 305, 3, 2, 2, 2, 34, 322, 3, 2, 2, 2, 36, 343, 3, 2, 2, 2, 38, 345, + 3, 2, 2, 2, 40, 350, 3, 2, 2, 2, 42, 352, 3, 2, 2, 2, 44, 364, 3, 2, 2, + 2, 46, 366, 3, 2, 2, 2, 48, 378, 3, 2, 2, 2, 50, 380, 3, 2, 2, 2, 52, 384, + 3, 2, 2, 2, 54, 386, 3, 2, 2, 2, 56, 390, 3, 2, 2, 2, 58, 402, 3, 2, 2, + 2, 60, 407, 3, 2, 2, 2, 62, 418, 3, 2, 2, 2, 64, 423, 3, 2, 2, 2, 66, 428, + 3, 2, 2, 2, 68, 437, 3, 2, 2, 2, 70, 446, 3, 2, 2, 2, 72, 454, 3, 2, 2, + 2, 74, 456, 3, 2, 2, 2, 76, 458, 3, 2, 2, 2, 78, 460, 3, 2, 2, 2, 80, 474, + 3, 2, 2, 2, 82, 476, 3, 2, 2, 2, 84, 478, 3, 2, 2, 2, 86, 481, 3, 2, 2, + 2, 88, 492, 3, 2, 2, 2, 90, 494, 3, 2, 2, 2, 92, 509, 3, 2, 2, 2, 94, 511, + 3, 2, 2, 2, 96, 513, 3, 2, 2, 2, 98, 515, 3, 2, 2, 2, 100, 517, 3, 2, 2, + 2, 102, 524, 3, 2, 2, 2, 104, 532, 3, 2, 2, 2, 106, 536, 3, 2, 2, 2, 108, + 538, 3, 2, 2, 2, 110, 540, 3, 2, 2, 2, 112, 113, 7, 46, 2, 2, 113, 114, + 7, 50, 2, 2, 114, 115, 7, 56, 2, 2, 115, 117, 7, 51, 2, 2, 116, 118, 5, + 86, 44, 2, 117, 116, 3, 2, 2, 2, 117, 118, 3, 2, 2, 2, 118, 119, 3, 2, + 2, 2, 119, 124, 5, 30, 16, 2, 120, 121, 7, 36, 2, 2, 121, 123, 5, 30, 16, + 2, 122, 120, 3, 2, 2, 2, 123, 126, 3, 2, 2, 2, 124, 122, 3, 2, 2, 2, 124, + 125, 3, 2, 2, 2, 125, 3, 3, 2, 2, 2, 126, 124, 3, 2, 2, 2, 127, 128, 7, + 47, 2, 2, 128, 129, 7, 50, 2, 2, 129, 130, 7, 56, 2, 2, 130, 131, 7, 51, + 2, 2, 131, 136, 5, 30, 16, 2, 132, 133, 7, 36, 2, 2, 133, 135, 5, 30, 16, + 2, 134, 132, 3, 2, 2, 2, 135, 138, 3, 2, 2, 2, 136, 134, 3, 2, 2, 2, 136, + 137, 3, 2, 2, 2, 137, 5, 3, 2, 2, 2, 138, 136, 3, 2, 2, 2, 139, 140, 7, + 48, 2, 2, 140, 141, 7, 50, 2, 2, 141, 142, 7, 56, 2, 2, 142, 144, 7, 51, + 2, 2, 143, 145, 5, 84, 43, 2, 144, 143, 3, 2, 2, 2, 144, 145, 3, 2, 2, + 2, 145, 146, 3, 2, 2, 2, 146, 151, 5, 106, 54, 2, 147, 148, 7, 36, 2, 2, + 148, 150, 5, 106, 54, 2, 149, 147, 3, 2, 2, 2, 150, 153, 3, 2, 2, 2, 151, + 149, 3, 2, 2, 2, 151, 152, 3, 2, 2, 2, 152, 7, 3, 2, 2, 2, 153, 151, 3, + 2, 2, 2, 154, 155, 7, 46, 2, 2, 155, 156, 7, 50, 2, 2, 156, 157, 7, 56, + 2, 2, 157, 158, 7, 63, 2, 2, 158, 160, 7, 51, 2, 2, 159, 161, 5, 86, 44, + 2, 160, 159, 3, 2, 2, 2, 160, 161, 3, 2, 2, 2, 161, 162, 3, 2, 2, 2, 162, + 167, 5, 78, 40, 2, 163, 164, 7, 36, 2, 2, 164, 166, 5, 78, 40, 2, 165, + 163, 3, 2, 2, 2, 166, 169, 3, 2, 2, 2, 167, 165, 3, 2, 2, 2, 167, 168, + 3, 2, 2, 2, 168, 9, 3, 2, 2, 2, 169, 167, 3, 2, 2, 2, 170, 171, 7, 47, + 2, 2, 171, 172, 7, 50, 2, 2, 172, 173, 7, 56, 2, 2, 173, 174, 7, 63, 2, + 2, 174, 175, 7, 51, 2, 2, 175, 180, 5, 78, 40, 2, 176, 177, 7, 36, 2, 2, + 177, 179, 5, 78, 40, 2, 178, 176, 3, 2, 2, 2, 179, 182, 3, 2, 2, 2, 180, + 178, 3, 2, 2, 2, 180, 181, 3, 2, 2, 2, 181, 11, 3, 2, 2, 2, 182, 180, 3, + 2, 2, 2, 183, 184, 7, 48, 2, 2, 184, 185, 7, 50, 2, 2, 185, 186, 7, 56, + 2, 2, 186, 187, 7, 63, 2, 2, 187, 189, 7, 51, 2, 2, 188, 190, 5, 84, 43, + 2, 189, 188, 3, 2, 2, 2, 189, 190, 3, 2, 2, 2, 190, 191, 3, 2, 2, 2, 191, + 196, 5, 110, 56, 2, 192, 193, 7, 36, 2, 2, 193, 195, 5, 110, 56, 2, 194, + 192, 3, 2, 2, 2, 195, 198, 3, 2, 2, 2, 196, 194, 3, 2, 2, 2, 196, 197, + 3, 2, 2, 2, 197, 13, 3, 2, 2, 2, 198, 196, 3, 2, 2, 2, 199, 200, 7, 46, + 2, 2, 200, 201, 7, 64, 2, 2, 201, 202, 7, 56, 2, 2, 202, 204, 7, 51, 2, + 2, 203, 205, 5, 86, 44, 2, 204, 203, 3, 2, 2, 2, 204, 205, 3, 2, 2, 2, + 205, 206, 3, 2, 2, 2, 206, 211, 5, 106, 54, 2, 207, 208, 7, 36, 2, 2, 208, + 210, 5, 106, 54, 2, 209, 207, 3, 2, 2, 2, 210, 213, 3, 2, 2, 2, 211, 209, + 3, 2, 2, 2, 211, 212, 3, 2, 2, 2, 212, 15, 3, 2, 2, 2, 213, 211, 3, 2, + 2, 2, 214, 215, 7, 48, 2, 2, 215, 216, 7, 64, 2, 2, 216, 217, 7, 56, 2, + 2, 217, 219, 7, 51, 2, 2, 218, 220, 5, 84, 43, 2, 219, 218, 3, 2, 2, 2, + 219, 220, 3, 2, 2, 2, 220, 221, 3, 2, 2, 2, 221, 226, 5, 106, 54, 2, 222, + 223, 7, 36, 2, 2, 223, 225, 5, 106, 54, 2, 224, 222, 3, 2, 2, 2, 225, 228, + 3, 2, 2, 2, 226, 224, 3, 2, 2, 2, 226, 227, 3, 2, 2, 2, 227, 17, 3, 2, + 2, 2, 228, 226, 3, 2, 2, 2, 229, 230, 7, 48, 2, 2, 230, 231, 7, 50, 2, + 2, 231, 233, 7, 67, 2, 2, 232, 234, 5, 84, 43, 2, 233, 232, 3, 2, 2, 2, + 233, 234, 3, 2, 2, 2, 234, 235, 3, 2, 2, 2, 235, 240, 5, 108, 55, 2, 236, + 237, 7, 36, 2, 2, 237, 239, 5, 108, 55, 2, 238, 236, 3, 2, 2, 2, 239, 242, + 3, 2, 2, 2, 240, 238, 3, 2, 2, 2, 240, 241, 3, 2, 2, 2, 241, 19, 3, 2, + 2, 2, 242, 240, 3, 2, 2, 2, 243, 244, 7, 46, 2, 2, 244, 245, 7, 70, 2, + 2, 245, 246, 7, 50, 2, 2, 246, 247, 9, 2, 2, 2, 247, 249, 7, 73, 2, 2, + 248, 250, 5, 86, 44, 2, 249, 248, 3, 2, 2, 2, 249, 250, 3, 2, 2, 2, 250, + 251, 3, 2, 2, 2, 251, 252, 7, 30, 2, 2, 252, 253, 5, 60, 31, 2, 253, 254, + 7, 31, 2, 2, 254, 21, 3, 2, 2, 2, 255, 256, 7, 47, 2, 2, 256, 257, 7, 70, + 2, 2, 257, 258, 7, 50, 2, 2, 258, 259, 9, 2, 2, 2, 259, 260, 7, 73, 2, + 2, 260, 261, 7, 30, 2, 2, 261, 262, 5, 60, 31, 2, 262, 263, 7, 31, 2, 2, + 263, 23, 3, 2, 2, 2, 264, 265, 7, 48, 2, 2, 265, 266, 7, 70, 2, 2, 266, + 267, 7, 50, 2, 2, 267, 268, 9, 2, 2, 2, 268, 270, 7, 73, 2, 2, 269, 271, + 5, 84, 43, 2, 270, 269, 3, 2, 2, 2, 270, 271, 3, 2, 2, 2, 271, 25, 3, 2, + 2, 2, 272, 273, 7, 48, 2, 2, 273, 274, 7, 50, 2, 2, 274, 275, 7, 78, 2, + 2, 275, 277, 7, 79, 2, 2, 276, 278, 5, 84, 43, 2, 277, 276, 3, 2, 2, 2, + 277, 278, 3, 2, 2, 2, 278, 279, 3, 2, 2, 2, 279, 284, 5, 36, 19, 2, 280, + 281, 7, 36, 2, 2, 281, 283, 5, 36, 19, 2, 282, 280, 3, 2, 2, 2, 283, 286, + 3, 2, 2, 2, 284, 282, 3, 2, 2, 2, 284, 285, 3, 2, 2, 2, 285, 27, 3, 2, + 2, 2, 286, 284, 3, 2, 2, 2, 287, 288, 7, 48, 2, 2, 288, 289, 7, 50, 2, + 2, 289, 291, 7, 88, 2, 2, 290, 292, 5, 84, 43, 2, 291, 290, 3, 2, 2, 2, + 291, 292, 3, 2, 2, 2, 292, 293, 3, 2, 2, 2, 293, 298, 5, 40, 21, 2, 294, + 295, 7, 36, 2, 2, 295, 297, 5, 40, 21, 2, 296, 294, 3, 2, 2, 2, 297, 300, + 3, 2, 2, 2, 298, 296, 3, 2, 2, 2, 298, 299, 3, 2, 2, 2, 299, 29, 3, 2, + 2, 2, 300, 298, 3, 2, 2, 2, 301, 304, 5, 32, 17, 2, 302, 304, 5, 34, 18, + 2, 303, 301, 3, 2, 2, 2, 303, 302, 3, 2, 2, 2, 304, 31, 3, 2, 2, 2, 305, + 306, 5, 106, 54, 2, 306, 307, 7, 30, 2, 2, 307, 308, 5, 42, 22, 2, 308, + 309, 7, 36, 2, 2, 309, 310, 5, 50, 26, 2, 310, 311, 7, 36, 2, 2, 311, 314, + 5, 90, 46, 2, 312, 313, 7, 36, 2, 2, 313, 315, 5, 66, 34, 2, 314, 312, + 3, 2, 2, 2, 314, 315, 3, 2, 2, 2, 315, 318, 3, 2, 2, 2, 316, 317, 7, 36, + 2, 2, 317, 319, 5, 68, 35, 2, 318, 316, 3, 2, 2, 2, 318, 319, 3, 2, 2, + 2, 319, 320, 3, 2, 2, 2, 320, 321, 7, 31, 2, 2, 321, 33, 3, 2, 2, 2, 322, + 323, 5, 106, 54, 2, 323, 324, 7, 30, 2, 2, 324, 327, 5, 46, 24, 2, 325, + 326, 7, 36, 2, 2, 326, 328, 5, 62, 32, 2, 327, 325, 3, 2, 2, 2, 327, 328, + 3, 2, 2, 2, 328, 331, 3, 2, 2, 2, 329, 330, 7, 36, 2, 2, 330, 332, 5, 64, + 33, 2, 331, 329, 3, 2, 2, 2, 331, 332, 3, 2, 2, 2, 332, 335, 3, 2, 2, 2, + 333, 334, 7, 36, 2, 2, 334, 336, 5, 66, 34, 2, 335, 333, 3, 2, 2, 2, 335, + 336, 3, 2, 2, 2, 336, 339, 3, 2, 2, 2, 337, 338, 7, 36, 2, 2, 338, 340, + 5, 68, 35, 2, 339, 337, 3, 2, 2, 2, 339, 340, 3, 2, 2, 2, 340, 341, 3, + 2, 2, 2, 341, 342, 7, 31, 2, 2, 342, 35, 3, 2, 2, 2, 343, 344, 7, 118, + 2, 2, 344, 37, 3, 2, 2, 2, 345, 346, 5, 40, 21, 2, 346, 347, 7, 30, 2, + 2, 347, 348, 5, 90, 46, 2, 348, 349, 7, 31, 2, 2, 349, 39, 3, 2, 2, 2, + 350, 351, 7, 118, 2, 2, 351, 41, 3, 2, 2, 2, 352, 353, 7, 53, 2, 2, 353, + 354, 7, 30, 2, 2, 354, 359, 5, 44, 23, 2, 355, 356, 7, 36, 2, 2, 356, 358, + 5, 44, 23, 2, 357, 355, 3, 2, 2, 2, 358, 361, 3, 2, 2, 2, 359, 357, 3, + 2, 2, 2, 359, 360, 3, 2, 2, 2, 360, 362, 3, 2, 2, 2, 361, 359, 3, 2, 2, + 2, 362, 363, 7, 31, 2, 2, 363, 43, 3, 2, 2, 2, 364, 365, 9, 3, 2, 2, 365, + 45, 3, 2, 2, 2, 366, 367, 7, 74, 2, 2, 367, 368, 7, 30, 2, 2, 368, 373, + 5, 48, 25, 2, 369, 370, 7, 36, 2, 2, 370, 372, 5, 48, 25, 2, 371, 369, + 3, 2, 2, 2, 372, 375, 3, 2, 2, 2, 373, 371, 3, 2, 2, 2, 373, 374, 3, 2, + 2, 2, 374, 376, 3, 2, 2, 2, 375, 373, 3, 2, 2, 2, 376, 377, 7, 31, 2, 2, + 377, 47, 3, 2, 2, 2, 378, 379, 7, 119, 2, 2, 379, 49, 3, 2, 2, 2, 380, + 381, 5, 54, 28, 2, 381, 51, 3, 2, 2, 2, 382, 385, 5, 54, 28, 2, 383, 385, + 5, 56, 29, 2, 384, 382, 3, 2, 2, 2, 384, 383, 3, 2, 2, 2, 385, 53, 3, 2, + 2, 2, 386, 387, 7, 57, 2, 2, 387, 388, 7, 23, 2, 2, 388, 389, 5, 76, 39, + 2, 389, 55, 3, 2, 2, 2, 390, 391, 7, 58, 2, 2, 391, 392, 7, 23, 2, 2, 392, + 393, 5, 76, 39, 2, 393, 394, 7, 36, 2, 2, 394, 399, 5, 76, 39, 2, 395, + 396, 7, 36, 2, 2, 396, 398, 5, 76, 39, 2, 397, 395, 3, 2, 2, 2, 398, 401, + 3, 2, 2, 2, 399, 397, 3, 2, 2, 2, 399, 400, 3, 2, 2, 2, 400, 57, 3, 2, + 2, 2, 401, 399, 3, 2, 2, 2, 402, 403, 7, 72, 2, 2, 403, 404, 7, 30, 2, + 2, 404, 405, 5, 90, 46, 2, 405, 406, 7, 31, 2, 2, 406, 59, 3, 2, 2, 2, + 407, 408, 7, 59, 2, 2, 408, 409, 7, 23, 2, 2, 409, 416, 5, 80, 41, 2, 410, + 411, 7, 36, 2, 2, 411, 413, 5, 52, 27, 2, 412, 410, 3, 2, 2, 2, 412, 413, + 3, 2, 2, 2, 413, 414, 3, 2, 2, 2, 414, 415, 7, 36, 2, 2, 415, 417, 5, 58, + 30, 2, 416, 412, 3, 2, 2, 2, 416, 417, 3, 2, 2, 2, 417, 61, 3, 2, 2, 2, + 418, 419, 7, 75, 2, 2, 419, 420, 7, 30, 2, 2, 420, 421, 5, 60, 31, 2, 421, + 422, 7, 31, 2, 2, 422, 63, 3, 2, 2, 2, 423, 424, 7, 76, 2, 2, 424, 425, + 7, 30, 2, 2, 425, 426, 5, 60, 31, 2, 426, 427, 7, 31, 2, 2, 427, 65, 3, + 2, 2, 2, 428, 429, 7, 54, 2, 2, 429, 430, 7, 30, 2, 2, 430, 431, 7, 62, + 2, 2, 431, 432, 7, 23, 2, 2, 432, 433, 5, 76, 39, 2, 433, 434, 7, 36, 2, + 2, 434, 435, 5, 90, 46, 2, 435, 436, 7, 31, 2, 2, 436, 67, 3, 2, 2, 2, + 437, 438, 7, 90, 2, 2, 438, 439, 7, 30, 2, 2, 439, 440, 5, 70, 36, 2, 440, + 441, 7, 36, 2, 2, 441, 442, 7, 91, 2, 2, 442, 443, 7, 23, 2, 2, 443, 444, + 5, 74, 38, 2, 444, 445, 7, 31, 2, 2, 445, 69, 3, 2, 2, 2, 446, 451, 5, + 72, 37, 2, 447, 448, 7, 36, 2, 2, 448, 450, 5, 72, 37, 2, 449, 447, 3, + 2, 2, 2, 450, 453, 3, 2, 2, 2, 451, 449, 3, 2, 2, 2, 451, 452, 3, 2, 2, + 2, 452, 71, 3, 2, 2, 2, 453, 451, 3, 2, 2, 2, 454, 455, 5, 90, 46, 2, 455, + 73, 3, 2, 2, 2, 456, 457, 9, 4, 2, 2, 457, 75, 3, 2, 2, 2, 458, 459, 7, + 118, 2, 2, 459, 77, 3, 2, 2, 2, 460, 461, 5, 110, 56, 2, 461, 462, 7, 30, + 2, 2, 462, 467, 5, 106, 54, 2, 463, 464, 7, 36, 2, 2, 464, 466, 5, 106, + 54, 2, 465, 463, 3, 2, 2, 2, 466, 469, 3, 2, 2, 2, 467, 465, 3, 2, 2, 2, + 467, 468, 3, 2, 2, 2, 468, 470, 3, 2, 2, 2, 469, 467, 3, 2, 2, 2, 470, + 471, 7, 31, 2, 2, 471, 79, 3, 2, 2, 2, 472, 475, 7, 119, 2, 2, 473, 475, + 5, 82, 42, 2, 474, 472, 3, 2, 2, 2, 474, 473, 3, 2, 2, 2, 475, 81, 3, 2, + 2, 2, 476, 477, 9, 5, 2, 2, 477, 83, 3, 2, 2, 2, 478, 479, 7, 84, 2, 2, + 479, 480, 7, 85, 2, 2, 480, 85, 3, 2, 2, 2, 481, 482, 7, 84, 2, 2, 482, + 483, 7, 115, 2, 2, 483, 484, 7, 85, 2, 2, 484, 87, 3, 2, 2, 2, 485, 493, + 7, 119, 2, 2, 486, 488, 7, 15, 2, 2, 487, 486, 3, 2, 2, 2, 487, 488, 3, + 2, 2, 2, 488, 489, 3, 2, 2, 2, 489, 493, 7, 120, 2, 2, 490, 493, 7, 92, + 2, 2, 491, 493, 7, 93, 2, 2, 492, 485, 3, 2, 2, 2, 492, 487, 3, 2, 2, 2, + 492, 490, 3, 2, 2, 2, 492, 491, 3, 2, 2, 2, 493, 89, 3, 2, 2, 2, 494, 495, + 7, 59, 2, 2, 495, 496, 7, 30, 2, 2, 496, 497, 7, 60, 2, 2, 497, 498, 7, + 23, 2, 2, 498, 501, 5, 92, 47, 2, 499, 500, 7, 36, 2, 2, 500, 502, 5, 100, + 51, 2, 501, 499, 3, 2, 2, 2, 501, 502, 3, 2, 2, 2, 502, 503, 3, 2, 2, 2, + 503, 504, 7, 31, 2, 2, 504, 91, 3, 2, 2, 2, 505, 510, 7, 119, 2, 2, 506, + 510, 5, 94, 48, 2, 507, 510, 5, 96, 49, 2, 508, 510, 5, 98, 50, 2, 509, + 505, 3, 2, 2, 2, 509, 506, 3, 2, 2, 2, 509, 507, 3, 2, 2, 2, 509, 508, + 3, 2, 2, 2, 510, 93, 3, 2, 2, 2, 511, 512, 9, 6, 2, 2, 512, 95, 3, 2, 2, + 2, 513, 514, 9, 7, 2, 2, 514, 97, 3, 2, 2, 2, 515, 516, 7, 114, 2, 2, 516, + 99, 3, 2, 2, 2, 517, 518, 7, 61, 2, 2, 518, 520, 7, 30, 2, 2, 519, 521, + 5, 102, 52, 2, 520, 519, 3, 2, 2, 2, 520, 521, 3, 2, 2, 2, 521, 522, 3, + 2, 2, 2, 522, 523, 7, 31, 2, 2, 523, 101, 3, 2, 2, 2, 524, 529, 5, 104, + 53, 2, 525, 526, 7, 36, 2, 2, 526, 528, 5, 104, 53, 2, 527, 525, 3, 2, + 2, 2, 528, 531, 3, 2, 2, 2, 529, 527, 3, 2, 2, 2, 529, 530, 3, 2, 2, 2, + 530, 103, 3, 2, 2, 2, 531, 529, 3, 2, 2, 2, 532, 533, 7, 119, 2, 2, 533, + 534, 7, 23, 2, 2, 534, 535, 5, 88, 45, 2, 535, 105, 3, 2, 2, 2, 536, 537, + 7, 118, 2, 2, 537, 107, 3, 2, 2, 2, 538, 539, 7, 118, 2, 2, 539, 109, 3, + 2, 2, 2, 540, 541, 7, 118, 2, 2, 541, 111, 3, 2, 2, 2, 46, 117, 124, 136, + 144, 151, 160, 167, 180, 189, 196, 204, 211, 219, 226, 233, 240, 249, 270, + 277, 284, 291, 298, 303, 314, 318, 327, 331, 335, 339, 359, 373, 384, 399, + 412, 416, 451, 467, 474, 487, 492, 501, 509, 520, 529, +} +var deserializer = antlr.NewATNDeserializer(nil) +var deserializedATN = deserializer.DeserializeFromUInt16(parserATN) + +var literalNames = []string{ + "", "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", + "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", + "'=='", "'='", "", "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", "'{'", + "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", "';'", + "'->>'", "'_'", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'", +} +var symbolicNames = []string{ + "", "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", + "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", + "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", + "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", "RBE_", + "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", "SEMI_", + "JSONSEPARATOR_", "UL_", "WS", "CREATE", "ALTER", "DROP", "SHOW", "SHARDING", + "RULE", "FROM", "STORAGE_UNITS", "KEY_GENERATE_STRATEGY", "DEFAULT_TABLE_STRATEGY", + "TABLE", "SHARDING_COLUMN", "SHARDING_COLUMNS", "TYPE", "NAME", "PROPERTIES", + "COLUMN", "REFERENCE", "BROADCAST", "RULES", "COLUMNS", "ALGORITHM", "ALGORITHMS", + "HINT", "DEFAULT", "DATABASE", "SHARDING_ALGORITHM", "STRATEGY", "DATANODES", + "DATABASE_STRATEGY", "TABLE_STRATEGY", "NODES", "KEY", "GENERATOR", "GENERATORS", + "KEY_GENERATOR", "UNUSED", "USED", "IF", "EXISTS", "WITH", "COUNT", "AUDITOR", + "AUDITORS", "AUDIT_STRATEGY", "ALLOW_HINT_DISABLE", "TRUE", "FALSE", "MOD", + "COSID_MOD", "HASH_MOD", "VOLUME_RANGE", "BOUNDARY_RANGE", "AUTO_INTERVAL", + "INLINE", "INTERVAL", "COSID_INTERVAL", "COSID_INTERVAL_SNOWFLAKE", "COMPLEX_INLINE", + "HINT_INLINE", "CLASS_BASED", "SNOWFLAKE", "NANOID", "UUID", "COSID", "COSID_SNOWFLAKE", + "STANDARD", "COMPLEX", "DML_SHARDING_CONDITIONS", "NOT", "NONE", "FOR_GENERATOR", + "IDENTIFIER_", "STRING_", "INT_", +} + +var ruleNames = []string{ + "createShardingTableRule", "alterShardingTableRule", "dropShardingTableRule", + "createShardingTableReferenceRule", "alterShardingTableReferenceRule", + "dropShardingTableReferenceRule", "createBroadcastTableRule", "dropBroadcastTableRule", + "dropShardingAlgorithm", "createDefaultShardingStrategy", "alterDefaultShardingStrategy", + "dropDefaultShardingStrategy", "dropShardingKeyGenerator", "dropShardingAuditor", + "shardingTableRuleDefinition", "shardingAutoTableRule", "shardingTableRule", + "keyGeneratorName", "auditorDefinition", "auditorName", "storageUnits", + "storageUnit", "dataNodes", "dataNode", "autoShardingColumnDefinition", + "shardingColumnDefinition", "shardingColumn", "shardingColumns", "shardingAlgorithm", + "shardingStrategy", "databaseStrategy", "tableStrategy", "keyGenerateDefinition", + "auditDefinition", "multiAuditDefinition", "singleAuditDefinition", "auditAllowHintDisable", + "columnName", "tableReferenceRuleDefinition", "strategyType", "buildInStrategyType", + "ifExists", "ifNotExists", "literal", "algorithmDefinition", "algorithmTypeName", + "buildInShardingAlgorithmType", "buildInKeyGenerateAlgorithmType", "buildInShardingAuditAlgorithmType", + "propertiesDefinition", "properties", "property", "tableName", "shardingAlgorithmName", + "ruleName", +} +var decisionToDFA = make([]*antlr.DFA, len(deserializedATN.DecisionToState)) + +func init() { + for index, ds := range deserializedATN.DecisionToState { + decisionToDFA[index] = antlr.NewDFA(ds, index) + } +} + +type RDLStatementParser struct { + *antlr.BaseParser +} + +func NewRDLStatementParser(input antlr.TokenStream) *RDLStatementParser { + this := new(RDLStatementParser) + + this.BaseParser = antlr.NewBaseParser(input) + + this.Interpreter = antlr.NewParserATNSimulator(this, deserializedATN, decisionToDFA, antlr.NewPredictionContextCache()) + this.RuleNames = ruleNames + this.LiteralNames = literalNames + this.SymbolicNames = symbolicNames + this.GrammarFileName = "RDLStatement.g4" + + return this +} + +// RDLStatementParser tokens. +const ( + RDLStatementParserEOF = antlr.TokenEOF + RDLStatementParserAND_ = 1 + RDLStatementParserOR_ = 2 + RDLStatementParserNOT_ = 3 + RDLStatementParserTILDE_ = 4 + RDLStatementParserVERTICALBAR_ = 5 + RDLStatementParserAMPERSAND_ = 6 + RDLStatementParserSIGNEDLEFTSHIFT_ = 7 + RDLStatementParserSIGNEDRIGHTSHIFT_ = 8 + RDLStatementParserCARET_ = 9 + RDLStatementParserMOD_ = 10 + RDLStatementParserCOLON_ = 11 + RDLStatementParserPLUS_ = 12 + RDLStatementParserMINUS_ = 13 + RDLStatementParserASTERISK_ = 14 + RDLStatementParserSLASH_ = 15 + RDLStatementParserBACKSLASH_ = 16 + RDLStatementParserDOT_ = 17 + RDLStatementParserDOTASTERISK_ = 18 + RDLStatementParserSAFEEQ_ = 19 + RDLStatementParserDEQ_ = 20 + RDLStatementParserEQ_ = 21 + RDLStatementParserNEQ_ = 22 + RDLStatementParserGT_ = 23 + RDLStatementParserGTE_ = 24 + RDLStatementParserLT_ = 25 + RDLStatementParserLTE_ = 26 + RDLStatementParserPOUND_ = 27 + RDLStatementParserLP_ = 28 + RDLStatementParserRP_ = 29 + RDLStatementParserLBE_ = 30 + RDLStatementParserRBE_ = 31 + RDLStatementParserLBT_ = 32 + RDLStatementParserRBT_ = 33 + RDLStatementParserCOMMA_ = 34 + RDLStatementParserDQ_ = 35 + RDLStatementParserSQ_ = 36 + RDLStatementParserBQ_ = 37 + RDLStatementParserQUESTION_ = 38 + RDLStatementParserAT_ = 39 + RDLStatementParserSEMI_ = 40 + RDLStatementParserJSONSEPARATOR_ = 41 + RDLStatementParserUL_ = 42 + RDLStatementParserWS = 43 + RDLStatementParserCREATE = 44 + RDLStatementParserALTER = 45 + RDLStatementParserDROP = 46 + RDLStatementParserSHOW = 47 + RDLStatementParserSHARDING = 48 + RDLStatementParserRULE = 49 + RDLStatementParserFROM = 50 + RDLStatementParserSTORAGE_UNITS = 51 + RDLStatementParserKEY_GENERATE_STRATEGY = 52 + RDLStatementParserDEFAULT_TABLE_STRATEGY = 53 + RDLStatementParserTABLE = 54 + RDLStatementParserSHARDING_COLUMN = 55 + RDLStatementParserSHARDING_COLUMNS = 56 + RDLStatementParserTYPE = 57 + RDLStatementParserNAME = 58 + RDLStatementParserPROPERTIES = 59 + RDLStatementParserCOLUMN = 60 + RDLStatementParserREFERENCE = 61 + RDLStatementParserBROADCAST = 62 + RDLStatementParserRULES = 63 + RDLStatementParserCOLUMNS = 64 + RDLStatementParserALGORITHM = 65 + RDLStatementParserALGORITHMS = 66 + RDLStatementParserHINT = 67 + RDLStatementParserDEFAULT = 68 + RDLStatementParserDATABASE = 69 + RDLStatementParserSHARDING_ALGORITHM = 70 + RDLStatementParserSTRATEGY = 71 + RDLStatementParserDATANODES = 72 + RDLStatementParserDATABASE_STRATEGY = 73 + RDLStatementParserTABLE_STRATEGY = 74 + RDLStatementParserNODES = 75 + RDLStatementParserKEY = 76 + RDLStatementParserGENERATOR = 77 + RDLStatementParserGENERATORS = 78 + RDLStatementParserKEY_GENERATOR = 79 + RDLStatementParserUNUSED = 80 + RDLStatementParserUSED = 81 + RDLStatementParserIF = 82 + RDLStatementParserEXISTS = 83 + RDLStatementParserWITH = 84 + RDLStatementParserCOUNT = 85 + RDLStatementParserAUDITOR = 86 + RDLStatementParserAUDITORS = 87 + RDLStatementParserAUDIT_STRATEGY = 88 + RDLStatementParserALLOW_HINT_DISABLE = 89 + RDLStatementParserTRUE = 90 + RDLStatementParserFALSE = 91 + RDLStatementParserMOD = 92 + RDLStatementParserCOSID_MOD = 93 + RDLStatementParserHASH_MOD = 94 + RDLStatementParserVOLUME_RANGE = 95 + RDLStatementParserBOUNDARY_RANGE = 96 + RDLStatementParserAUTO_INTERVAL = 97 + RDLStatementParserINLINE = 98 + RDLStatementParserINTERVAL = 99 + RDLStatementParserCOSID_INTERVAL = 100 + RDLStatementParserCOSID_INTERVAL_SNOWFLAKE = 101 + RDLStatementParserCOMPLEX_INLINE = 102 + RDLStatementParserHINT_INLINE = 103 + RDLStatementParserCLASS_BASED = 104 + RDLStatementParserSNOWFLAKE = 105 + RDLStatementParserNANOID = 106 + RDLStatementParserUUID = 107 + RDLStatementParserCOSID = 108 + RDLStatementParserCOSID_SNOWFLAKE = 109 + RDLStatementParserSTANDARD = 110 + RDLStatementParserCOMPLEX = 111 + RDLStatementParserDML_SHARDING_CONDITIONS = 112 + RDLStatementParserNOT = 113 + RDLStatementParserNONE = 114 + RDLStatementParserFOR_GENERATOR = 115 + RDLStatementParserIDENTIFIER_ = 116 + RDLStatementParserSTRING_ = 117 + RDLStatementParserINT_ = 118 +) + +// RDLStatementParser rules. +const ( + RDLStatementParserRULE_createShardingTableRule = 0 + RDLStatementParserRULE_alterShardingTableRule = 1 + RDLStatementParserRULE_dropShardingTableRule = 2 + RDLStatementParserRULE_createShardingTableReferenceRule = 3 + RDLStatementParserRULE_alterShardingTableReferenceRule = 4 + RDLStatementParserRULE_dropShardingTableReferenceRule = 5 + RDLStatementParserRULE_createBroadcastTableRule = 6 + RDLStatementParserRULE_dropBroadcastTableRule = 7 + RDLStatementParserRULE_dropShardingAlgorithm = 8 + RDLStatementParserRULE_createDefaultShardingStrategy = 9 + RDLStatementParserRULE_alterDefaultShardingStrategy = 10 + RDLStatementParserRULE_dropDefaultShardingStrategy = 11 + RDLStatementParserRULE_dropShardingKeyGenerator = 12 + RDLStatementParserRULE_dropShardingAuditor = 13 + RDLStatementParserRULE_shardingTableRuleDefinition = 14 + RDLStatementParserRULE_shardingAutoTableRule = 15 + RDLStatementParserRULE_shardingTableRule = 16 + RDLStatementParserRULE_keyGeneratorName = 17 + RDLStatementParserRULE_auditorDefinition = 18 + RDLStatementParserRULE_auditorName = 19 + RDLStatementParserRULE_storageUnits = 20 + RDLStatementParserRULE_storageUnit = 21 + RDLStatementParserRULE_dataNodes = 22 + RDLStatementParserRULE_dataNode = 23 + RDLStatementParserRULE_autoShardingColumnDefinition = 24 + RDLStatementParserRULE_shardingColumnDefinition = 25 + RDLStatementParserRULE_shardingColumn = 26 + RDLStatementParserRULE_shardingColumns = 27 + RDLStatementParserRULE_shardingAlgorithm = 28 + RDLStatementParserRULE_shardingStrategy = 29 + RDLStatementParserRULE_databaseStrategy = 30 + RDLStatementParserRULE_tableStrategy = 31 + RDLStatementParserRULE_keyGenerateDefinition = 32 + RDLStatementParserRULE_auditDefinition = 33 + RDLStatementParserRULE_multiAuditDefinition = 34 + RDLStatementParserRULE_singleAuditDefinition = 35 + RDLStatementParserRULE_auditAllowHintDisable = 36 + RDLStatementParserRULE_columnName = 37 + RDLStatementParserRULE_tableReferenceRuleDefinition = 38 + RDLStatementParserRULE_strategyType = 39 + RDLStatementParserRULE_buildInStrategyType = 40 + RDLStatementParserRULE_ifExists = 41 + RDLStatementParserRULE_ifNotExists = 42 + RDLStatementParserRULE_literal = 43 + RDLStatementParserRULE_algorithmDefinition = 44 + RDLStatementParserRULE_algorithmTypeName = 45 + RDLStatementParserRULE_buildInShardingAlgorithmType = 46 + RDLStatementParserRULE_buildInKeyGenerateAlgorithmType = 47 + RDLStatementParserRULE_buildInShardingAuditAlgorithmType = 48 + RDLStatementParserRULE_propertiesDefinition = 49 + RDLStatementParserRULE_properties = 50 + RDLStatementParserRULE_property = 51 + RDLStatementParserRULE_tableName = 52 + RDLStatementParserRULE_shardingAlgorithmName = 53 + RDLStatementParserRULE_ruleName = 54 +) + +// ICreateShardingTableRuleContext is an interface to support dynamic dispatch. +type ICreateShardingTableRuleContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsCreateShardingTableRuleContext differentiates from other interfaces. + IsCreateShardingTableRuleContext() +} + +type CreateShardingTableRuleContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyCreateShardingTableRuleContext() *CreateShardingTableRuleContext { + var p = new(CreateShardingTableRuleContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_createShardingTableRule + return p +} + +func (*CreateShardingTableRuleContext) IsCreateShardingTableRuleContext() {} + +func NewCreateShardingTableRuleContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CreateShardingTableRuleContext { + var p = new(CreateShardingTableRuleContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_createShardingTableRule + + return p +} + +func (s *CreateShardingTableRuleContext) GetParser() antlr.Parser { return s.parser } + +func (s *CreateShardingTableRuleContext) CREATE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserCREATE, 0) +} + +func (s *CreateShardingTableRuleContext) SHARDING() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSHARDING, 0) +} + +func (s *CreateShardingTableRuleContext) TABLE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserTABLE, 0) +} + +func (s *CreateShardingTableRuleContext) RULE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRULE, 0) +} + +func (s *CreateShardingTableRuleContext) AllShardingTableRuleDefinition() []IShardingTableRuleDefinitionContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IShardingTableRuleDefinitionContext)(nil)).Elem()) + var tst = make([]IShardingTableRuleDefinitionContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(IShardingTableRuleDefinitionContext) + } + } + + return tst +} + +func (s *CreateShardingTableRuleContext) ShardingTableRuleDefinition(i int) IShardingTableRuleDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IShardingTableRuleDefinitionContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(IShardingTableRuleDefinitionContext) +} + +func (s *CreateShardingTableRuleContext) IfNotExists() IIfNotExistsContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfNotExistsContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IIfNotExistsContext) +} + +func (s *CreateShardingTableRuleContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *CreateShardingTableRuleContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *CreateShardingTableRuleContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *CreateShardingTableRuleContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *CreateShardingTableRuleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitCreateShardingTableRule(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) CreateShardingTableRule() (localctx ICreateShardingTableRuleContext) { + localctx = NewCreateShardingTableRuleContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 0, RDLStatementParserRULE_createShardingTableRule) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(110) + p.Match(RDLStatementParserCREATE) + } + { + p.SetState(111) + p.Match(RDLStatementParserSHARDING) + } + { + p.SetState(112) + p.Match(RDLStatementParserTABLE) + } + { + p.SetState(113) + p.Match(RDLStatementParserRULE) + } + p.SetState(115) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + if _la == RDLStatementParserIF { + { + p.SetState(114) + p.IfNotExists() + } + + } + { + p.SetState(117) + p.ShardingTableRuleDefinition() + } + p.SetState(122) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(118) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(119) + p.ShardingTableRuleDefinition() + } + + + p.SetState(124) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + + + + return localctx +} + + +// IAlterShardingTableRuleContext is an interface to support dynamic dispatch. +type IAlterShardingTableRuleContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsAlterShardingTableRuleContext differentiates from other interfaces. + IsAlterShardingTableRuleContext() +} + +type AlterShardingTableRuleContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyAlterShardingTableRuleContext() *AlterShardingTableRuleContext { + var p = new(AlterShardingTableRuleContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_alterShardingTableRule + return p +} + +func (*AlterShardingTableRuleContext) IsAlterShardingTableRuleContext() {} + +func NewAlterShardingTableRuleContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AlterShardingTableRuleContext { + var p = new(AlterShardingTableRuleContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_alterShardingTableRule + + return p +} + +func (s *AlterShardingTableRuleContext) GetParser() antlr.Parser { return s.parser } + +func (s *AlterShardingTableRuleContext) ALTER() antlr.TerminalNode { + return s.GetToken(RDLStatementParserALTER, 0) +} + +func (s *AlterShardingTableRuleContext) SHARDING() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSHARDING, 0) +} + +func (s *AlterShardingTableRuleContext) TABLE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserTABLE, 0) +} + +func (s *AlterShardingTableRuleContext) RULE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRULE, 0) +} + +func (s *AlterShardingTableRuleContext) AllShardingTableRuleDefinition() []IShardingTableRuleDefinitionContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IShardingTableRuleDefinitionContext)(nil)).Elem()) + var tst = make([]IShardingTableRuleDefinitionContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(IShardingTableRuleDefinitionContext) + } + } + + return tst +} + +func (s *AlterShardingTableRuleContext) ShardingTableRuleDefinition(i int) IShardingTableRuleDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IShardingTableRuleDefinitionContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(IShardingTableRuleDefinitionContext) +} + +func (s *AlterShardingTableRuleContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *AlterShardingTableRuleContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *AlterShardingTableRuleContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *AlterShardingTableRuleContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *AlterShardingTableRuleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitAlterShardingTableRule(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) AlterShardingTableRule() (localctx IAlterShardingTableRuleContext) { + localctx = NewAlterShardingTableRuleContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 2, RDLStatementParserRULE_alterShardingTableRule) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(125) + p.Match(RDLStatementParserALTER) + } + { + p.SetState(126) + p.Match(RDLStatementParserSHARDING) + } + { + p.SetState(127) + p.Match(RDLStatementParserTABLE) + } + { + p.SetState(128) + p.Match(RDLStatementParserRULE) + } + { + p.SetState(129) + p.ShardingTableRuleDefinition() + } + p.SetState(134) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(130) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(131) + p.ShardingTableRuleDefinition() + } + + + p.SetState(136) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + + + + return localctx +} + + +// IDropShardingTableRuleContext is an interface to support dynamic dispatch. +type IDropShardingTableRuleContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsDropShardingTableRuleContext differentiates from other interfaces. + IsDropShardingTableRuleContext() +} + +type DropShardingTableRuleContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyDropShardingTableRuleContext() *DropShardingTableRuleContext { + var p = new(DropShardingTableRuleContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_dropShardingTableRule + return p +} + +func (*DropShardingTableRuleContext) IsDropShardingTableRuleContext() {} + +func NewDropShardingTableRuleContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DropShardingTableRuleContext { + var p = new(DropShardingTableRuleContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_dropShardingTableRule + + return p +} + +func (s *DropShardingTableRuleContext) GetParser() antlr.Parser { return s.parser } + +func (s *DropShardingTableRuleContext) DROP() antlr.TerminalNode { + return s.GetToken(RDLStatementParserDROP, 0) +} + +func (s *DropShardingTableRuleContext) SHARDING() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSHARDING, 0) +} + +func (s *DropShardingTableRuleContext) TABLE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserTABLE, 0) +} + +func (s *DropShardingTableRuleContext) RULE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRULE, 0) +} + +func (s *DropShardingTableRuleContext) AllTableName() []ITableNameContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*ITableNameContext)(nil)).Elem()) + var tst = make([]ITableNameContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(ITableNameContext) + } + } + + return tst +} + +func (s *DropShardingTableRuleContext) TableName(i int) ITableNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*ITableNameContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(ITableNameContext) +} + +func (s *DropShardingTableRuleContext) IfExists() IIfExistsContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfExistsContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IIfExistsContext) +} + +func (s *DropShardingTableRuleContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *DropShardingTableRuleContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *DropShardingTableRuleContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DropShardingTableRuleContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *DropShardingTableRuleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitDropShardingTableRule(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) DropShardingTableRule() (localctx IDropShardingTableRuleContext) { + localctx = NewDropShardingTableRuleContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 4, RDLStatementParserRULE_dropShardingTableRule) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(137) + p.Match(RDLStatementParserDROP) + } + { + p.SetState(138) + p.Match(RDLStatementParserSHARDING) + } + { + p.SetState(139) + p.Match(RDLStatementParserTABLE) + } + { + p.SetState(140) + p.Match(RDLStatementParserRULE) + } + p.SetState(142) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + if _la == RDLStatementParserIF { + { + p.SetState(141) + p.IfExists() + } + + } + { + p.SetState(144) + p.TableName() + } + p.SetState(149) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(145) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(146) + p.TableName() + } + + + p.SetState(151) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + + + + return localctx +} + + +// ICreateShardingTableReferenceRuleContext is an interface to support dynamic dispatch. +type ICreateShardingTableReferenceRuleContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsCreateShardingTableReferenceRuleContext differentiates from other interfaces. + IsCreateShardingTableReferenceRuleContext() +} + +type CreateShardingTableReferenceRuleContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyCreateShardingTableReferenceRuleContext() *CreateShardingTableReferenceRuleContext { + var p = new(CreateShardingTableReferenceRuleContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_createShardingTableReferenceRule + return p +} + +func (*CreateShardingTableReferenceRuleContext) IsCreateShardingTableReferenceRuleContext() {} + +func NewCreateShardingTableReferenceRuleContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CreateShardingTableReferenceRuleContext { + var p = new(CreateShardingTableReferenceRuleContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_createShardingTableReferenceRule + + return p +} + +func (s *CreateShardingTableReferenceRuleContext) GetParser() antlr.Parser { return s.parser } + +func (s *CreateShardingTableReferenceRuleContext) CREATE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserCREATE, 0) +} + +func (s *CreateShardingTableReferenceRuleContext) SHARDING() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSHARDING, 0) +} + +func (s *CreateShardingTableReferenceRuleContext) TABLE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserTABLE, 0) +} + +func (s *CreateShardingTableReferenceRuleContext) REFERENCE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserREFERENCE, 0) +} + +func (s *CreateShardingTableReferenceRuleContext) RULE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRULE, 0) +} + +func (s *CreateShardingTableReferenceRuleContext) AllTableReferenceRuleDefinition() []ITableReferenceRuleDefinitionContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*ITableReferenceRuleDefinitionContext)(nil)).Elem()) + var tst = make([]ITableReferenceRuleDefinitionContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(ITableReferenceRuleDefinitionContext) + } + } + + return tst +} + +func (s *CreateShardingTableReferenceRuleContext) TableReferenceRuleDefinition(i int) ITableReferenceRuleDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*ITableReferenceRuleDefinitionContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(ITableReferenceRuleDefinitionContext) +} + +func (s *CreateShardingTableReferenceRuleContext) IfNotExists() IIfNotExistsContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfNotExistsContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IIfNotExistsContext) +} + +func (s *CreateShardingTableReferenceRuleContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *CreateShardingTableReferenceRuleContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *CreateShardingTableReferenceRuleContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *CreateShardingTableReferenceRuleContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *CreateShardingTableReferenceRuleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitCreateShardingTableReferenceRule(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) CreateShardingTableReferenceRule() (localctx ICreateShardingTableReferenceRuleContext) { + localctx = NewCreateShardingTableReferenceRuleContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 6, RDLStatementParserRULE_createShardingTableReferenceRule) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(152) + p.Match(RDLStatementParserCREATE) + } + { + p.SetState(153) + p.Match(RDLStatementParserSHARDING) + } + { + p.SetState(154) + p.Match(RDLStatementParserTABLE) + } + { + p.SetState(155) + p.Match(RDLStatementParserREFERENCE) + } + { + p.SetState(156) + p.Match(RDLStatementParserRULE) + } + p.SetState(158) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + if _la == RDLStatementParserIF { + { + p.SetState(157) + p.IfNotExists() + } + + } + { + p.SetState(160) + p.TableReferenceRuleDefinition() + } + p.SetState(165) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(161) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(162) + p.TableReferenceRuleDefinition() + } + + + p.SetState(167) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + + + + return localctx +} + + +// IAlterShardingTableReferenceRuleContext is an interface to support dynamic dispatch. +type IAlterShardingTableReferenceRuleContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsAlterShardingTableReferenceRuleContext differentiates from other interfaces. + IsAlterShardingTableReferenceRuleContext() +} + +type AlterShardingTableReferenceRuleContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyAlterShardingTableReferenceRuleContext() *AlterShardingTableReferenceRuleContext { + var p = new(AlterShardingTableReferenceRuleContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_alterShardingTableReferenceRule + return p +} + +func (*AlterShardingTableReferenceRuleContext) IsAlterShardingTableReferenceRuleContext() {} + +func NewAlterShardingTableReferenceRuleContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AlterShardingTableReferenceRuleContext { + var p = new(AlterShardingTableReferenceRuleContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_alterShardingTableReferenceRule + + return p +} + +func (s *AlterShardingTableReferenceRuleContext) GetParser() antlr.Parser { return s.parser } + +func (s *AlterShardingTableReferenceRuleContext) ALTER() antlr.TerminalNode { + return s.GetToken(RDLStatementParserALTER, 0) +} + +func (s *AlterShardingTableReferenceRuleContext) SHARDING() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSHARDING, 0) +} + +func (s *AlterShardingTableReferenceRuleContext) TABLE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserTABLE, 0) +} + +func (s *AlterShardingTableReferenceRuleContext) REFERENCE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserREFERENCE, 0) +} + +func (s *AlterShardingTableReferenceRuleContext) RULE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRULE, 0) +} + +func (s *AlterShardingTableReferenceRuleContext) AllTableReferenceRuleDefinition() []ITableReferenceRuleDefinitionContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*ITableReferenceRuleDefinitionContext)(nil)).Elem()) + var tst = make([]ITableReferenceRuleDefinitionContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(ITableReferenceRuleDefinitionContext) + } + } + + return tst +} + +func (s *AlterShardingTableReferenceRuleContext) TableReferenceRuleDefinition(i int) ITableReferenceRuleDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*ITableReferenceRuleDefinitionContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(ITableReferenceRuleDefinitionContext) +} + +func (s *AlterShardingTableReferenceRuleContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *AlterShardingTableReferenceRuleContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *AlterShardingTableReferenceRuleContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *AlterShardingTableReferenceRuleContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *AlterShardingTableReferenceRuleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitAlterShardingTableReferenceRule(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) AlterShardingTableReferenceRule() (localctx IAlterShardingTableReferenceRuleContext) { + localctx = NewAlterShardingTableReferenceRuleContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 8, RDLStatementParserRULE_alterShardingTableReferenceRule) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(168) + p.Match(RDLStatementParserALTER) + } + { + p.SetState(169) + p.Match(RDLStatementParserSHARDING) + } + { + p.SetState(170) + p.Match(RDLStatementParserTABLE) + } + { + p.SetState(171) + p.Match(RDLStatementParserREFERENCE) + } + { + p.SetState(172) + p.Match(RDLStatementParserRULE) + } + { + p.SetState(173) + p.TableReferenceRuleDefinition() + } + p.SetState(178) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(174) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(175) + p.TableReferenceRuleDefinition() + } + + + p.SetState(180) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + + + + return localctx +} + + +// IDropShardingTableReferenceRuleContext is an interface to support dynamic dispatch. +type IDropShardingTableReferenceRuleContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsDropShardingTableReferenceRuleContext differentiates from other interfaces. + IsDropShardingTableReferenceRuleContext() +} + +type DropShardingTableReferenceRuleContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyDropShardingTableReferenceRuleContext() *DropShardingTableReferenceRuleContext { + var p = new(DropShardingTableReferenceRuleContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_dropShardingTableReferenceRule + return p +} + +func (*DropShardingTableReferenceRuleContext) IsDropShardingTableReferenceRuleContext() {} + +func NewDropShardingTableReferenceRuleContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DropShardingTableReferenceRuleContext { + var p = new(DropShardingTableReferenceRuleContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_dropShardingTableReferenceRule + + return p +} + +func (s *DropShardingTableReferenceRuleContext) GetParser() antlr.Parser { return s.parser } + +func (s *DropShardingTableReferenceRuleContext) DROP() antlr.TerminalNode { + return s.GetToken(RDLStatementParserDROP, 0) +} + +func (s *DropShardingTableReferenceRuleContext) SHARDING() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSHARDING, 0) +} + +func (s *DropShardingTableReferenceRuleContext) TABLE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserTABLE, 0) +} + +func (s *DropShardingTableReferenceRuleContext) REFERENCE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserREFERENCE, 0) +} + +func (s *DropShardingTableReferenceRuleContext) RULE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRULE, 0) +} + +func (s *DropShardingTableReferenceRuleContext) AllRuleName() []IRuleNameContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IRuleNameContext)(nil)).Elem()) + var tst = make([]IRuleNameContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(IRuleNameContext) + } + } + + return tst +} + +func (s *DropShardingTableReferenceRuleContext) RuleName(i int) IRuleNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IRuleNameContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(IRuleNameContext) +} + +func (s *DropShardingTableReferenceRuleContext) IfExists() IIfExistsContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfExistsContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IIfExistsContext) +} + +func (s *DropShardingTableReferenceRuleContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *DropShardingTableReferenceRuleContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *DropShardingTableReferenceRuleContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DropShardingTableReferenceRuleContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *DropShardingTableReferenceRuleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitDropShardingTableReferenceRule(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) DropShardingTableReferenceRule() (localctx IDropShardingTableReferenceRuleContext) { + localctx = NewDropShardingTableReferenceRuleContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 10, RDLStatementParserRULE_dropShardingTableReferenceRule) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(181) + p.Match(RDLStatementParserDROP) + } + { + p.SetState(182) + p.Match(RDLStatementParserSHARDING) + } + { + p.SetState(183) + p.Match(RDLStatementParserTABLE) + } + { + p.SetState(184) + p.Match(RDLStatementParserREFERENCE) + } + { + p.SetState(185) + p.Match(RDLStatementParserRULE) + } + p.SetState(187) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + if _la == RDLStatementParserIF { + { + p.SetState(186) + p.IfExists() + } + + } + { + p.SetState(189) + p.RuleName() + } + p.SetState(194) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(190) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(191) + p.RuleName() + } + + + p.SetState(196) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + + + + return localctx +} + + +// ICreateBroadcastTableRuleContext is an interface to support dynamic dispatch. +type ICreateBroadcastTableRuleContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsCreateBroadcastTableRuleContext differentiates from other interfaces. + IsCreateBroadcastTableRuleContext() +} + +type CreateBroadcastTableRuleContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyCreateBroadcastTableRuleContext() *CreateBroadcastTableRuleContext { + var p = new(CreateBroadcastTableRuleContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_createBroadcastTableRule + return p +} + +func (*CreateBroadcastTableRuleContext) IsCreateBroadcastTableRuleContext() {} + +func NewCreateBroadcastTableRuleContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CreateBroadcastTableRuleContext { + var p = new(CreateBroadcastTableRuleContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_createBroadcastTableRule + + return p +} + +func (s *CreateBroadcastTableRuleContext) GetParser() antlr.Parser { return s.parser } + +func (s *CreateBroadcastTableRuleContext) CREATE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserCREATE, 0) +} + +func (s *CreateBroadcastTableRuleContext) BROADCAST() antlr.TerminalNode { + return s.GetToken(RDLStatementParserBROADCAST, 0) +} + +func (s *CreateBroadcastTableRuleContext) TABLE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserTABLE, 0) +} + +func (s *CreateBroadcastTableRuleContext) RULE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRULE, 0) +} + +func (s *CreateBroadcastTableRuleContext) AllTableName() []ITableNameContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*ITableNameContext)(nil)).Elem()) + var tst = make([]ITableNameContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(ITableNameContext) + } + } + + return tst +} + +func (s *CreateBroadcastTableRuleContext) TableName(i int) ITableNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*ITableNameContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(ITableNameContext) +} + +func (s *CreateBroadcastTableRuleContext) IfNotExists() IIfNotExistsContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfNotExistsContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IIfNotExistsContext) +} + +func (s *CreateBroadcastTableRuleContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *CreateBroadcastTableRuleContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *CreateBroadcastTableRuleContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *CreateBroadcastTableRuleContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *CreateBroadcastTableRuleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitCreateBroadcastTableRule(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) CreateBroadcastTableRule() (localctx ICreateBroadcastTableRuleContext) { + localctx = NewCreateBroadcastTableRuleContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 12, RDLStatementParserRULE_createBroadcastTableRule) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(197) + p.Match(RDLStatementParserCREATE) + } + { + p.SetState(198) + p.Match(RDLStatementParserBROADCAST) + } + { + p.SetState(199) + p.Match(RDLStatementParserTABLE) + } + { + p.SetState(200) + p.Match(RDLStatementParserRULE) + } + p.SetState(202) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + if _la == RDLStatementParserIF { + { + p.SetState(201) + p.IfNotExists() + } + + } + { + p.SetState(204) + p.TableName() + } + p.SetState(209) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(205) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(206) + p.TableName() + } + + + p.SetState(211) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + + + + return localctx +} + + +// IDropBroadcastTableRuleContext is an interface to support dynamic dispatch. +type IDropBroadcastTableRuleContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsDropBroadcastTableRuleContext differentiates from other interfaces. + IsDropBroadcastTableRuleContext() +} + +type DropBroadcastTableRuleContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyDropBroadcastTableRuleContext() *DropBroadcastTableRuleContext { + var p = new(DropBroadcastTableRuleContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_dropBroadcastTableRule + return p +} + +func (*DropBroadcastTableRuleContext) IsDropBroadcastTableRuleContext() {} + +func NewDropBroadcastTableRuleContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DropBroadcastTableRuleContext { + var p = new(DropBroadcastTableRuleContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_dropBroadcastTableRule + + return p +} + +func (s *DropBroadcastTableRuleContext) GetParser() antlr.Parser { return s.parser } + +func (s *DropBroadcastTableRuleContext) DROP() antlr.TerminalNode { + return s.GetToken(RDLStatementParserDROP, 0) +} + +func (s *DropBroadcastTableRuleContext) BROADCAST() antlr.TerminalNode { + return s.GetToken(RDLStatementParserBROADCAST, 0) +} + +func (s *DropBroadcastTableRuleContext) TABLE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserTABLE, 0) +} + +func (s *DropBroadcastTableRuleContext) RULE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRULE, 0) +} + +func (s *DropBroadcastTableRuleContext) AllTableName() []ITableNameContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*ITableNameContext)(nil)).Elem()) + var tst = make([]ITableNameContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(ITableNameContext) + } + } + + return tst +} + +func (s *DropBroadcastTableRuleContext) TableName(i int) ITableNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*ITableNameContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(ITableNameContext) +} + +func (s *DropBroadcastTableRuleContext) IfExists() IIfExistsContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfExistsContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IIfExistsContext) +} + +func (s *DropBroadcastTableRuleContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *DropBroadcastTableRuleContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *DropBroadcastTableRuleContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DropBroadcastTableRuleContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *DropBroadcastTableRuleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitDropBroadcastTableRule(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) DropBroadcastTableRule() (localctx IDropBroadcastTableRuleContext) { + localctx = NewDropBroadcastTableRuleContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 14, RDLStatementParserRULE_dropBroadcastTableRule) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(212) + p.Match(RDLStatementParserDROP) + } + { + p.SetState(213) + p.Match(RDLStatementParserBROADCAST) + } + { + p.SetState(214) + p.Match(RDLStatementParserTABLE) + } + { + p.SetState(215) + p.Match(RDLStatementParserRULE) + } + p.SetState(217) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + if _la == RDLStatementParserIF { + { + p.SetState(216) + p.IfExists() + } + + } + { + p.SetState(219) + p.TableName() + } + p.SetState(224) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(220) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(221) + p.TableName() + } + + + p.SetState(226) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + + + + return localctx +} + + +// IDropShardingAlgorithmContext is an interface to support dynamic dispatch. +type IDropShardingAlgorithmContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsDropShardingAlgorithmContext differentiates from other interfaces. + IsDropShardingAlgorithmContext() +} + +type DropShardingAlgorithmContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyDropShardingAlgorithmContext() *DropShardingAlgorithmContext { + var p = new(DropShardingAlgorithmContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_dropShardingAlgorithm + return p +} + +func (*DropShardingAlgorithmContext) IsDropShardingAlgorithmContext() {} + +func NewDropShardingAlgorithmContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DropShardingAlgorithmContext { + var p = new(DropShardingAlgorithmContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_dropShardingAlgorithm + + return p +} + +func (s *DropShardingAlgorithmContext) GetParser() antlr.Parser { return s.parser } + +func (s *DropShardingAlgorithmContext) DROP() antlr.TerminalNode { + return s.GetToken(RDLStatementParserDROP, 0) +} + +func (s *DropShardingAlgorithmContext) SHARDING() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSHARDING, 0) +} + +func (s *DropShardingAlgorithmContext) ALGORITHM() antlr.TerminalNode { + return s.GetToken(RDLStatementParserALGORITHM, 0) +} + +func (s *DropShardingAlgorithmContext) AllShardingAlgorithmName() []IShardingAlgorithmNameContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IShardingAlgorithmNameContext)(nil)).Elem()) + var tst = make([]IShardingAlgorithmNameContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(IShardingAlgorithmNameContext) + } + } + + return tst +} + +func (s *DropShardingAlgorithmContext) ShardingAlgorithmName(i int) IShardingAlgorithmNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IShardingAlgorithmNameContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(IShardingAlgorithmNameContext) +} + +func (s *DropShardingAlgorithmContext) IfExists() IIfExistsContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfExistsContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IIfExistsContext) +} + +func (s *DropShardingAlgorithmContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *DropShardingAlgorithmContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *DropShardingAlgorithmContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DropShardingAlgorithmContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *DropShardingAlgorithmContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitDropShardingAlgorithm(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) DropShardingAlgorithm() (localctx IDropShardingAlgorithmContext) { + localctx = NewDropShardingAlgorithmContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 16, RDLStatementParserRULE_dropShardingAlgorithm) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(227) + p.Match(RDLStatementParserDROP) + } + { + p.SetState(228) + p.Match(RDLStatementParserSHARDING) + } + { + p.SetState(229) + p.Match(RDLStatementParserALGORITHM) + } + p.SetState(231) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + if _la == RDLStatementParserIF { + { + p.SetState(230) + p.IfExists() + } + + } + { + p.SetState(233) + p.ShardingAlgorithmName() + } + p.SetState(238) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(234) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(235) + p.ShardingAlgorithmName() + } + + + p.SetState(240) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + + + + return localctx +} + + +// ICreateDefaultShardingStrategyContext is an interface to support dynamic dispatch. +type ICreateDefaultShardingStrategyContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // GetType returns the type token. + GetType() antlr.Token + + + // SetType sets the type token. + SetType(antlr.Token) + + + // IsCreateDefaultShardingStrategyContext differentiates from other interfaces. + IsCreateDefaultShardingStrategyContext() +} + +type CreateDefaultShardingStrategyContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser + typ antlr.Token +} + +func NewEmptyCreateDefaultShardingStrategyContext() *CreateDefaultShardingStrategyContext { + var p = new(CreateDefaultShardingStrategyContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_createDefaultShardingStrategy + return p +} + +func (*CreateDefaultShardingStrategyContext) IsCreateDefaultShardingStrategyContext() {} + +func NewCreateDefaultShardingStrategyContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CreateDefaultShardingStrategyContext { + var p = new(CreateDefaultShardingStrategyContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_createDefaultShardingStrategy + + return p +} + +func (s *CreateDefaultShardingStrategyContext) GetParser() antlr.Parser { return s.parser } + +func (s *CreateDefaultShardingStrategyContext) GetType() antlr.Token { return s.typ } + + +func (s *CreateDefaultShardingStrategyContext) SetType(v antlr.Token) { s.typ = v } + + +func (s *CreateDefaultShardingStrategyContext) CREATE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserCREATE, 0) +} + +func (s *CreateDefaultShardingStrategyContext) DEFAULT() antlr.TerminalNode { + return s.GetToken(RDLStatementParserDEFAULT, 0) +} + +func (s *CreateDefaultShardingStrategyContext) SHARDING() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSHARDING, 0) +} + +func (s *CreateDefaultShardingStrategyContext) STRATEGY() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSTRATEGY, 0) +} + +func (s *CreateDefaultShardingStrategyContext) LP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserLP_, 0) +} + +func (s *CreateDefaultShardingStrategyContext) ShardingStrategy() IShardingStrategyContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IShardingStrategyContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IShardingStrategyContext) +} + +func (s *CreateDefaultShardingStrategyContext) RP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRP_, 0) +} + +func (s *CreateDefaultShardingStrategyContext) DATABASE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserDATABASE, 0) +} + +func (s *CreateDefaultShardingStrategyContext) TABLE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserTABLE, 0) +} + +func (s *CreateDefaultShardingStrategyContext) IfNotExists() IIfNotExistsContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfNotExistsContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IIfNotExistsContext) +} + +func (s *CreateDefaultShardingStrategyContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *CreateDefaultShardingStrategyContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *CreateDefaultShardingStrategyContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitCreateDefaultShardingStrategy(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) CreateDefaultShardingStrategy() (localctx ICreateDefaultShardingStrategyContext) { + localctx = NewCreateDefaultShardingStrategyContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 18, RDLStatementParserRULE_createDefaultShardingStrategy) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(241) + p.Match(RDLStatementParserCREATE) + } + { + p.SetState(242) + p.Match(RDLStatementParserDEFAULT) + } + { + p.SetState(243) + p.Match(RDLStatementParserSHARDING) + } + { + p.SetState(244) + + var _lt = p.GetTokenStream().LT(1) + + localctx.(*CreateDefaultShardingStrategyContext).typ = _lt + + _la = p.GetTokenStream().LA(1) + + if !(_la == RDLStatementParserTABLE || _la == RDLStatementParserDATABASE) { + var _ri = p.GetErrorHandler().RecoverInline(p) + + localctx.(*CreateDefaultShardingStrategyContext).typ = _ri + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() + } + } + { + p.SetState(245) + p.Match(RDLStatementParserSTRATEGY) + } + p.SetState(247) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + if _la == RDLStatementParserIF { + { + p.SetState(246) + p.IfNotExists() + } + + } + { + p.SetState(249) + p.Match(RDLStatementParserLP_) + } + { + p.SetState(250) + p.ShardingStrategy() + } + { + p.SetState(251) + p.Match(RDLStatementParserRP_) + } + + + + return localctx +} + + +// IAlterDefaultShardingStrategyContext is an interface to support dynamic dispatch. +type IAlterDefaultShardingStrategyContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // GetType returns the type token. + GetType() antlr.Token + + + // SetType sets the type token. + SetType(antlr.Token) + + + // IsAlterDefaultShardingStrategyContext differentiates from other interfaces. + IsAlterDefaultShardingStrategyContext() +} + +type AlterDefaultShardingStrategyContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser + typ antlr.Token +} + +func NewEmptyAlterDefaultShardingStrategyContext() *AlterDefaultShardingStrategyContext { + var p = new(AlterDefaultShardingStrategyContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_alterDefaultShardingStrategy + return p +} + +func (*AlterDefaultShardingStrategyContext) IsAlterDefaultShardingStrategyContext() {} + +func NewAlterDefaultShardingStrategyContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AlterDefaultShardingStrategyContext { + var p = new(AlterDefaultShardingStrategyContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_alterDefaultShardingStrategy + + return p +} + +func (s *AlterDefaultShardingStrategyContext) GetParser() antlr.Parser { return s.parser } + +func (s *AlterDefaultShardingStrategyContext) GetType() antlr.Token { return s.typ } + + +func (s *AlterDefaultShardingStrategyContext) SetType(v antlr.Token) { s.typ = v } + + +func (s *AlterDefaultShardingStrategyContext) ALTER() antlr.TerminalNode { + return s.GetToken(RDLStatementParserALTER, 0) +} + +func (s *AlterDefaultShardingStrategyContext) DEFAULT() antlr.TerminalNode { + return s.GetToken(RDLStatementParserDEFAULT, 0) +} + +func (s *AlterDefaultShardingStrategyContext) SHARDING() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSHARDING, 0) +} + +func (s *AlterDefaultShardingStrategyContext) STRATEGY() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSTRATEGY, 0) +} + +func (s *AlterDefaultShardingStrategyContext) LP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserLP_, 0) +} + +func (s *AlterDefaultShardingStrategyContext) ShardingStrategy() IShardingStrategyContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IShardingStrategyContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IShardingStrategyContext) +} + +func (s *AlterDefaultShardingStrategyContext) RP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRP_, 0) +} + +func (s *AlterDefaultShardingStrategyContext) DATABASE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserDATABASE, 0) +} + +func (s *AlterDefaultShardingStrategyContext) TABLE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserTABLE, 0) +} + +func (s *AlterDefaultShardingStrategyContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *AlterDefaultShardingStrategyContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *AlterDefaultShardingStrategyContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitAlterDefaultShardingStrategy(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) AlterDefaultShardingStrategy() (localctx IAlterDefaultShardingStrategyContext) { + localctx = NewAlterDefaultShardingStrategyContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 20, RDLStatementParserRULE_alterDefaultShardingStrategy) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(253) + p.Match(RDLStatementParserALTER) + } + { + p.SetState(254) + p.Match(RDLStatementParserDEFAULT) + } + { + p.SetState(255) + p.Match(RDLStatementParserSHARDING) + } + { + p.SetState(256) + + var _lt = p.GetTokenStream().LT(1) + + localctx.(*AlterDefaultShardingStrategyContext).typ = _lt + + _la = p.GetTokenStream().LA(1) + + if !(_la == RDLStatementParserTABLE || _la == RDLStatementParserDATABASE) { + var _ri = p.GetErrorHandler().RecoverInline(p) + + localctx.(*AlterDefaultShardingStrategyContext).typ = _ri + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() + } + } + { + p.SetState(257) + p.Match(RDLStatementParserSTRATEGY) + } + { + p.SetState(258) + p.Match(RDLStatementParserLP_) + } + { + p.SetState(259) + p.ShardingStrategy() + } + { + p.SetState(260) + p.Match(RDLStatementParserRP_) + } + + + + return localctx +} + + +// IDropDefaultShardingStrategyContext is an interface to support dynamic dispatch. +type IDropDefaultShardingStrategyContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // GetType returns the type token. + GetType() antlr.Token + + + // SetType sets the type token. + SetType(antlr.Token) + + + // IsDropDefaultShardingStrategyContext differentiates from other interfaces. + IsDropDefaultShardingStrategyContext() +} + +type DropDefaultShardingStrategyContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser + typ antlr.Token +} + +func NewEmptyDropDefaultShardingStrategyContext() *DropDefaultShardingStrategyContext { + var p = new(DropDefaultShardingStrategyContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_dropDefaultShardingStrategy + return p +} + +func (*DropDefaultShardingStrategyContext) IsDropDefaultShardingStrategyContext() {} + +func NewDropDefaultShardingStrategyContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DropDefaultShardingStrategyContext { + var p = new(DropDefaultShardingStrategyContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_dropDefaultShardingStrategy + + return p +} + +func (s *DropDefaultShardingStrategyContext) GetParser() antlr.Parser { return s.parser } + +func (s *DropDefaultShardingStrategyContext) GetType() antlr.Token { return s.typ } + + +func (s *DropDefaultShardingStrategyContext) SetType(v antlr.Token) { s.typ = v } + + +func (s *DropDefaultShardingStrategyContext) DROP() antlr.TerminalNode { + return s.GetToken(RDLStatementParserDROP, 0) +} + +func (s *DropDefaultShardingStrategyContext) DEFAULT() antlr.TerminalNode { + return s.GetToken(RDLStatementParserDEFAULT, 0) +} + +func (s *DropDefaultShardingStrategyContext) SHARDING() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSHARDING, 0) +} + +func (s *DropDefaultShardingStrategyContext) STRATEGY() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSTRATEGY, 0) +} + +func (s *DropDefaultShardingStrategyContext) DATABASE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserDATABASE, 0) +} + +func (s *DropDefaultShardingStrategyContext) TABLE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserTABLE, 0) +} + +func (s *DropDefaultShardingStrategyContext) IfExists() IIfExistsContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfExistsContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IIfExistsContext) +} + +func (s *DropDefaultShardingStrategyContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DropDefaultShardingStrategyContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *DropDefaultShardingStrategyContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitDropDefaultShardingStrategy(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) DropDefaultShardingStrategy() (localctx IDropDefaultShardingStrategyContext) { + localctx = NewDropDefaultShardingStrategyContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 22, RDLStatementParserRULE_dropDefaultShardingStrategy) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(262) + p.Match(RDLStatementParserDROP) + } + { + p.SetState(263) + p.Match(RDLStatementParserDEFAULT) + } + { + p.SetState(264) + p.Match(RDLStatementParserSHARDING) + } + { + p.SetState(265) + + var _lt = p.GetTokenStream().LT(1) + + localctx.(*DropDefaultShardingStrategyContext).typ = _lt + + _la = p.GetTokenStream().LA(1) + + if !(_la == RDLStatementParserTABLE || _la == RDLStatementParserDATABASE) { + var _ri = p.GetErrorHandler().RecoverInline(p) + + localctx.(*DropDefaultShardingStrategyContext).typ = _ri + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() + } + } + { + p.SetState(266) + p.Match(RDLStatementParserSTRATEGY) + } + p.SetState(268) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + if _la == RDLStatementParserIF { + { + p.SetState(267) + p.IfExists() + } + + } + + + + return localctx +} + + +// IDropShardingKeyGeneratorContext is an interface to support dynamic dispatch. +type IDropShardingKeyGeneratorContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsDropShardingKeyGeneratorContext differentiates from other interfaces. + IsDropShardingKeyGeneratorContext() +} + +type DropShardingKeyGeneratorContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyDropShardingKeyGeneratorContext() *DropShardingKeyGeneratorContext { + var p = new(DropShardingKeyGeneratorContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_dropShardingKeyGenerator + return p +} + +func (*DropShardingKeyGeneratorContext) IsDropShardingKeyGeneratorContext() {} + +func NewDropShardingKeyGeneratorContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DropShardingKeyGeneratorContext { + var p = new(DropShardingKeyGeneratorContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_dropShardingKeyGenerator + + return p +} + +func (s *DropShardingKeyGeneratorContext) GetParser() antlr.Parser { return s.parser } + +func (s *DropShardingKeyGeneratorContext) DROP() antlr.TerminalNode { + return s.GetToken(RDLStatementParserDROP, 0) +} + +func (s *DropShardingKeyGeneratorContext) SHARDING() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSHARDING, 0) +} + +func (s *DropShardingKeyGeneratorContext) KEY() antlr.TerminalNode { + return s.GetToken(RDLStatementParserKEY, 0) +} + +func (s *DropShardingKeyGeneratorContext) GENERATOR() antlr.TerminalNode { + return s.GetToken(RDLStatementParserGENERATOR, 0) +} + +func (s *DropShardingKeyGeneratorContext) AllKeyGeneratorName() []IKeyGeneratorNameContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IKeyGeneratorNameContext)(nil)).Elem()) + var tst = make([]IKeyGeneratorNameContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(IKeyGeneratorNameContext) + } + } + + return tst +} + +func (s *DropShardingKeyGeneratorContext) KeyGeneratorName(i int) IKeyGeneratorNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IKeyGeneratorNameContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(IKeyGeneratorNameContext) +} + +func (s *DropShardingKeyGeneratorContext) IfExists() IIfExistsContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfExistsContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IIfExistsContext) +} + +func (s *DropShardingKeyGeneratorContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *DropShardingKeyGeneratorContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *DropShardingKeyGeneratorContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DropShardingKeyGeneratorContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *DropShardingKeyGeneratorContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitDropShardingKeyGenerator(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) DropShardingKeyGenerator() (localctx IDropShardingKeyGeneratorContext) { + localctx = NewDropShardingKeyGeneratorContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 24, RDLStatementParserRULE_dropShardingKeyGenerator) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(270) + p.Match(RDLStatementParserDROP) + } + { + p.SetState(271) + p.Match(RDLStatementParserSHARDING) + } + { + p.SetState(272) + p.Match(RDLStatementParserKEY) + } + { + p.SetState(273) + p.Match(RDLStatementParserGENERATOR) + } + p.SetState(275) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + if _la == RDLStatementParserIF { + { + p.SetState(274) + p.IfExists() + } + + } + { + p.SetState(277) + p.KeyGeneratorName() + } + p.SetState(282) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(278) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(279) + p.KeyGeneratorName() + } + + + p.SetState(284) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + + + + return localctx +} + + +// IDropShardingAuditorContext is an interface to support dynamic dispatch. +type IDropShardingAuditorContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsDropShardingAuditorContext differentiates from other interfaces. + IsDropShardingAuditorContext() +} + +type DropShardingAuditorContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyDropShardingAuditorContext() *DropShardingAuditorContext { + var p = new(DropShardingAuditorContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_dropShardingAuditor + return p +} + +func (*DropShardingAuditorContext) IsDropShardingAuditorContext() {} + +func NewDropShardingAuditorContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DropShardingAuditorContext { + var p = new(DropShardingAuditorContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_dropShardingAuditor + + return p +} + +func (s *DropShardingAuditorContext) GetParser() antlr.Parser { return s.parser } + +func (s *DropShardingAuditorContext) DROP() antlr.TerminalNode { + return s.GetToken(RDLStatementParserDROP, 0) +} + +func (s *DropShardingAuditorContext) SHARDING() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSHARDING, 0) +} + +func (s *DropShardingAuditorContext) AUDITOR() antlr.TerminalNode { + return s.GetToken(RDLStatementParserAUDITOR, 0) +} + +func (s *DropShardingAuditorContext) AllAuditorName() []IAuditorNameContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IAuditorNameContext)(nil)).Elem()) + var tst = make([]IAuditorNameContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(IAuditorNameContext) + } + } + + return tst +} + +func (s *DropShardingAuditorContext) AuditorName(i int) IAuditorNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IAuditorNameContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(IAuditorNameContext) +} + +func (s *DropShardingAuditorContext) IfExists() IIfExistsContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfExistsContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IIfExistsContext) +} + +func (s *DropShardingAuditorContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *DropShardingAuditorContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *DropShardingAuditorContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DropShardingAuditorContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *DropShardingAuditorContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitDropShardingAuditor(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) DropShardingAuditor() (localctx IDropShardingAuditorContext) { + localctx = NewDropShardingAuditorContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 26, RDLStatementParserRULE_dropShardingAuditor) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(285) + p.Match(RDLStatementParserDROP) + } + { + p.SetState(286) + p.Match(RDLStatementParserSHARDING) + } + { + p.SetState(287) + p.Match(RDLStatementParserAUDITOR) + } + p.SetState(289) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + if _la == RDLStatementParserIF { + { + p.SetState(288) + p.IfExists() + } + + } + { + p.SetState(291) + p.AuditorName() + } + p.SetState(296) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(292) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(293) + p.AuditorName() + } + + + p.SetState(298) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + + + + return localctx +} + + +// IShardingTableRuleDefinitionContext is an interface to support dynamic dispatch. +type IShardingTableRuleDefinitionContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsShardingTableRuleDefinitionContext differentiates from other interfaces. + IsShardingTableRuleDefinitionContext() +} + +type ShardingTableRuleDefinitionContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyShardingTableRuleDefinitionContext() *ShardingTableRuleDefinitionContext { + var p = new(ShardingTableRuleDefinitionContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_shardingTableRuleDefinition + return p +} + +func (*ShardingTableRuleDefinitionContext) IsShardingTableRuleDefinitionContext() {} + +func NewShardingTableRuleDefinitionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ShardingTableRuleDefinitionContext { + var p = new(ShardingTableRuleDefinitionContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_shardingTableRuleDefinition + + return p +} + +func (s *ShardingTableRuleDefinitionContext) GetParser() antlr.Parser { return s.parser } + +func (s *ShardingTableRuleDefinitionContext) ShardingAutoTableRule() IShardingAutoTableRuleContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IShardingAutoTableRuleContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IShardingAutoTableRuleContext) +} + +func (s *ShardingTableRuleDefinitionContext) ShardingTableRule() IShardingTableRuleContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IShardingTableRuleContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IShardingTableRuleContext) +} + +func (s *ShardingTableRuleDefinitionContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ShardingTableRuleDefinitionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *ShardingTableRuleDefinitionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitShardingTableRuleDefinition(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) ShardingTableRuleDefinition() (localctx IShardingTableRuleDefinitionContext) { + localctx = NewShardingTableRuleDefinitionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 28, RDLStatementParserRULE_shardingTableRuleDefinition) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + p.SetState(301) + p.GetErrorHandler().Sync(p) + switch p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 22, p.GetParserRuleContext()) { + case 1: + { + p.SetState(299) + p.ShardingAutoTableRule() + } + + + case 2: + { + p.SetState(300) + p.ShardingTableRule() + } + + } + + + + return localctx +} + + +// IShardingAutoTableRuleContext is an interface to support dynamic dispatch. +type IShardingAutoTableRuleContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsShardingAutoTableRuleContext differentiates from other interfaces. + IsShardingAutoTableRuleContext() +} + +type ShardingAutoTableRuleContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyShardingAutoTableRuleContext() *ShardingAutoTableRuleContext { + var p = new(ShardingAutoTableRuleContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_shardingAutoTableRule + return p +} + +func (*ShardingAutoTableRuleContext) IsShardingAutoTableRuleContext() {} + +func NewShardingAutoTableRuleContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ShardingAutoTableRuleContext { + var p = new(ShardingAutoTableRuleContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_shardingAutoTableRule + + return p +} + +func (s *ShardingAutoTableRuleContext) GetParser() antlr.Parser { return s.parser } + +func (s *ShardingAutoTableRuleContext) TableName() ITableNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*ITableNameContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(ITableNameContext) +} + +func (s *ShardingAutoTableRuleContext) LP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserLP_, 0) +} + +func (s *ShardingAutoTableRuleContext) StorageUnits() IStorageUnitsContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IStorageUnitsContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IStorageUnitsContext) +} + +func (s *ShardingAutoTableRuleContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *ShardingAutoTableRuleContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *ShardingAutoTableRuleContext) AutoShardingColumnDefinition() IAutoShardingColumnDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IAutoShardingColumnDefinitionContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IAutoShardingColumnDefinitionContext) +} + +func (s *ShardingAutoTableRuleContext) AlgorithmDefinition() IAlgorithmDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IAlgorithmDefinitionContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IAlgorithmDefinitionContext) +} + +func (s *ShardingAutoTableRuleContext) RP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRP_, 0) +} + +func (s *ShardingAutoTableRuleContext) KeyGenerateDefinition() IKeyGenerateDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IKeyGenerateDefinitionContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IKeyGenerateDefinitionContext) +} + +func (s *ShardingAutoTableRuleContext) AuditDefinition() IAuditDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IAuditDefinitionContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IAuditDefinitionContext) +} + +func (s *ShardingAutoTableRuleContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ShardingAutoTableRuleContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *ShardingAutoTableRuleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitShardingAutoTableRule(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) ShardingAutoTableRule() (localctx IShardingAutoTableRuleContext) { + localctx = NewShardingAutoTableRuleContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 30, RDLStatementParserRULE_shardingAutoTableRule) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(303) + p.TableName() + } + { + p.SetState(304) + p.Match(RDLStatementParserLP_) + } + { + p.SetState(305) + p.StorageUnits() + } + { + p.SetState(306) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(307) + p.AutoShardingColumnDefinition() + } + { + p.SetState(308) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(309) + p.AlgorithmDefinition() + } + p.SetState(312) + p.GetErrorHandler().Sync(p) + + + if p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 23, p.GetParserRuleContext()) == 1 { + { + p.SetState(310) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(311) + p.KeyGenerateDefinition() + } + + + } + p.SetState(316) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + if _la == RDLStatementParserCOMMA_ { + { + p.SetState(314) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(315) + p.AuditDefinition() + } + + } + { + p.SetState(318) + p.Match(RDLStatementParserRP_) + } + + + + return localctx +} + + +// IShardingTableRuleContext is an interface to support dynamic dispatch. +type IShardingTableRuleContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsShardingTableRuleContext differentiates from other interfaces. + IsShardingTableRuleContext() +} + +type ShardingTableRuleContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyShardingTableRuleContext() *ShardingTableRuleContext { + var p = new(ShardingTableRuleContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_shardingTableRule + return p +} + +func (*ShardingTableRuleContext) IsShardingTableRuleContext() {} + +func NewShardingTableRuleContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ShardingTableRuleContext { + var p = new(ShardingTableRuleContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_shardingTableRule + + return p +} + +func (s *ShardingTableRuleContext) GetParser() antlr.Parser { return s.parser } + +func (s *ShardingTableRuleContext) TableName() ITableNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*ITableNameContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(ITableNameContext) +} + +func (s *ShardingTableRuleContext) LP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserLP_, 0) +} + +func (s *ShardingTableRuleContext) DataNodes() IDataNodesContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IDataNodesContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IDataNodesContext) +} + +func (s *ShardingTableRuleContext) RP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRP_, 0) +} + +func (s *ShardingTableRuleContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *ShardingTableRuleContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *ShardingTableRuleContext) DatabaseStrategy() IDatabaseStrategyContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IDatabaseStrategyContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IDatabaseStrategyContext) +} + +func (s *ShardingTableRuleContext) TableStrategy() ITableStrategyContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*ITableStrategyContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(ITableStrategyContext) +} + +func (s *ShardingTableRuleContext) KeyGenerateDefinition() IKeyGenerateDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IKeyGenerateDefinitionContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IKeyGenerateDefinitionContext) +} + +func (s *ShardingTableRuleContext) AuditDefinition() IAuditDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IAuditDefinitionContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IAuditDefinitionContext) +} + +func (s *ShardingTableRuleContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ShardingTableRuleContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *ShardingTableRuleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitShardingTableRule(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) ShardingTableRule() (localctx IShardingTableRuleContext) { + localctx = NewShardingTableRuleContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 32, RDLStatementParserRULE_shardingTableRule) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(320) + p.TableName() + } + { + p.SetState(321) + p.Match(RDLStatementParserLP_) + } + { + p.SetState(322) + p.DataNodes() + } + p.SetState(325) + p.GetErrorHandler().Sync(p) + + + if p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 25, p.GetParserRuleContext()) == 1 { + { + p.SetState(323) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(324) + p.DatabaseStrategy() + } + + + } + p.SetState(329) + p.GetErrorHandler().Sync(p) + + + if p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 26, p.GetParserRuleContext()) == 1 { + { + p.SetState(327) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(328) + p.TableStrategy() + } + + + } + p.SetState(333) + p.GetErrorHandler().Sync(p) + + + if p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 27, p.GetParserRuleContext()) == 1 { + { + p.SetState(331) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(332) + p.KeyGenerateDefinition() + } + + + } + p.SetState(337) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + if _la == RDLStatementParserCOMMA_ { + { + p.SetState(335) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(336) + p.AuditDefinition() + } + + } + { + p.SetState(339) + p.Match(RDLStatementParserRP_) + } + + + + return localctx +} + + +// IKeyGeneratorNameContext is an interface to support dynamic dispatch. +type IKeyGeneratorNameContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsKeyGeneratorNameContext differentiates from other interfaces. + IsKeyGeneratorNameContext() +} + +type KeyGeneratorNameContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyKeyGeneratorNameContext() *KeyGeneratorNameContext { + var p = new(KeyGeneratorNameContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_keyGeneratorName + return p +} + +func (*KeyGeneratorNameContext) IsKeyGeneratorNameContext() {} + +func NewKeyGeneratorNameContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *KeyGeneratorNameContext { + var p = new(KeyGeneratorNameContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_keyGeneratorName + + return p +} + +func (s *KeyGeneratorNameContext) GetParser() antlr.Parser { return s.parser } + +func (s *KeyGeneratorNameContext) IDENTIFIER_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserIDENTIFIER_, 0) +} + +func (s *KeyGeneratorNameContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *KeyGeneratorNameContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *KeyGeneratorNameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitKeyGeneratorName(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) KeyGeneratorName() (localctx IKeyGeneratorNameContext) { + localctx = NewKeyGeneratorNameContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 34, RDLStatementParserRULE_keyGeneratorName) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(341) + p.Match(RDLStatementParserIDENTIFIER_) + } + + + + return localctx +} + + +// IAuditorDefinitionContext is an interface to support dynamic dispatch. +type IAuditorDefinitionContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsAuditorDefinitionContext differentiates from other interfaces. + IsAuditorDefinitionContext() +} + +type AuditorDefinitionContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyAuditorDefinitionContext() *AuditorDefinitionContext { + var p = new(AuditorDefinitionContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_auditorDefinition + return p +} + +func (*AuditorDefinitionContext) IsAuditorDefinitionContext() {} + +func NewAuditorDefinitionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AuditorDefinitionContext { + var p = new(AuditorDefinitionContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_auditorDefinition + + return p +} + +func (s *AuditorDefinitionContext) GetParser() antlr.Parser { return s.parser } + +func (s *AuditorDefinitionContext) AuditorName() IAuditorNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IAuditorNameContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IAuditorNameContext) +} + +func (s *AuditorDefinitionContext) LP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserLP_, 0) +} + +func (s *AuditorDefinitionContext) AlgorithmDefinition() IAlgorithmDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IAlgorithmDefinitionContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IAlgorithmDefinitionContext) +} + +func (s *AuditorDefinitionContext) RP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRP_, 0) +} + +func (s *AuditorDefinitionContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *AuditorDefinitionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *AuditorDefinitionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitAuditorDefinition(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) AuditorDefinition() (localctx IAuditorDefinitionContext) { + localctx = NewAuditorDefinitionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 36, RDLStatementParserRULE_auditorDefinition) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(343) + p.AuditorName() + } + { + p.SetState(344) + p.Match(RDLStatementParserLP_) + } + { + p.SetState(345) + p.AlgorithmDefinition() + } + { + p.SetState(346) + p.Match(RDLStatementParserRP_) + } + + + + return localctx +} + + +// IAuditorNameContext is an interface to support dynamic dispatch. +type IAuditorNameContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsAuditorNameContext differentiates from other interfaces. + IsAuditorNameContext() +} + +type AuditorNameContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyAuditorNameContext() *AuditorNameContext { + var p = new(AuditorNameContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_auditorName + return p +} + +func (*AuditorNameContext) IsAuditorNameContext() {} + +func NewAuditorNameContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AuditorNameContext { + var p = new(AuditorNameContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_auditorName + + return p +} + +func (s *AuditorNameContext) GetParser() antlr.Parser { return s.parser } + +func (s *AuditorNameContext) IDENTIFIER_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserIDENTIFIER_, 0) +} + +func (s *AuditorNameContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *AuditorNameContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *AuditorNameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitAuditorName(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) AuditorName() (localctx IAuditorNameContext) { + localctx = NewAuditorNameContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 38, RDLStatementParserRULE_auditorName) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(348) + p.Match(RDLStatementParserIDENTIFIER_) + } + + + + return localctx +} + + +// IStorageUnitsContext is an interface to support dynamic dispatch. +type IStorageUnitsContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsStorageUnitsContext differentiates from other interfaces. + IsStorageUnitsContext() +} + +type StorageUnitsContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyStorageUnitsContext() *StorageUnitsContext { + var p = new(StorageUnitsContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_storageUnits + return p +} + +func (*StorageUnitsContext) IsStorageUnitsContext() {} + +func NewStorageUnitsContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *StorageUnitsContext { + var p = new(StorageUnitsContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_storageUnits + + return p +} + +func (s *StorageUnitsContext) GetParser() antlr.Parser { return s.parser } + +func (s *StorageUnitsContext) STORAGE_UNITS() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSTORAGE_UNITS, 0) +} + +func (s *StorageUnitsContext) LP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserLP_, 0) +} + +func (s *StorageUnitsContext) AllStorageUnit() []IStorageUnitContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IStorageUnitContext)(nil)).Elem()) + var tst = make([]IStorageUnitContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(IStorageUnitContext) + } + } + + return tst +} + +func (s *StorageUnitsContext) StorageUnit(i int) IStorageUnitContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IStorageUnitContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(IStorageUnitContext) +} + +func (s *StorageUnitsContext) RP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRP_, 0) +} + +func (s *StorageUnitsContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *StorageUnitsContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *StorageUnitsContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *StorageUnitsContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *StorageUnitsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitStorageUnits(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) StorageUnits() (localctx IStorageUnitsContext) { + localctx = NewStorageUnitsContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 40, RDLStatementParserRULE_storageUnits) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(350) + p.Match(RDLStatementParserSTORAGE_UNITS) + } + { + p.SetState(351) + p.Match(RDLStatementParserLP_) + } + { + p.SetState(352) + p.StorageUnit() + } + p.SetState(357) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(353) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(354) + p.StorageUnit() + } + + + p.SetState(359) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + { + p.SetState(360) + p.Match(RDLStatementParserRP_) + } + + + + return localctx +} + + +// IStorageUnitContext is an interface to support dynamic dispatch. +type IStorageUnitContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsStorageUnitContext differentiates from other interfaces. + IsStorageUnitContext() +} + +type StorageUnitContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyStorageUnitContext() *StorageUnitContext { + var p = new(StorageUnitContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_storageUnit + return p +} + +func (*StorageUnitContext) IsStorageUnitContext() {} + +func NewStorageUnitContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *StorageUnitContext { + var p = new(StorageUnitContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_storageUnit + + return p +} + +func (s *StorageUnitContext) GetParser() antlr.Parser { return s.parser } + +func (s *StorageUnitContext) IDENTIFIER_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserIDENTIFIER_, 0) +} + +func (s *StorageUnitContext) STRING_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSTRING_, 0) +} + +func (s *StorageUnitContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *StorageUnitContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *StorageUnitContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitStorageUnit(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) StorageUnit() (localctx IStorageUnitContext) { + localctx = NewStorageUnitContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 42, RDLStatementParserRULE_storageUnit) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(362) + _la = p.GetTokenStream().LA(1) + + if !(_la == RDLStatementParserIDENTIFIER_ || _la == RDLStatementParserSTRING_) { + p.GetErrorHandler().RecoverInline(p) + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() + } + } + + + + return localctx +} + + +// IDataNodesContext is an interface to support dynamic dispatch. +type IDataNodesContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsDataNodesContext differentiates from other interfaces. + IsDataNodesContext() +} + +type DataNodesContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyDataNodesContext() *DataNodesContext { + var p = new(DataNodesContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_dataNodes + return p +} + +func (*DataNodesContext) IsDataNodesContext() {} + +func NewDataNodesContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DataNodesContext { + var p = new(DataNodesContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_dataNodes + + return p +} + +func (s *DataNodesContext) GetParser() antlr.Parser { return s.parser } + +func (s *DataNodesContext) DATANODES() antlr.TerminalNode { + return s.GetToken(RDLStatementParserDATANODES, 0) +} + +func (s *DataNodesContext) LP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserLP_, 0) +} + +func (s *DataNodesContext) AllDataNode() []IDataNodeContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IDataNodeContext)(nil)).Elem()) + var tst = make([]IDataNodeContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(IDataNodeContext) + } + } + + return tst +} + +func (s *DataNodesContext) DataNode(i int) IDataNodeContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IDataNodeContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(IDataNodeContext) +} + +func (s *DataNodesContext) RP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRP_, 0) +} + +func (s *DataNodesContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *DataNodesContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *DataNodesContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DataNodesContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *DataNodesContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitDataNodes(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) DataNodes() (localctx IDataNodesContext) { + localctx = NewDataNodesContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 44, RDLStatementParserRULE_dataNodes) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(364) + p.Match(RDLStatementParserDATANODES) + } + { + p.SetState(365) + p.Match(RDLStatementParserLP_) + } + { + p.SetState(366) + p.DataNode() + } + p.SetState(371) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(367) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(368) + p.DataNode() + } + + + p.SetState(373) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + { + p.SetState(374) + p.Match(RDLStatementParserRP_) + } + + + + return localctx +} + + +// IDataNodeContext is an interface to support dynamic dispatch. +type IDataNodeContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsDataNodeContext differentiates from other interfaces. + IsDataNodeContext() +} + +type DataNodeContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyDataNodeContext() *DataNodeContext { + var p = new(DataNodeContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_dataNode + return p +} + +func (*DataNodeContext) IsDataNodeContext() {} + +func NewDataNodeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DataNodeContext { + var p = new(DataNodeContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_dataNode + + return p +} + +func (s *DataNodeContext) GetParser() antlr.Parser { return s.parser } + +func (s *DataNodeContext) STRING_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSTRING_, 0) +} + +func (s *DataNodeContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DataNodeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *DataNodeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitDataNode(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) DataNode() (localctx IDataNodeContext) { + localctx = NewDataNodeContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 46, RDLStatementParserRULE_dataNode) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(376) + p.Match(RDLStatementParserSTRING_) + } + + + + return localctx +} + + +// IAutoShardingColumnDefinitionContext is an interface to support dynamic dispatch. +type IAutoShardingColumnDefinitionContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsAutoShardingColumnDefinitionContext differentiates from other interfaces. + IsAutoShardingColumnDefinitionContext() +} + +type AutoShardingColumnDefinitionContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyAutoShardingColumnDefinitionContext() *AutoShardingColumnDefinitionContext { + var p = new(AutoShardingColumnDefinitionContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_autoShardingColumnDefinition + return p +} + +func (*AutoShardingColumnDefinitionContext) IsAutoShardingColumnDefinitionContext() {} + +func NewAutoShardingColumnDefinitionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AutoShardingColumnDefinitionContext { + var p = new(AutoShardingColumnDefinitionContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_autoShardingColumnDefinition + + return p +} + +func (s *AutoShardingColumnDefinitionContext) GetParser() antlr.Parser { return s.parser } + +func (s *AutoShardingColumnDefinitionContext) ShardingColumn() IShardingColumnContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IShardingColumnContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IShardingColumnContext) +} + +func (s *AutoShardingColumnDefinitionContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *AutoShardingColumnDefinitionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *AutoShardingColumnDefinitionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitAutoShardingColumnDefinition(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) AutoShardingColumnDefinition() (localctx IAutoShardingColumnDefinitionContext) { + localctx = NewAutoShardingColumnDefinitionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 48, RDLStatementParserRULE_autoShardingColumnDefinition) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(378) + p.ShardingColumn() + } + + + + return localctx +} + + +// IShardingColumnDefinitionContext is an interface to support dynamic dispatch. +type IShardingColumnDefinitionContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsShardingColumnDefinitionContext differentiates from other interfaces. + IsShardingColumnDefinitionContext() +} + +type ShardingColumnDefinitionContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyShardingColumnDefinitionContext() *ShardingColumnDefinitionContext { + var p = new(ShardingColumnDefinitionContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_shardingColumnDefinition + return p +} + +func (*ShardingColumnDefinitionContext) IsShardingColumnDefinitionContext() {} + +func NewShardingColumnDefinitionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ShardingColumnDefinitionContext { + var p = new(ShardingColumnDefinitionContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_shardingColumnDefinition + + return p +} + +func (s *ShardingColumnDefinitionContext) GetParser() antlr.Parser { return s.parser } + +func (s *ShardingColumnDefinitionContext) ShardingColumn() IShardingColumnContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IShardingColumnContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IShardingColumnContext) +} + +func (s *ShardingColumnDefinitionContext) ShardingColumns() IShardingColumnsContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IShardingColumnsContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IShardingColumnsContext) +} + +func (s *ShardingColumnDefinitionContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ShardingColumnDefinitionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *ShardingColumnDefinitionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitShardingColumnDefinition(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) ShardingColumnDefinition() (localctx IShardingColumnDefinitionContext) { + localctx = NewShardingColumnDefinitionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 50, RDLStatementParserRULE_shardingColumnDefinition) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.SetState(382) + p.GetErrorHandler().Sync(p) + + switch p.GetTokenStream().LA(1) { + case RDLStatementParserSHARDING_COLUMN: + p.EnterOuterAlt(localctx, 1) + { + p.SetState(380) + p.ShardingColumn() + } + + + case RDLStatementParserSHARDING_COLUMNS: + p.EnterOuterAlt(localctx, 2) + { + p.SetState(381) + p.ShardingColumns() + } + + + + default: + panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) + } + + + return localctx +} + + +// IShardingColumnContext is an interface to support dynamic dispatch. +type IShardingColumnContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsShardingColumnContext differentiates from other interfaces. + IsShardingColumnContext() +} + +type ShardingColumnContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyShardingColumnContext() *ShardingColumnContext { + var p = new(ShardingColumnContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_shardingColumn + return p +} + +func (*ShardingColumnContext) IsShardingColumnContext() {} + +func NewShardingColumnContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ShardingColumnContext { + var p = new(ShardingColumnContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_shardingColumn + + return p +} + +func (s *ShardingColumnContext) GetParser() antlr.Parser { return s.parser } + +func (s *ShardingColumnContext) SHARDING_COLUMN() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSHARDING_COLUMN, 0) +} + +func (s *ShardingColumnContext) EQ_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserEQ_, 0) +} + +func (s *ShardingColumnContext) ColumnName() IColumnNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IColumnNameContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IColumnNameContext) +} + +func (s *ShardingColumnContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ShardingColumnContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *ShardingColumnContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitShardingColumn(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) ShardingColumn() (localctx IShardingColumnContext) { + localctx = NewShardingColumnContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 52, RDLStatementParserRULE_shardingColumn) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(384) + p.Match(RDLStatementParserSHARDING_COLUMN) + } + { + p.SetState(385) + p.Match(RDLStatementParserEQ_) + } + { + p.SetState(386) + p.ColumnName() + } + + + + return localctx +} + + +// IShardingColumnsContext is an interface to support dynamic dispatch. +type IShardingColumnsContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsShardingColumnsContext differentiates from other interfaces. + IsShardingColumnsContext() +} + +type ShardingColumnsContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyShardingColumnsContext() *ShardingColumnsContext { + var p = new(ShardingColumnsContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_shardingColumns + return p +} + +func (*ShardingColumnsContext) IsShardingColumnsContext() {} + +func NewShardingColumnsContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ShardingColumnsContext { + var p = new(ShardingColumnsContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_shardingColumns + + return p +} + +func (s *ShardingColumnsContext) GetParser() antlr.Parser { return s.parser } + +func (s *ShardingColumnsContext) SHARDING_COLUMNS() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSHARDING_COLUMNS, 0) +} + +func (s *ShardingColumnsContext) EQ_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserEQ_, 0) +} + +func (s *ShardingColumnsContext) AllColumnName() []IColumnNameContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IColumnNameContext)(nil)).Elem()) + var tst = make([]IColumnNameContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(IColumnNameContext) + } + } + + return tst +} + +func (s *ShardingColumnsContext) ColumnName(i int) IColumnNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IColumnNameContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(IColumnNameContext) +} + +func (s *ShardingColumnsContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *ShardingColumnsContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *ShardingColumnsContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ShardingColumnsContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *ShardingColumnsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitShardingColumns(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) ShardingColumns() (localctx IShardingColumnsContext) { + localctx = NewShardingColumnsContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 54, RDLStatementParserRULE_shardingColumns) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + var _alt int + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(388) + p.Match(RDLStatementParserSHARDING_COLUMNS) + } + { + p.SetState(389) + p.Match(RDLStatementParserEQ_) + } + { + p.SetState(390) + p.ColumnName() + } + { + p.SetState(391) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(392) + p.ColumnName() + } + p.SetState(397) + p.GetErrorHandler().Sync(p) + _alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 32, p.GetParserRuleContext()) + + for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { + if _alt == 1 { + { + p.SetState(393) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(394) + p.ColumnName() + } + + + } + p.SetState(399) + p.GetErrorHandler().Sync(p) + _alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 32, p.GetParserRuleContext()) + } + + + + return localctx +} + + +// IShardingAlgorithmContext is an interface to support dynamic dispatch. +type IShardingAlgorithmContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsShardingAlgorithmContext differentiates from other interfaces. + IsShardingAlgorithmContext() +} + +type ShardingAlgorithmContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyShardingAlgorithmContext() *ShardingAlgorithmContext { + var p = new(ShardingAlgorithmContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_shardingAlgorithm + return p +} + +func (*ShardingAlgorithmContext) IsShardingAlgorithmContext() {} + +func NewShardingAlgorithmContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ShardingAlgorithmContext { + var p = new(ShardingAlgorithmContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_shardingAlgorithm + + return p +} + +func (s *ShardingAlgorithmContext) GetParser() antlr.Parser { return s.parser } + +func (s *ShardingAlgorithmContext) SHARDING_ALGORITHM() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSHARDING_ALGORITHM, 0) +} + +func (s *ShardingAlgorithmContext) LP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserLP_, 0) +} + +func (s *ShardingAlgorithmContext) AlgorithmDefinition() IAlgorithmDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IAlgorithmDefinitionContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IAlgorithmDefinitionContext) +} + +func (s *ShardingAlgorithmContext) RP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRP_, 0) +} + +func (s *ShardingAlgorithmContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ShardingAlgorithmContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *ShardingAlgorithmContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitShardingAlgorithm(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) ShardingAlgorithm() (localctx IShardingAlgorithmContext) { + localctx = NewShardingAlgorithmContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 56, RDLStatementParserRULE_shardingAlgorithm) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(400) + p.Match(RDLStatementParserSHARDING_ALGORITHM) + } + { + p.SetState(401) + p.Match(RDLStatementParserLP_) + } + { + p.SetState(402) + p.AlgorithmDefinition() + } + { + p.SetState(403) + p.Match(RDLStatementParserRP_) + } + + + + return localctx +} + + +// IShardingStrategyContext is an interface to support dynamic dispatch. +type IShardingStrategyContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsShardingStrategyContext differentiates from other interfaces. + IsShardingStrategyContext() +} + +type ShardingStrategyContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyShardingStrategyContext() *ShardingStrategyContext { + var p = new(ShardingStrategyContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_shardingStrategy + return p +} + +func (*ShardingStrategyContext) IsShardingStrategyContext() {} + +func NewShardingStrategyContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ShardingStrategyContext { + var p = new(ShardingStrategyContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_shardingStrategy + + return p +} + +func (s *ShardingStrategyContext) GetParser() antlr.Parser { return s.parser } + +func (s *ShardingStrategyContext) TYPE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserTYPE, 0) +} + +func (s *ShardingStrategyContext) EQ_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserEQ_, 0) +} + +func (s *ShardingStrategyContext) StrategyType() IStrategyTypeContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IStrategyTypeContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IStrategyTypeContext) +} + +func (s *ShardingStrategyContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *ShardingStrategyContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *ShardingStrategyContext) ShardingAlgorithm() IShardingAlgorithmContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IShardingAlgorithmContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IShardingAlgorithmContext) +} + +func (s *ShardingStrategyContext) ShardingColumnDefinition() IShardingColumnDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IShardingColumnDefinitionContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IShardingColumnDefinitionContext) +} + +func (s *ShardingStrategyContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ShardingStrategyContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *ShardingStrategyContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitShardingStrategy(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) ShardingStrategy() (localctx IShardingStrategyContext) { + localctx = NewShardingStrategyContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 58, RDLStatementParserRULE_shardingStrategy) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(405) + p.Match(RDLStatementParserTYPE) + } + { + p.SetState(406) + p.Match(RDLStatementParserEQ_) + } + { + p.SetState(407) + p.StrategyType() + } + p.SetState(414) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + if _la == RDLStatementParserCOMMA_ { + p.SetState(410) + p.GetErrorHandler().Sync(p) + + + if p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 33, p.GetParserRuleContext()) == 1 { + { + p.SetState(408) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(409) + p.ShardingColumnDefinition() + } + + + } + { + p.SetState(412) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(413) + p.ShardingAlgorithm() + } + + } + + + + return localctx +} + + +// IDatabaseStrategyContext is an interface to support dynamic dispatch. +type IDatabaseStrategyContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsDatabaseStrategyContext differentiates from other interfaces. + IsDatabaseStrategyContext() +} + +type DatabaseStrategyContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyDatabaseStrategyContext() *DatabaseStrategyContext { + var p = new(DatabaseStrategyContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_databaseStrategy + return p +} + +func (*DatabaseStrategyContext) IsDatabaseStrategyContext() {} + +func NewDatabaseStrategyContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DatabaseStrategyContext { + var p = new(DatabaseStrategyContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_databaseStrategy + + return p +} + +func (s *DatabaseStrategyContext) GetParser() antlr.Parser { return s.parser } + +func (s *DatabaseStrategyContext) DATABASE_STRATEGY() antlr.TerminalNode { + return s.GetToken(RDLStatementParserDATABASE_STRATEGY, 0) +} + +func (s *DatabaseStrategyContext) LP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserLP_, 0) +} + +func (s *DatabaseStrategyContext) ShardingStrategy() IShardingStrategyContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IShardingStrategyContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IShardingStrategyContext) +} + +func (s *DatabaseStrategyContext) RP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRP_, 0) +} + +func (s *DatabaseStrategyContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DatabaseStrategyContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *DatabaseStrategyContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitDatabaseStrategy(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) DatabaseStrategy() (localctx IDatabaseStrategyContext) { + localctx = NewDatabaseStrategyContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 60, RDLStatementParserRULE_databaseStrategy) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(416) + p.Match(RDLStatementParserDATABASE_STRATEGY) + } + { + p.SetState(417) + p.Match(RDLStatementParserLP_) + } + { + p.SetState(418) + p.ShardingStrategy() + } + { + p.SetState(419) + p.Match(RDLStatementParserRP_) + } + + + + return localctx +} + + +// ITableStrategyContext is an interface to support dynamic dispatch. +type ITableStrategyContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsTableStrategyContext differentiates from other interfaces. + IsTableStrategyContext() +} + +type TableStrategyContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyTableStrategyContext() *TableStrategyContext { + var p = new(TableStrategyContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_tableStrategy + return p +} + +func (*TableStrategyContext) IsTableStrategyContext() {} + +func NewTableStrategyContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *TableStrategyContext { + var p = new(TableStrategyContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_tableStrategy + + return p +} + +func (s *TableStrategyContext) GetParser() antlr.Parser { return s.parser } + +func (s *TableStrategyContext) TABLE_STRATEGY() antlr.TerminalNode { + return s.GetToken(RDLStatementParserTABLE_STRATEGY, 0) +} + +func (s *TableStrategyContext) LP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserLP_, 0) +} + +func (s *TableStrategyContext) ShardingStrategy() IShardingStrategyContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IShardingStrategyContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IShardingStrategyContext) +} + +func (s *TableStrategyContext) RP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRP_, 0) +} + +func (s *TableStrategyContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *TableStrategyContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *TableStrategyContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitTableStrategy(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) TableStrategy() (localctx ITableStrategyContext) { + localctx = NewTableStrategyContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 62, RDLStatementParserRULE_tableStrategy) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(421) + p.Match(RDLStatementParserTABLE_STRATEGY) + } + { + p.SetState(422) + p.Match(RDLStatementParserLP_) + } + { + p.SetState(423) + p.ShardingStrategy() + } + { + p.SetState(424) + p.Match(RDLStatementParserRP_) + } + + + + return localctx +} + + +// IKeyGenerateDefinitionContext is an interface to support dynamic dispatch. +type IKeyGenerateDefinitionContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsKeyGenerateDefinitionContext differentiates from other interfaces. + IsKeyGenerateDefinitionContext() +} + +type KeyGenerateDefinitionContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyKeyGenerateDefinitionContext() *KeyGenerateDefinitionContext { + var p = new(KeyGenerateDefinitionContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_keyGenerateDefinition + return p +} + +func (*KeyGenerateDefinitionContext) IsKeyGenerateDefinitionContext() {} + +func NewKeyGenerateDefinitionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *KeyGenerateDefinitionContext { + var p = new(KeyGenerateDefinitionContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_keyGenerateDefinition + + return p +} + +func (s *KeyGenerateDefinitionContext) GetParser() antlr.Parser { return s.parser } + +func (s *KeyGenerateDefinitionContext) KEY_GENERATE_STRATEGY() antlr.TerminalNode { + return s.GetToken(RDLStatementParserKEY_GENERATE_STRATEGY, 0) +} + +func (s *KeyGenerateDefinitionContext) LP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserLP_, 0) +} + +func (s *KeyGenerateDefinitionContext) COLUMN() antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOLUMN, 0) +} + +func (s *KeyGenerateDefinitionContext) EQ_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserEQ_, 0) +} + +func (s *KeyGenerateDefinitionContext) ColumnName() IColumnNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IColumnNameContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IColumnNameContext) +} + +func (s *KeyGenerateDefinitionContext) COMMA_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, 0) +} + +func (s *KeyGenerateDefinitionContext) AlgorithmDefinition() IAlgorithmDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IAlgorithmDefinitionContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IAlgorithmDefinitionContext) +} + +func (s *KeyGenerateDefinitionContext) RP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRP_, 0) +} + +func (s *KeyGenerateDefinitionContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *KeyGenerateDefinitionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *KeyGenerateDefinitionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitKeyGenerateDefinition(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) KeyGenerateDefinition() (localctx IKeyGenerateDefinitionContext) { + localctx = NewKeyGenerateDefinitionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 64, RDLStatementParserRULE_keyGenerateDefinition) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(426) + p.Match(RDLStatementParserKEY_GENERATE_STRATEGY) + } + { + p.SetState(427) + p.Match(RDLStatementParserLP_) + } + { + p.SetState(428) + p.Match(RDLStatementParserCOLUMN) + } + { + p.SetState(429) + p.Match(RDLStatementParserEQ_) + } + { + p.SetState(430) + p.ColumnName() + } + { + p.SetState(431) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(432) + p.AlgorithmDefinition() + } + { + p.SetState(433) + p.Match(RDLStatementParserRP_) + } + + + + return localctx +} + + +// IAuditDefinitionContext is an interface to support dynamic dispatch. +type IAuditDefinitionContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsAuditDefinitionContext differentiates from other interfaces. + IsAuditDefinitionContext() +} + +type AuditDefinitionContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyAuditDefinitionContext() *AuditDefinitionContext { + var p = new(AuditDefinitionContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_auditDefinition + return p +} + +func (*AuditDefinitionContext) IsAuditDefinitionContext() {} + +func NewAuditDefinitionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AuditDefinitionContext { + var p = new(AuditDefinitionContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_auditDefinition + + return p +} + +func (s *AuditDefinitionContext) GetParser() antlr.Parser { return s.parser } + +func (s *AuditDefinitionContext) AUDIT_STRATEGY() antlr.TerminalNode { + return s.GetToken(RDLStatementParserAUDIT_STRATEGY, 0) +} + +func (s *AuditDefinitionContext) LP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserLP_, 0) +} + +func (s *AuditDefinitionContext) MultiAuditDefinition() IMultiAuditDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IMultiAuditDefinitionContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IMultiAuditDefinitionContext) +} + +func (s *AuditDefinitionContext) COMMA_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, 0) +} + +func (s *AuditDefinitionContext) ALLOW_HINT_DISABLE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserALLOW_HINT_DISABLE, 0) +} + +func (s *AuditDefinitionContext) EQ_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserEQ_, 0) +} + +func (s *AuditDefinitionContext) AuditAllowHintDisable() IAuditAllowHintDisableContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IAuditAllowHintDisableContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IAuditAllowHintDisableContext) +} + +func (s *AuditDefinitionContext) RP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRP_, 0) +} + +func (s *AuditDefinitionContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *AuditDefinitionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *AuditDefinitionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitAuditDefinition(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) AuditDefinition() (localctx IAuditDefinitionContext) { + localctx = NewAuditDefinitionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 66, RDLStatementParserRULE_auditDefinition) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(435) + p.Match(RDLStatementParserAUDIT_STRATEGY) + } + { + p.SetState(436) + p.Match(RDLStatementParserLP_) + } + { + p.SetState(437) + p.MultiAuditDefinition() + } + { + p.SetState(438) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(439) + p.Match(RDLStatementParserALLOW_HINT_DISABLE) + } + { + p.SetState(440) + p.Match(RDLStatementParserEQ_) + } + { + p.SetState(441) + p.AuditAllowHintDisable() + } + { + p.SetState(442) + p.Match(RDLStatementParserRP_) + } + + + + return localctx +} + + +// IMultiAuditDefinitionContext is an interface to support dynamic dispatch. +type IMultiAuditDefinitionContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsMultiAuditDefinitionContext differentiates from other interfaces. + IsMultiAuditDefinitionContext() +} + +type MultiAuditDefinitionContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyMultiAuditDefinitionContext() *MultiAuditDefinitionContext { + var p = new(MultiAuditDefinitionContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_multiAuditDefinition + return p +} + +func (*MultiAuditDefinitionContext) IsMultiAuditDefinitionContext() {} + +func NewMultiAuditDefinitionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MultiAuditDefinitionContext { + var p = new(MultiAuditDefinitionContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_multiAuditDefinition + + return p +} + +func (s *MultiAuditDefinitionContext) GetParser() antlr.Parser { return s.parser } + +func (s *MultiAuditDefinitionContext) AllSingleAuditDefinition() []ISingleAuditDefinitionContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*ISingleAuditDefinitionContext)(nil)).Elem()) + var tst = make([]ISingleAuditDefinitionContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(ISingleAuditDefinitionContext) + } + } + + return tst +} + +func (s *MultiAuditDefinitionContext) SingleAuditDefinition(i int) ISingleAuditDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*ISingleAuditDefinitionContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(ISingleAuditDefinitionContext) +} + +func (s *MultiAuditDefinitionContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *MultiAuditDefinitionContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *MultiAuditDefinitionContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *MultiAuditDefinitionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *MultiAuditDefinitionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitMultiAuditDefinition(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) MultiAuditDefinition() (localctx IMultiAuditDefinitionContext) { + localctx = NewMultiAuditDefinitionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 68, RDLStatementParserRULE_multiAuditDefinition) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + var _alt int + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(444) + p.SingleAuditDefinition() + } + p.SetState(449) + p.GetErrorHandler().Sync(p) + _alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 35, p.GetParserRuleContext()) + + for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { + if _alt == 1 { + { + p.SetState(445) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(446) + p.SingleAuditDefinition() + } + + + } + p.SetState(451) + p.GetErrorHandler().Sync(p) + _alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 35, p.GetParserRuleContext()) + } + + + + return localctx +} + + +// ISingleAuditDefinitionContext is an interface to support dynamic dispatch. +type ISingleAuditDefinitionContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsSingleAuditDefinitionContext differentiates from other interfaces. + IsSingleAuditDefinitionContext() +} + +type SingleAuditDefinitionContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptySingleAuditDefinitionContext() *SingleAuditDefinitionContext { + var p = new(SingleAuditDefinitionContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_singleAuditDefinition + return p +} + +func (*SingleAuditDefinitionContext) IsSingleAuditDefinitionContext() {} + +func NewSingleAuditDefinitionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SingleAuditDefinitionContext { + var p = new(SingleAuditDefinitionContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_singleAuditDefinition + + return p +} + +func (s *SingleAuditDefinitionContext) GetParser() antlr.Parser { return s.parser } + +func (s *SingleAuditDefinitionContext) AlgorithmDefinition() IAlgorithmDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IAlgorithmDefinitionContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IAlgorithmDefinitionContext) +} + +func (s *SingleAuditDefinitionContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *SingleAuditDefinitionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *SingleAuditDefinitionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitSingleAuditDefinition(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) SingleAuditDefinition() (localctx ISingleAuditDefinitionContext) { + localctx = NewSingleAuditDefinitionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 70, RDLStatementParserRULE_singleAuditDefinition) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(452) + p.AlgorithmDefinition() + } + + + + return localctx +} + + +// IAuditAllowHintDisableContext is an interface to support dynamic dispatch. +type IAuditAllowHintDisableContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsAuditAllowHintDisableContext differentiates from other interfaces. + IsAuditAllowHintDisableContext() +} + +type AuditAllowHintDisableContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyAuditAllowHintDisableContext() *AuditAllowHintDisableContext { + var p = new(AuditAllowHintDisableContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_auditAllowHintDisable + return p +} + +func (*AuditAllowHintDisableContext) IsAuditAllowHintDisableContext() {} + +func NewAuditAllowHintDisableContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AuditAllowHintDisableContext { + var p = new(AuditAllowHintDisableContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_auditAllowHintDisable + + return p +} + +func (s *AuditAllowHintDisableContext) GetParser() antlr.Parser { return s.parser } + +func (s *AuditAllowHintDisableContext) TRUE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserTRUE, 0) +} + +func (s *AuditAllowHintDisableContext) FALSE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserFALSE, 0) +} + +func (s *AuditAllowHintDisableContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *AuditAllowHintDisableContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *AuditAllowHintDisableContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitAuditAllowHintDisable(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) AuditAllowHintDisable() (localctx IAuditAllowHintDisableContext) { + localctx = NewAuditAllowHintDisableContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 72, RDLStatementParserRULE_auditAllowHintDisable) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(454) + _la = p.GetTokenStream().LA(1) + + if !(_la == RDLStatementParserTRUE || _la == RDLStatementParserFALSE) { + p.GetErrorHandler().RecoverInline(p) + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() + } + } + + + + return localctx +} + + +// IColumnNameContext is an interface to support dynamic dispatch. +type IColumnNameContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsColumnNameContext differentiates from other interfaces. + IsColumnNameContext() +} + +type ColumnNameContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyColumnNameContext() *ColumnNameContext { + var p = new(ColumnNameContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_columnName + return p +} + +func (*ColumnNameContext) IsColumnNameContext() {} + +func NewColumnNameContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ColumnNameContext { + var p = new(ColumnNameContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_columnName + + return p +} + +func (s *ColumnNameContext) GetParser() antlr.Parser { return s.parser } + +func (s *ColumnNameContext) IDENTIFIER_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserIDENTIFIER_, 0) +} + +func (s *ColumnNameContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ColumnNameContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *ColumnNameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitColumnName(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) ColumnName() (localctx IColumnNameContext) { + localctx = NewColumnNameContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 74, RDLStatementParserRULE_columnName) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(456) + p.Match(RDLStatementParserIDENTIFIER_) + } + + + + return localctx +} + + +// ITableReferenceRuleDefinitionContext is an interface to support dynamic dispatch. +type ITableReferenceRuleDefinitionContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsTableReferenceRuleDefinitionContext differentiates from other interfaces. + IsTableReferenceRuleDefinitionContext() +} + +type TableReferenceRuleDefinitionContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyTableReferenceRuleDefinitionContext() *TableReferenceRuleDefinitionContext { + var p = new(TableReferenceRuleDefinitionContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_tableReferenceRuleDefinition + return p +} + +func (*TableReferenceRuleDefinitionContext) IsTableReferenceRuleDefinitionContext() {} + +func NewTableReferenceRuleDefinitionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *TableReferenceRuleDefinitionContext { + var p = new(TableReferenceRuleDefinitionContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_tableReferenceRuleDefinition + + return p +} + +func (s *TableReferenceRuleDefinitionContext) GetParser() antlr.Parser { return s.parser } + +func (s *TableReferenceRuleDefinitionContext) RuleName() IRuleNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IRuleNameContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IRuleNameContext) +} + +func (s *TableReferenceRuleDefinitionContext) LP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserLP_, 0) +} + +func (s *TableReferenceRuleDefinitionContext) AllTableName() []ITableNameContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*ITableNameContext)(nil)).Elem()) + var tst = make([]ITableNameContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(ITableNameContext) + } + } + + return tst +} + +func (s *TableReferenceRuleDefinitionContext) TableName(i int) ITableNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*ITableNameContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(ITableNameContext) +} + +func (s *TableReferenceRuleDefinitionContext) RP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRP_, 0) +} + +func (s *TableReferenceRuleDefinitionContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *TableReferenceRuleDefinitionContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *TableReferenceRuleDefinitionContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *TableReferenceRuleDefinitionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *TableReferenceRuleDefinitionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitTableReferenceRuleDefinition(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) TableReferenceRuleDefinition() (localctx ITableReferenceRuleDefinitionContext) { + localctx = NewTableReferenceRuleDefinitionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 76, RDLStatementParserRULE_tableReferenceRuleDefinition) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(458) + p.RuleName() + } + { + p.SetState(459) + p.Match(RDLStatementParserLP_) + } + { + p.SetState(460) + p.TableName() + } + p.SetState(465) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(461) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(462) + p.TableName() + } + + + p.SetState(467) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + { + p.SetState(468) + p.Match(RDLStatementParserRP_) + } + + + + return localctx +} + + +// IStrategyTypeContext is an interface to support dynamic dispatch. +type IStrategyTypeContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsStrategyTypeContext differentiates from other interfaces. + IsStrategyTypeContext() +} + +type StrategyTypeContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyStrategyTypeContext() *StrategyTypeContext { + var p = new(StrategyTypeContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_strategyType + return p +} + +func (*StrategyTypeContext) IsStrategyTypeContext() {} + +func NewStrategyTypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *StrategyTypeContext { + var p = new(StrategyTypeContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_strategyType + + return p +} + +func (s *StrategyTypeContext) GetParser() antlr.Parser { return s.parser } + +func (s *StrategyTypeContext) STRING_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSTRING_, 0) +} + +func (s *StrategyTypeContext) BuildInStrategyType() IBuildInStrategyTypeContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IBuildInStrategyTypeContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IBuildInStrategyTypeContext) +} + +func (s *StrategyTypeContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *StrategyTypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *StrategyTypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitStrategyType(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) StrategyType() (localctx IStrategyTypeContext) { + localctx = NewStrategyTypeContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 78, RDLStatementParserRULE_strategyType) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.SetState(472) + p.GetErrorHandler().Sync(p) + + switch p.GetTokenStream().LA(1) { + case RDLStatementParserSTRING_: + p.EnterOuterAlt(localctx, 1) + { + p.SetState(470) + p.Match(RDLStatementParserSTRING_) + } + + + case RDLStatementParserHINT, RDLStatementParserSTANDARD, RDLStatementParserCOMPLEX, RDLStatementParserNONE: + p.EnterOuterAlt(localctx, 2) + { + p.SetState(471) + p.BuildInStrategyType() + } + + + + default: + panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) + } + + + return localctx +} + + +// IBuildInStrategyTypeContext is an interface to support dynamic dispatch. +type IBuildInStrategyTypeContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsBuildInStrategyTypeContext differentiates from other interfaces. + IsBuildInStrategyTypeContext() +} + +type BuildInStrategyTypeContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyBuildInStrategyTypeContext() *BuildInStrategyTypeContext { + var p = new(BuildInStrategyTypeContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_buildInStrategyType + return p +} + +func (*BuildInStrategyTypeContext) IsBuildInStrategyTypeContext() {} + +func NewBuildInStrategyTypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BuildInStrategyTypeContext { + var p = new(BuildInStrategyTypeContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_buildInStrategyType + + return p +} + +func (s *BuildInStrategyTypeContext) GetParser() antlr.Parser { return s.parser } + +func (s *BuildInStrategyTypeContext) STANDARD() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSTANDARD, 0) +} + +func (s *BuildInStrategyTypeContext) COMPLEX() antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMPLEX, 0) +} + +func (s *BuildInStrategyTypeContext) HINT() antlr.TerminalNode { + return s.GetToken(RDLStatementParserHINT, 0) +} + +func (s *BuildInStrategyTypeContext) NONE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserNONE, 0) +} + +func (s *BuildInStrategyTypeContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *BuildInStrategyTypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *BuildInStrategyTypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitBuildInStrategyType(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) BuildInStrategyType() (localctx IBuildInStrategyTypeContext) { + localctx = NewBuildInStrategyTypeContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 80, RDLStatementParserRULE_buildInStrategyType) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(474) + _la = p.GetTokenStream().LA(1) + + if !(_la == RDLStatementParserHINT || ((((_la - 110)) & -(0x1f+1)) == 0 && ((1 << uint((_la - 110))) & ((1 << (RDLStatementParserSTANDARD - 110)) | (1 << (RDLStatementParserCOMPLEX - 110)) | (1 << (RDLStatementParserNONE - 110)))) != 0)) { + p.GetErrorHandler().RecoverInline(p) + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() + } + } + + + + return localctx +} + + +// IIfExistsContext is an interface to support dynamic dispatch. +type IIfExistsContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsIfExistsContext differentiates from other interfaces. + IsIfExistsContext() +} + +type IfExistsContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyIfExistsContext() *IfExistsContext { + var p = new(IfExistsContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_ifExists + return p +} + +func (*IfExistsContext) IsIfExistsContext() {} + +func NewIfExistsContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IfExistsContext { + var p = new(IfExistsContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_ifExists + + return p +} + +func (s *IfExistsContext) GetParser() antlr.Parser { return s.parser } + +func (s *IfExistsContext) IF() antlr.TerminalNode { + return s.GetToken(RDLStatementParserIF, 0) +} + +func (s *IfExistsContext) EXISTS() antlr.TerminalNode { + return s.GetToken(RDLStatementParserEXISTS, 0) +} + +func (s *IfExistsContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *IfExistsContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *IfExistsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitIfExists(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) IfExists() (localctx IIfExistsContext) { + localctx = NewIfExistsContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 82, RDLStatementParserRULE_ifExists) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(476) + p.Match(RDLStatementParserIF) + } + { + p.SetState(477) + p.Match(RDLStatementParserEXISTS) + } + + + + return localctx +} + + +// IIfNotExistsContext is an interface to support dynamic dispatch. +type IIfNotExistsContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsIfNotExistsContext differentiates from other interfaces. + IsIfNotExistsContext() +} + +type IfNotExistsContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyIfNotExistsContext() *IfNotExistsContext { + var p = new(IfNotExistsContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_ifNotExists + return p +} + +func (*IfNotExistsContext) IsIfNotExistsContext() {} + +func NewIfNotExistsContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IfNotExistsContext { + var p = new(IfNotExistsContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_ifNotExists + + return p +} + +func (s *IfNotExistsContext) GetParser() antlr.Parser { return s.parser } + +func (s *IfNotExistsContext) IF() antlr.TerminalNode { + return s.GetToken(RDLStatementParserIF, 0) +} + +func (s *IfNotExistsContext) NOT() antlr.TerminalNode { + return s.GetToken(RDLStatementParserNOT, 0) +} + +func (s *IfNotExistsContext) EXISTS() antlr.TerminalNode { + return s.GetToken(RDLStatementParserEXISTS, 0) +} + +func (s *IfNotExistsContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *IfNotExistsContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *IfNotExistsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitIfNotExists(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) IfNotExists() (localctx IIfNotExistsContext) { + localctx = NewIfNotExistsContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 84, RDLStatementParserRULE_ifNotExists) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(479) + p.Match(RDLStatementParserIF) + } + { + p.SetState(480) + p.Match(RDLStatementParserNOT) + } + { + p.SetState(481) + p.Match(RDLStatementParserEXISTS) + } + + + + return localctx +} + + +// ILiteralContext is an interface to support dynamic dispatch. +type ILiteralContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsLiteralContext differentiates from other interfaces. + IsLiteralContext() +} + +type LiteralContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyLiteralContext() *LiteralContext { + var p = new(LiteralContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_literal + return p +} + +func (*LiteralContext) IsLiteralContext() {} + +func NewLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *LiteralContext { + var p = new(LiteralContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_literal + + return p +} + +func (s *LiteralContext) GetParser() antlr.Parser { return s.parser } + +func (s *LiteralContext) STRING_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSTRING_, 0) +} + +func (s *LiteralContext) INT_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserINT_, 0) +} + +func (s *LiteralContext) MINUS_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserMINUS_, 0) +} + +func (s *LiteralContext) TRUE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserTRUE, 0) +} + +func (s *LiteralContext) FALSE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserFALSE, 0) +} + +func (s *LiteralContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *LiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *LiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitLiteral(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) Literal() (localctx ILiteralContext) { + localctx = NewLiteralContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 86, RDLStatementParserRULE_literal) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.SetState(490) + p.GetErrorHandler().Sync(p) + + switch p.GetTokenStream().LA(1) { + case RDLStatementParserSTRING_: + p.EnterOuterAlt(localctx, 1) + { + p.SetState(483) + p.Match(RDLStatementParserSTRING_) + } + + + case RDLStatementParserMINUS_, RDLStatementParserINT_: + p.EnterOuterAlt(localctx, 2) + p.SetState(485) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + if _la == RDLStatementParserMINUS_ { + { + p.SetState(484) + p.Match(RDLStatementParserMINUS_) + } + + } + { + p.SetState(487) + p.Match(RDLStatementParserINT_) + } + + + case RDLStatementParserTRUE: + p.EnterOuterAlt(localctx, 3) + { + p.SetState(488) + p.Match(RDLStatementParserTRUE) + } + + + case RDLStatementParserFALSE: + p.EnterOuterAlt(localctx, 4) + { + p.SetState(489) + p.Match(RDLStatementParserFALSE) + } + + + + default: + panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) + } + + + return localctx +} + + +// IAlgorithmDefinitionContext is an interface to support dynamic dispatch. +type IAlgorithmDefinitionContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsAlgorithmDefinitionContext differentiates from other interfaces. + IsAlgorithmDefinitionContext() +} + +type AlgorithmDefinitionContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyAlgorithmDefinitionContext() *AlgorithmDefinitionContext { + var p = new(AlgorithmDefinitionContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_algorithmDefinition + return p +} + +func (*AlgorithmDefinitionContext) IsAlgorithmDefinitionContext() {} + +func NewAlgorithmDefinitionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AlgorithmDefinitionContext { + var p = new(AlgorithmDefinitionContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_algorithmDefinition + + return p +} + +func (s *AlgorithmDefinitionContext) GetParser() antlr.Parser { return s.parser } + +func (s *AlgorithmDefinitionContext) TYPE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserTYPE, 0) +} + +func (s *AlgorithmDefinitionContext) LP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserLP_, 0) +} + +func (s *AlgorithmDefinitionContext) NAME() antlr.TerminalNode { + return s.GetToken(RDLStatementParserNAME, 0) +} + +func (s *AlgorithmDefinitionContext) EQ_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserEQ_, 0) +} + +func (s *AlgorithmDefinitionContext) AlgorithmTypeName() IAlgorithmTypeNameContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IAlgorithmTypeNameContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IAlgorithmTypeNameContext) +} + +func (s *AlgorithmDefinitionContext) RP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRP_, 0) +} + +func (s *AlgorithmDefinitionContext) COMMA_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, 0) +} + +func (s *AlgorithmDefinitionContext) PropertiesDefinition() IPropertiesDefinitionContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IPropertiesDefinitionContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IPropertiesDefinitionContext) +} + +func (s *AlgorithmDefinitionContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *AlgorithmDefinitionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *AlgorithmDefinitionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitAlgorithmDefinition(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) AlgorithmDefinition() (localctx IAlgorithmDefinitionContext) { + localctx = NewAlgorithmDefinitionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 88, RDLStatementParserRULE_algorithmDefinition) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(492) + p.Match(RDLStatementParserTYPE) + } + { + p.SetState(493) + p.Match(RDLStatementParserLP_) + } + { + p.SetState(494) + p.Match(RDLStatementParserNAME) + } + { + p.SetState(495) + p.Match(RDLStatementParserEQ_) + } + { + p.SetState(496) + p.AlgorithmTypeName() + } + p.SetState(499) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + if _la == RDLStatementParserCOMMA_ { + { + p.SetState(497) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(498) + p.PropertiesDefinition() + } + + } + { + p.SetState(501) + p.Match(RDLStatementParserRP_) + } + + + + return localctx +} + + +// IAlgorithmTypeNameContext is an interface to support dynamic dispatch. +type IAlgorithmTypeNameContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsAlgorithmTypeNameContext differentiates from other interfaces. + IsAlgorithmTypeNameContext() +} + +type AlgorithmTypeNameContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyAlgorithmTypeNameContext() *AlgorithmTypeNameContext { + var p = new(AlgorithmTypeNameContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_algorithmTypeName + return p +} + +func (*AlgorithmTypeNameContext) IsAlgorithmTypeNameContext() {} + +func NewAlgorithmTypeNameContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AlgorithmTypeNameContext { + var p = new(AlgorithmTypeNameContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_algorithmTypeName + + return p +} + +func (s *AlgorithmTypeNameContext) GetParser() antlr.Parser { return s.parser } + +func (s *AlgorithmTypeNameContext) STRING_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSTRING_, 0) +} + +func (s *AlgorithmTypeNameContext) BuildInShardingAlgorithmType() IBuildInShardingAlgorithmTypeContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IBuildInShardingAlgorithmTypeContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IBuildInShardingAlgorithmTypeContext) +} + +func (s *AlgorithmTypeNameContext) BuildInKeyGenerateAlgorithmType() IBuildInKeyGenerateAlgorithmTypeContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IBuildInKeyGenerateAlgorithmTypeContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IBuildInKeyGenerateAlgorithmTypeContext) +} + +func (s *AlgorithmTypeNameContext) BuildInShardingAuditAlgorithmType() IBuildInShardingAuditAlgorithmTypeContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IBuildInShardingAuditAlgorithmTypeContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IBuildInShardingAuditAlgorithmTypeContext) +} + +func (s *AlgorithmTypeNameContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *AlgorithmTypeNameContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *AlgorithmTypeNameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitAlgorithmTypeName(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) AlgorithmTypeName() (localctx IAlgorithmTypeNameContext) { + localctx = NewAlgorithmTypeNameContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 90, RDLStatementParserRULE_algorithmTypeName) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.SetState(507) + p.GetErrorHandler().Sync(p) + + switch p.GetTokenStream().LA(1) { + case RDLStatementParserSTRING_: + p.EnterOuterAlt(localctx, 1) + { + p.SetState(503) + p.Match(RDLStatementParserSTRING_) + } + + + case RDLStatementParserMOD, RDLStatementParserCOSID_MOD, RDLStatementParserHASH_MOD, RDLStatementParserVOLUME_RANGE, RDLStatementParserBOUNDARY_RANGE, RDLStatementParserAUTO_INTERVAL, RDLStatementParserINLINE, RDLStatementParserINTERVAL, RDLStatementParserCOSID_INTERVAL, RDLStatementParserCOSID_INTERVAL_SNOWFLAKE, RDLStatementParserCOMPLEX_INLINE, RDLStatementParserHINT_INLINE, RDLStatementParserCLASS_BASED: + p.EnterOuterAlt(localctx, 2) + { + p.SetState(504) + p.BuildInShardingAlgorithmType() + } + + + case RDLStatementParserSNOWFLAKE, RDLStatementParserNANOID, RDLStatementParserUUID, RDLStatementParserCOSID, RDLStatementParserCOSID_SNOWFLAKE: + p.EnterOuterAlt(localctx, 3) + { + p.SetState(505) + p.BuildInKeyGenerateAlgorithmType() + } + + + case RDLStatementParserDML_SHARDING_CONDITIONS: + p.EnterOuterAlt(localctx, 4) + { + p.SetState(506) + p.BuildInShardingAuditAlgorithmType() + } + + + + default: + panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) + } + + + return localctx +} + + +// IBuildInShardingAlgorithmTypeContext is an interface to support dynamic dispatch. +type IBuildInShardingAlgorithmTypeContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsBuildInShardingAlgorithmTypeContext differentiates from other interfaces. + IsBuildInShardingAlgorithmTypeContext() +} + +type BuildInShardingAlgorithmTypeContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyBuildInShardingAlgorithmTypeContext() *BuildInShardingAlgorithmTypeContext { + var p = new(BuildInShardingAlgorithmTypeContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_buildInShardingAlgorithmType + return p +} + +func (*BuildInShardingAlgorithmTypeContext) IsBuildInShardingAlgorithmTypeContext() {} + +func NewBuildInShardingAlgorithmTypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BuildInShardingAlgorithmTypeContext { + var p = new(BuildInShardingAlgorithmTypeContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_buildInShardingAlgorithmType + + return p +} + +func (s *BuildInShardingAlgorithmTypeContext) GetParser() antlr.Parser { return s.parser } + +func (s *BuildInShardingAlgorithmTypeContext) MOD() antlr.TerminalNode { + return s.GetToken(RDLStatementParserMOD, 0) +} + +func (s *BuildInShardingAlgorithmTypeContext) HASH_MOD() antlr.TerminalNode { + return s.GetToken(RDLStatementParserHASH_MOD, 0) +} + +func (s *BuildInShardingAlgorithmTypeContext) VOLUME_RANGE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserVOLUME_RANGE, 0) +} + +func (s *BuildInShardingAlgorithmTypeContext) BOUNDARY_RANGE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserBOUNDARY_RANGE, 0) +} + +func (s *BuildInShardingAlgorithmTypeContext) AUTO_INTERVAL() antlr.TerminalNode { + return s.GetToken(RDLStatementParserAUTO_INTERVAL, 0) +} + +func (s *BuildInShardingAlgorithmTypeContext) INLINE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserINLINE, 0) +} + +func (s *BuildInShardingAlgorithmTypeContext) INTERVAL() antlr.TerminalNode { + return s.GetToken(RDLStatementParserINTERVAL, 0) +} + +func (s *BuildInShardingAlgorithmTypeContext) COSID_MOD() antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOSID_MOD, 0) +} + +func (s *BuildInShardingAlgorithmTypeContext) COSID_INTERVAL() antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOSID_INTERVAL, 0) +} + +func (s *BuildInShardingAlgorithmTypeContext) COSID_INTERVAL_SNOWFLAKE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOSID_INTERVAL_SNOWFLAKE, 0) +} + +func (s *BuildInShardingAlgorithmTypeContext) COMPLEX_INLINE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMPLEX_INLINE, 0) +} + +func (s *BuildInShardingAlgorithmTypeContext) HINT_INLINE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserHINT_INLINE, 0) +} + +func (s *BuildInShardingAlgorithmTypeContext) CLASS_BASED() antlr.TerminalNode { + return s.GetToken(RDLStatementParserCLASS_BASED, 0) +} + +func (s *BuildInShardingAlgorithmTypeContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *BuildInShardingAlgorithmTypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *BuildInShardingAlgorithmTypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitBuildInShardingAlgorithmType(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) BuildInShardingAlgorithmType() (localctx IBuildInShardingAlgorithmTypeContext) { + localctx = NewBuildInShardingAlgorithmTypeContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 92, RDLStatementParserRULE_buildInShardingAlgorithmType) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(509) + _la = p.GetTokenStream().LA(1) + + if !(((((_la - 92)) & -(0x1f+1)) == 0 && ((1 << uint((_la - 92))) & ((1 << (RDLStatementParserMOD - 92)) | (1 << (RDLStatementParserCOSID_MOD - 92)) | (1 << (RDLStatementParserHASH_MOD - 92)) | (1 << (RDLStatementParserVOLUME_RANGE - 92)) | (1 << (RDLStatementParserBOUNDARY_RANGE - 92)) | (1 << (RDLStatementParserAUTO_INTERVAL - 92)) | (1 << (RDLStatementParserINLINE - 92)) | (1 << (RDLStatementParserINTERVAL - 92)) | (1 << (RDLStatementParserCOSID_INTERVAL - 92)) | (1 << (RDLStatementParserCOSID_INTERVAL_SNOWFLAKE - 92)) | (1 << (RDLStatementParserCOMPLEX_INLINE - 92)) | (1 << (RDLStatementParserHINT_INLINE - 92)) | (1 << (RDLStatementParserCLASS_BASED - 92)))) != 0)) { + p.GetErrorHandler().RecoverInline(p) + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() + } + } + + + + return localctx +} + + +// IBuildInKeyGenerateAlgorithmTypeContext is an interface to support dynamic dispatch. +type IBuildInKeyGenerateAlgorithmTypeContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsBuildInKeyGenerateAlgorithmTypeContext differentiates from other interfaces. + IsBuildInKeyGenerateAlgorithmTypeContext() +} + +type BuildInKeyGenerateAlgorithmTypeContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyBuildInKeyGenerateAlgorithmTypeContext() *BuildInKeyGenerateAlgorithmTypeContext { + var p = new(BuildInKeyGenerateAlgorithmTypeContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_buildInKeyGenerateAlgorithmType + return p +} + +func (*BuildInKeyGenerateAlgorithmTypeContext) IsBuildInKeyGenerateAlgorithmTypeContext() {} + +func NewBuildInKeyGenerateAlgorithmTypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BuildInKeyGenerateAlgorithmTypeContext { + var p = new(BuildInKeyGenerateAlgorithmTypeContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_buildInKeyGenerateAlgorithmType + + return p +} + +func (s *BuildInKeyGenerateAlgorithmTypeContext) GetParser() antlr.Parser { return s.parser } + +func (s *BuildInKeyGenerateAlgorithmTypeContext) SNOWFLAKE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSNOWFLAKE, 0) +} + +func (s *BuildInKeyGenerateAlgorithmTypeContext) NANOID() antlr.TerminalNode { + return s.GetToken(RDLStatementParserNANOID, 0) +} + +func (s *BuildInKeyGenerateAlgorithmTypeContext) UUID() antlr.TerminalNode { + return s.GetToken(RDLStatementParserUUID, 0) +} + +func (s *BuildInKeyGenerateAlgorithmTypeContext) COSID() antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOSID, 0) +} + +func (s *BuildInKeyGenerateAlgorithmTypeContext) COSID_SNOWFLAKE() antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOSID_SNOWFLAKE, 0) +} + +func (s *BuildInKeyGenerateAlgorithmTypeContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *BuildInKeyGenerateAlgorithmTypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *BuildInKeyGenerateAlgorithmTypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitBuildInKeyGenerateAlgorithmType(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) BuildInKeyGenerateAlgorithmType() (localctx IBuildInKeyGenerateAlgorithmTypeContext) { + localctx = NewBuildInKeyGenerateAlgorithmTypeContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 94, RDLStatementParserRULE_buildInKeyGenerateAlgorithmType) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(511) + _la = p.GetTokenStream().LA(1) + + if !(((((_la - 105)) & -(0x1f+1)) == 0 && ((1 << uint((_la - 105))) & ((1 << (RDLStatementParserSNOWFLAKE - 105)) | (1 << (RDLStatementParserNANOID - 105)) | (1 << (RDLStatementParserUUID - 105)) | (1 << (RDLStatementParserCOSID - 105)) | (1 << (RDLStatementParserCOSID_SNOWFLAKE - 105)))) != 0)) { + p.GetErrorHandler().RecoverInline(p) + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() + } + } + + + + return localctx +} + + +// IBuildInShardingAuditAlgorithmTypeContext is an interface to support dynamic dispatch. +type IBuildInShardingAuditAlgorithmTypeContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsBuildInShardingAuditAlgorithmTypeContext differentiates from other interfaces. + IsBuildInShardingAuditAlgorithmTypeContext() +} + +type BuildInShardingAuditAlgorithmTypeContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyBuildInShardingAuditAlgorithmTypeContext() *BuildInShardingAuditAlgorithmTypeContext { + var p = new(BuildInShardingAuditAlgorithmTypeContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_buildInShardingAuditAlgorithmType + return p +} + +func (*BuildInShardingAuditAlgorithmTypeContext) IsBuildInShardingAuditAlgorithmTypeContext() {} + +func NewBuildInShardingAuditAlgorithmTypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BuildInShardingAuditAlgorithmTypeContext { + var p = new(BuildInShardingAuditAlgorithmTypeContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_buildInShardingAuditAlgorithmType + + return p +} + +func (s *BuildInShardingAuditAlgorithmTypeContext) GetParser() antlr.Parser { return s.parser } + +func (s *BuildInShardingAuditAlgorithmTypeContext) DML_SHARDING_CONDITIONS() antlr.TerminalNode { + return s.GetToken(RDLStatementParserDML_SHARDING_CONDITIONS, 0) +} + +func (s *BuildInShardingAuditAlgorithmTypeContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *BuildInShardingAuditAlgorithmTypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *BuildInShardingAuditAlgorithmTypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitBuildInShardingAuditAlgorithmType(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) BuildInShardingAuditAlgorithmType() (localctx IBuildInShardingAuditAlgorithmTypeContext) { + localctx = NewBuildInShardingAuditAlgorithmTypeContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 96, RDLStatementParserRULE_buildInShardingAuditAlgorithmType) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(513) + p.Match(RDLStatementParserDML_SHARDING_CONDITIONS) + } + + + + return localctx +} + + +// IPropertiesDefinitionContext is an interface to support dynamic dispatch. +type IPropertiesDefinitionContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsPropertiesDefinitionContext differentiates from other interfaces. + IsPropertiesDefinitionContext() +} + +type PropertiesDefinitionContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyPropertiesDefinitionContext() *PropertiesDefinitionContext { + var p = new(PropertiesDefinitionContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_propertiesDefinition + return p +} + +func (*PropertiesDefinitionContext) IsPropertiesDefinitionContext() {} + +func NewPropertiesDefinitionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *PropertiesDefinitionContext { + var p = new(PropertiesDefinitionContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_propertiesDefinition + + return p +} + +func (s *PropertiesDefinitionContext) GetParser() antlr.Parser { return s.parser } + +func (s *PropertiesDefinitionContext) PROPERTIES() antlr.TerminalNode { + return s.GetToken(RDLStatementParserPROPERTIES, 0) +} + +func (s *PropertiesDefinitionContext) LP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserLP_, 0) +} + +func (s *PropertiesDefinitionContext) RP_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserRP_, 0) +} + +func (s *PropertiesDefinitionContext) Properties() IPropertiesContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IPropertiesContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(IPropertiesContext) +} + +func (s *PropertiesDefinitionContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *PropertiesDefinitionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *PropertiesDefinitionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitPropertiesDefinition(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) PropertiesDefinition() (localctx IPropertiesDefinitionContext) { + localctx = NewPropertiesDefinitionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 98, RDLStatementParserRULE_propertiesDefinition) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(515) + p.Match(RDLStatementParserPROPERTIES) + } + { + p.SetState(516) + p.Match(RDLStatementParserLP_) + } + p.SetState(518) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + if _la == RDLStatementParserSTRING_ { + { + p.SetState(517) + p.Properties() + } + + } + { + p.SetState(520) + p.Match(RDLStatementParserRP_) + } + + + + return localctx +} + + +// IPropertiesContext is an interface to support dynamic dispatch. +type IPropertiesContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsPropertiesContext differentiates from other interfaces. + IsPropertiesContext() +} + +type PropertiesContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyPropertiesContext() *PropertiesContext { + var p = new(PropertiesContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_properties + return p +} + +func (*PropertiesContext) IsPropertiesContext() {} + +func NewPropertiesContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *PropertiesContext { + var p = new(PropertiesContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_properties + + return p +} + +func (s *PropertiesContext) GetParser() antlr.Parser { return s.parser } + +func (s *PropertiesContext) AllProperty() []IPropertyContext { + var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IPropertyContext)(nil)).Elem()) + var tst = make([]IPropertyContext, len(ts)) + + for i, t := range ts { + if t != nil { + tst[i] = t.(IPropertyContext) + } + } + + return tst +} + +func (s *PropertiesContext) Property(i int) IPropertyContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*IPropertyContext)(nil)).Elem(), i) + + if t == nil { + return nil + } + + return t.(IPropertyContext) +} + +func (s *PropertiesContext) AllCOMMA_() []antlr.TerminalNode { + return s.GetTokens(RDLStatementParserCOMMA_) +} + +func (s *PropertiesContext) COMMA_(i int) antlr.TerminalNode { + return s.GetToken(RDLStatementParserCOMMA_, i) +} + +func (s *PropertiesContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *PropertiesContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *PropertiesContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitProperties(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) Properties() (localctx IPropertiesContext) { + localctx = NewPropertiesContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 100, RDLStatementParserRULE_properties) + var _la int + + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(522) + p.Property() + } + p.SetState(527) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + + + for _la == RDLStatementParserCOMMA_ { + { + p.SetState(523) + p.Match(RDLStatementParserCOMMA_) + } + { + p.SetState(524) + p.Property() + } + + + p.SetState(529) + p.GetErrorHandler().Sync(p) + _la = p.GetTokenStream().LA(1) + } + + + + return localctx +} + + +// IPropertyContext is an interface to support dynamic dispatch. +type IPropertyContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // GetKey returns the key token. + GetKey() antlr.Token + + + // SetKey sets the key token. + SetKey(antlr.Token) + + + // GetValue returns the value rule contexts. + GetValue() ILiteralContext + + + // SetValue sets the value rule contexts. + SetValue(ILiteralContext) + + + // IsPropertyContext differentiates from other interfaces. + IsPropertyContext() +} + +type PropertyContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser + key antlr.Token + value ILiteralContext +} + +func NewEmptyPropertyContext() *PropertyContext { + var p = new(PropertyContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_property + return p +} + +func (*PropertyContext) IsPropertyContext() {} + +func NewPropertyContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *PropertyContext { + var p = new(PropertyContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_property + + return p +} + +func (s *PropertyContext) GetParser() antlr.Parser { return s.parser } + +func (s *PropertyContext) GetKey() antlr.Token { return s.key } + + +func (s *PropertyContext) SetKey(v antlr.Token) { s.key = v } + + +func (s *PropertyContext) GetValue() ILiteralContext { return s.value } + + +func (s *PropertyContext) SetValue(v ILiteralContext) { s.value = v } + + +func (s *PropertyContext) EQ_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserEQ_, 0) +} + +func (s *PropertyContext) STRING_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserSTRING_, 0) +} + +func (s *PropertyContext) Literal() ILiteralContext { + var t = s.GetTypedRuleContext(reflect.TypeOf((*ILiteralContext)(nil)).Elem(), 0) + + if t == nil { + return nil + } + + return t.(ILiteralContext) +} + +func (s *PropertyContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *PropertyContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *PropertyContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitProperty(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) Property() (localctx IPropertyContext) { + localctx = NewPropertyContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 102, RDLStatementParserRULE_property) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(530) + + var _m = p.Match(RDLStatementParserSTRING_) + + localctx.(*PropertyContext).key = _m + } + { + p.SetState(531) + p.Match(RDLStatementParserEQ_) + } + { + p.SetState(532) + + var _x = p.Literal() + + + localctx.(*PropertyContext).value = _x + } + + + + return localctx +} + + +// ITableNameContext is an interface to support dynamic dispatch. +type ITableNameContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsTableNameContext differentiates from other interfaces. + IsTableNameContext() +} + +type TableNameContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyTableNameContext() *TableNameContext { + var p = new(TableNameContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_tableName + return p +} + +func (*TableNameContext) IsTableNameContext() {} + +func NewTableNameContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *TableNameContext { + var p = new(TableNameContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_tableName + + return p +} + +func (s *TableNameContext) GetParser() antlr.Parser { return s.parser } + +func (s *TableNameContext) IDENTIFIER_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserIDENTIFIER_, 0) +} + +func (s *TableNameContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *TableNameContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *TableNameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitTableName(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) TableName() (localctx ITableNameContext) { + localctx = NewTableNameContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 104, RDLStatementParserRULE_tableName) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(534) + p.Match(RDLStatementParserIDENTIFIER_) + } + + + + return localctx +} + + +// IShardingAlgorithmNameContext is an interface to support dynamic dispatch. +type IShardingAlgorithmNameContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsShardingAlgorithmNameContext differentiates from other interfaces. + IsShardingAlgorithmNameContext() +} + +type ShardingAlgorithmNameContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyShardingAlgorithmNameContext() *ShardingAlgorithmNameContext { + var p = new(ShardingAlgorithmNameContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_shardingAlgorithmName + return p +} + +func (*ShardingAlgorithmNameContext) IsShardingAlgorithmNameContext() {} + +func NewShardingAlgorithmNameContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ShardingAlgorithmNameContext { + var p = new(ShardingAlgorithmNameContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_shardingAlgorithmName + + return p +} + +func (s *ShardingAlgorithmNameContext) GetParser() antlr.Parser { return s.parser } + +func (s *ShardingAlgorithmNameContext) IDENTIFIER_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserIDENTIFIER_, 0) +} + +func (s *ShardingAlgorithmNameContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ShardingAlgorithmNameContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *ShardingAlgorithmNameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitShardingAlgorithmName(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) ShardingAlgorithmName() (localctx IShardingAlgorithmNameContext) { + localctx = NewShardingAlgorithmNameContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 106, RDLStatementParserRULE_shardingAlgorithmName) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(536) + p.Match(RDLStatementParserIDENTIFIER_) + } + + + + return localctx +} + + +// IRuleNameContext is an interface to support dynamic dispatch. +type IRuleNameContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // IsRuleNameContext differentiates from other interfaces. + IsRuleNameContext() +} + +type RuleNameContext struct { + *antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyRuleNameContext() *RuleNameContext { + var p = new(RuleNameContext) + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) + p.RuleIndex = RDLStatementParserRULE_ruleName + return p +} + +func (*RuleNameContext) IsRuleNameContext() {} + +func NewRuleNameContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *RuleNameContext { + var p = new(RuleNameContext) + + p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) + + p.parser = parser + p.RuleIndex = RDLStatementParserRULE_ruleName + + return p +} + +func (s *RuleNameContext) GetParser() antlr.Parser { return s.parser } + +func (s *RuleNameContext) IDENTIFIER_() antlr.TerminalNode { + return s.GetToken(RDLStatementParserIDENTIFIER_, 0) +} + +func (s *RuleNameContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *RuleNameContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + + +func (s *RuleNameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case RDLStatementVisitor: + return t.VisitRuleName(s) + + default: + return t.VisitChildren(s) + } +} + + + + +func (p *RDLStatementParser) RuleName() (localctx IRuleNameContext) { + localctx = NewRuleNameContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 108, RDLStatementParserRULE_ruleName) + + defer func() { + p.ExitRule() + }() + + defer func() { + if err := recover(); err != nil { + if v, ok := err.(antlr.RecognitionException); ok { + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + } else { + panic(err) + } + } + }() + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(538) + p.Match(RDLStatementParserIDENTIFIER_) + } + + + + return localctx +} + + diff --git a/shardingsphere-operator/pkg/distsql/visitor_parser/sharding/rdlstatement_visitor.go b/shardingsphere-operator/pkg/distsql/visitor_parser/sharding/rdlstatement_visitor.go new file mode 100644 index 00000000..666b0d09 --- /dev/null +++ b/shardingsphere-operator/pkg/distsql/visitor_parser/sharding/rdlstatement_visitor.go @@ -0,0 +1,175 @@ +// Code generated from RDLStatement.g4 by ANTLR 4.8. DO NOT EDIT. + +package parser // RDLStatement + +import "github.com/antlr/antlr4/runtime/Go/antlr" + +// A complete Visitor for a parse tree produced by RDLStatementParser. +type RDLStatementVisitor interface { + antlr.ParseTreeVisitor + + // Visit a parse tree produced by RDLStatementParser#createShardingTableRule. + VisitCreateShardingTableRule(ctx *CreateShardingTableRuleContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#alterShardingTableRule. + VisitAlterShardingTableRule(ctx *AlterShardingTableRuleContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#dropShardingTableRule. + VisitDropShardingTableRule(ctx *DropShardingTableRuleContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#createShardingTableReferenceRule. + VisitCreateShardingTableReferenceRule(ctx *CreateShardingTableReferenceRuleContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#alterShardingTableReferenceRule. + VisitAlterShardingTableReferenceRule(ctx *AlterShardingTableReferenceRuleContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#dropShardingTableReferenceRule. + VisitDropShardingTableReferenceRule(ctx *DropShardingTableReferenceRuleContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#createBroadcastTableRule. + VisitCreateBroadcastTableRule(ctx *CreateBroadcastTableRuleContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#dropBroadcastTableRule. + VisitDropBroadcastTableRule(ctx *DropBroadcastTableRuleContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#dropShardingAlgorithm. + VisitDropShardingAlgorithm(ctx *DropShardingAlgorithmContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#createDefaultShardingStrategy. + VisitCreateDefaultShardingStrategy(ctx *CreateDefaultShardingStrategyContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#alterDefaultShardingStrategy. + VisitAlterDefaultShardingStrategy(ctx *AlterDefaultShardingStrategyContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#dropDefaultShardingStrategy. + VisitDropDefaultShardingStrategy(ctx *DropDefaultShardingStrategyContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#dropShardingKeyGenerator. + VisitDropShardingKeyGenerator(ctx *DropShardingKeyGeneratorContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#dropShardingAuditor. + VisitDropShardingAuditor(ctx *DropShardingAuditorContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#shardingTableRuleDefinition. + VisitShardingTableRuleDefinition(ctx *ShardingTableRuleDefinitionContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#shardingAutoTableRule. + VisitShardingAutoTableRule(ctx *ShardingAutoTableRuleContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#shardingTableRule. + VisitShardingTableRule(ctx *ShardingTableRuleContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#keyGeneratorName. + VisitKeyGeneratorName(ctx *KeyGeneratorNameContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#auditorDefinition. + VisitAuditorDefinition(ctx *AuditorDefinitionContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#auditorName. + VisitAuditorName(ctx *AuditorNameContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#storageUnits. + VisitStorageUnits(ctx *StorageUnitsContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#storageUnit. + VisitStorageUnit(ctx *StorageUnitContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#dataNodes. + VisitDataNodes(ctx *DataNodesContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#dataNode. + VisitDataNode(ctx *DataNodeContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#autoShardingColumnDefinition. + VisitAutoShardingColumnDefinition(ctx *AutoShardingColumnDefinitionContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#shardingColumnDefinition. + VisitShardingColumnDefinition(ctx *ShardingColumnDefinitionContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#shardingColumn. + VisitShardingColumn(ctx *ShardingColumnContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#shardingColumns. + VisitShardingColumns(ctx *ShardingColumnsContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#shardingAlgorithm. + VisitShardingAlgorithm(ctx *ShardingAlgorithmContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#shardingStrategy. + VisitShardingStrategy(ctx *ShardingStrategyContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#databaseStrategy. + VisitDatabaseStrategy(ctx *DatabaseStrategyContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#tableStrategy. + VisitTableStrategy(ctx *TableStrategyContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#keyGenerateDefinition. + VisitKeyGenerateDefinition(ctx *KeyGenerateDefinitionContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#auditDefinition. + VisitAuditDefinition(ctx *AuditDefinitionContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#multiAuditDefinition. + VisitMultiAuditDefinition(ctx *MultiAuditDefinitionContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#singleAuditDefinition. + VisitSingleAuditDefinition(ctx *SingleAuditDefinitionContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#auditAllowHintDisable. + VisitAuditAllowHintDisable(ctx *AuditAllowHintDisableContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#columnName. + VisitColumnName(ctx *ColumnNameContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#tableReferenceRuleDefinition. + VisitTableReferenceRuleDefinition(ctx *TableReferenceRuleDefinitionContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#strategyType. + VisitStrategyType(ctx *StrategyTypeContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#buildInStrategyType. + VisitBuildInStrategyType(ctx *BuildInStrategyTypeContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#ifExists. + VisitIfExists(ctx *IfExistsContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#ifNotExists. + VisitIfNotExists(ctx *IfNotExistsContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#literal. + VisitLiteral(ctx *LiteralContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#algorithmDefinition. + VisitAlgorithmDefinition(ctx *AlgorithmDefinitionContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#algorithmTypeName. + VisitAlgorithmTypeName(ctx *AlgorithmTypeNameContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#buildInShardingAlgorithmType. + VisitBuildInShardingAlgorithmType(ctx *BuildInShardingAlgorithmTypeContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#buildInKeyGenerateAlgorithmType. + VisitBuildInKeyGenerateAlgorithmType(ctx *BuildInKeyGenerateAlgorithmTypeContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#buildInShardingAuditAlgorithmType. + VisitBuildInShardingAuditAlgorithmType(ctx *BuildInShardingAuditAlgorithmTypeContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#propertiesDefinition. + VisitPropertiesDefinition(ctx *PropertiesDefinitionContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#properties. + VisitProperties(ctx *PropertiesContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#property. + VisitProperty(ctx *PropertyContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#tableName. + VisitTableName(ctx *TableNameContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#shardingAlgorithmName. + VisitShardingAlgorithmName(ctx *ShardingAlgorithmNameContext) interface{} + + // Visit a parse tree produced by RDLStatementParser#ruleName. + VisitRuleName(ctx *RuleNameContext) interface{} +} From 70765dc043103b4c040b71b5ea4396fa72bc8dba Mon Sep 17 00:00:00 2001 From: wangbo <875818649@qq.com> Date: Wed, 31 May 2023 06:42:15 +0000 Subject: [PATCH 2/6] chore: delete unuse file --- .../antlr4/encrypt/.antlr/Alphabet.interp | 47 - .../antlr4/encrypt/.antlr/Alphabet.java | 154 -- .../antlr4/encrypt/.antlr/Alphabet.tokens | 2 - .../antlr4/encrypt/.antlr/BaseRule.interp | 201 -- .../antlr4/encrypt/.antlr/BaseRule.tokens | 133 -- .../encrypt/.antlr/BaseRuleLexer.interp | 316 --- .../antlr4/encrypt/.antlr/BaseRuleLexer.java | 495 ----- .../encrypt/.antlr/BaseRuleLexer.tokens | 133 -- .../antlr4/encrypt/.antlr/BaseRuleParser.java | 558 ----- .../antlr4/encrypt/.antlr/Keyword.interp | 170 -- .../antlr4/encrypt/.antlr/Keyword.java | 342 --- .../antlr4/encrypt/.antlr/Keyword.tokens | 43 - .../antlr4/encrypt/.antlr/Literals.interp | 191 -- .../antlr4/encrypt/.antlr/Literals.java | 298 --- .../antlr4/encrypt/.antlr/Literals.tokens | 90 - .../antlr4/encrypt/.antlr/RDLStatement.interp | 225 -- .../antlr4/encrypt/.antlr/RDLStatement.tokens | 133 -- .../encrypt/.antlr/RDLStatementLexer.interp | 316 --- .../encrypt/.antlr/RDLStatementLexer.java | 495 ----- .../encrypt/.antlr/RDLStatementLexer.tokens | 133 -- .../encrypt/.antlr/RDLStatementParser.java | 1907 ----------------- .../antlr4/encrypt/.antlr/Symbol.interp | 143 -- .../distsql/antlr4/encrypt/.antlr/Symbol.java | 184 -- .../antlr4/encrypt/.antlr/Symbol.tokens | 83 - .../antlr4/mask/.antlr/Alphabet.interp | 47 - .../distsql/antlr4/mask/.antlr/Alphabet.java | 154 -- .../antlr4/mask/.antlr/Alphabet.tokens | 2 - .../antlr4/mask/.antlr/BaseRule.interp | 189 -- .../antlr4/mask/.antlr/BaseRule.tokens | 127 -- .../antlr4/mask/.antlr/BaseRuleLexer.interp | 298 --- .../antlr4/mask/.antlr/BaseRuleLexer.java | 515 ----- .../antlr4/mask/.antlr/BaseRuleLexer.tokens | 127 -- .../antlr4/mask/.antlr/BaseRuleParser.java | 572 ----- .../distsql/antlr4/mask/.antlr/Keyword.interp | 152 -- .../distsql/antlr4/mask/.antlr/Keyword.java | 362 ---- .../distsql/antlr4/mask/.antlr/Keyword.tokens | 37 - .../antlr4/mask/.antlr/Literals.interp | 191 -- .../distsql/antlr4/mask/.antlr/Literals.java | 298 --- .../antlr4/mask/.antlr/Literals.tokens | 90 - .../antlr4/mask/.antlr/RDLStatement.interp | 197 -- .../antlr4/mask/.antlr/RDLStatement.tokens | 127 -- .../mask/.antlr/RDLStatementLexer.interp | 298 --- .../antlr4/mask/.antlr/RDLStatementLexer.java | 515 ----- .../mask/.antlr/RDLStatementLexer.tokens | 127 -- .../mask/.antlr/RDLStatementParser.java | 1079 ---------- .../antlr4/mask/.antlr/RQLStatement.interp | 192 -- .../antlr4/mask/.antlr/RQLStatement.tokens | 127 -- .../mask/.antlr/RQLStatementLexer.interp | 298 --- .../antlr4/mask/.antlr/RQLStatementLexer.java | 515 ----- .../mask/.antlr/RQLStatementLexer.tokens | 127 -- .../mask/.antlr/RQLStatementParser.java | 746 ------- .../distsql/antlr4/mask/.antlr/Symbol.interp | 143 -- .../distsql/antlr4/mask/.antlr/Symbol.java | 184 -- .../distsql/antlr4/mask/.antlr/Symbol.tokens | 83 - .../.antlr/Alphabet.interp | 47 - .../read_write_splitting/.antlr/Alphabet.java | 154 -- .../.antlr/Alphabet.tokens | 2 - .../.antlr/BaseRule.interp | 179 -- .../.antlr/BaseRule.tokens | 121 -- .../.antlr/BaseRuleLexer.interp | 280 --- .../.antlr/BaseRuleLexer.java | 424 ---- .../.antlr/BaseRuleLexer.tokens | 121 -- .../.antlr/BaseRuleParser.java | 608 ------ .../.antlr/Keyword.interp | 134 -- .../read_write_splitting/.antlr/Keyword.java | 274 --- .../.antlr/Keyword.tokens | 31 - .../.antlr/Literals.interp | 191 -- .../read_write_splitting/.antlr/Literals.java | 298 --- .../.antlr/Literals.tokens | 90 - .../.antlr/RALStatement.interp | 181 -- .../.antlr/RALStatement.tokens | 121 -- .../.antlr/RALStatementLexer.interp | 280 --- .../.antlr/RALStatementLexer.java | 424 ---- .../.antlr/RALStatementLexer.tokens | 121 -- .../.antlr/RALStatementParser.java | 781 ------- .../.antlr/RDLStatement.interp | 193 -- .../.antlr/RDLStatement.tokens | 121 -- .../.antlr/RDLStatementLexer.interp | 280 --- .../.antlr/RDLStatementLexer.java | 424 ---- .../.antlr/RDLStatementLexer.tokens | 121 -- .../.antlr/RDLStatementParser.java | 1312 ------------ .../read_write_splitting/.antlr/Symbol.interp | 143 -- .../read_write_splitting/.antlr/Symbol.java | 184 -- .../read_write_splitting/.antlr/Symbol.tokens | 83 - 84 files changed, 22434 deletions(-) delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Alphabet.interp delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Alphabet.java delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Alphabet.tokens delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRule.interp delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRule.tokens delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleLexer.interp delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleLexer.java delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleLexer.tokens delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleParser.java delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Keyword.interp delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Keyword.java delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Keyword.tokens delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Literals.interp delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Literals.java delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Literals.tokens delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatement.interp delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatement.tokens delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementLexer.interp delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementLexer.java delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementLexer.tokens delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementParser.java delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Symbol.interp delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Symbol.java delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Symbol.tokens delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Alphabet.interp delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Alphabet.java delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Alphabet.tokens delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRule.interp delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRule.tokens delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleLexer.interp delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleLexer.java delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleLexer.tokens delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleParser.java delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Keyword.interp delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Keyword.java delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Keyword.tokens delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Literals.interp delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Literals.java delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Literals.tokens delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatement.interp delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatement.tokens delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementLexer.interp delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementLexer.java delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementLexer.tokens delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementParser.java delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatement.interp delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatement.tokens delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementLexer.interp delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementLexer.java delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementLexer.tokens delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementParser.java delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Symbol.interp delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Symbol.java delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Symbol.tokens delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Alphabet.interp delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Alphabet.java delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Alphabet.tokens delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRule.interp delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRule.tokens delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleLexer.interp delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleLexer.java delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleLexer.tokens delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleParser.java delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Keyword.interp delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Keyword.java delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Keyword.tokens delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Literals.interp delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Literals.java delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Literals.tokens delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatement.interp delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatement.tokens delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementLexer.interp delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementLexer.java delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementLexer.tokens delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementParser.java delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatement.interp delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatement.tokens delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementLexer.interp delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementLexer.java delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementLexer.tokens delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementParser.java delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Symbol.interp delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Symbol.java delete mode 100644 shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Symbol.tokens diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Alphabet.interp b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Alphabet.interp deleted file mode 100644 index edd4b2d1..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Alphabet.interp +++ /dev/null @@ -1,47 +0,0 @@ -token literal names: -null -'DO NOT MATCH ANY THING, JUST FOR GENERATOR' - -token symbolic names: -null -FOR_GENERATOR - -rule names: -FOR_GENERATOR -A -B -C -D -E -F -G -H -I -J -K -L -M -N -O -P -Q -R -S -T -U -V -W -X -Y -Z -UL_ - -channel names: -DEFAULT_TOKEN_CHANNEL -HIDDEN - -mode names: -DEFAULT_MODE - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 3, 156, 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, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 3, 18, 3, 18, 3, 19, 3, 19, 3, 20, 3, 20, 3, 21, 3, 21, 3, 22, 3, 22, 3, 23, 3, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 2, 2, 30, 3, 3, 5, 2, 7, 2, 9, 2, 11, 2, 13, 2, 15, 2, 17, 2, 19, 2, 21, 2, 23, 2, 25, 2, 27, 2, 29, 2, 31, 2, 33, 2, 35, 2, 37, 2, 39, 2, 41, 2, 43, 2, 45, 2, 47, 2, 49, 2, 51, 2, 53, 2, 55, 2, 57, 2, 3, 2, 28, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 2, 128, 2, 3, 3, 2, 2, 2, 3, 59, 3, 2, 2, 2, 5, 102, 3, 2, 2, 2, 7, 104, 3, 2, 2, 2, 9, 106, 3, 2, 2, 2, 11, 108, 3, 2, 2, 2, 13, 110, 3, 2, 2, 2, 15, 112, 3, 2, 2, 2, 17, 114, 3, 2, 2, 2, 19, 116, 3, 2, 2, 2, 21, 118, 3, 2, 2, 2, 23, 120, 3, 2, 2, 2, 25, 122, 3, 2, 2, 2, 27, 124, 3, 2, 2, 2, 29, 126, 3, 2, 2, 2, 31, 128, 3, 2, 2, 2, 33, 130, 3, 2, 2, 2, 35, 132, 3, 2, 2, 2, 37, 134, 3, 2, 2, 2, 39, 136, 3, 2, 2, 2, 41, 138, 3, 2, 2, 2, 43, 140, 3, 2, 2, 2, 45, 142, 3, 2, 2, 2, 47, 144, 3, 2, 2, 2, 49, 146, 3, 2, 2, 2, 51, 148, 3, 2, 2, 2, 53, 150, 3, 2, 2, 2, 55, 152, 3, 2, 2, 2, 57, 154, 3, 2, 2, 2, 59, 60, 7, 70, 2, 2, 60, 61, 7, 81, 2, 2, 61, 62, 7, 34, 2, 2, 62, 63, 7, 80, 2, 2, 63, 64, 7, 81, 2, 2, 64, 65, 7, 86, 2, 2, 65, 66, 7, 34, 2, 2, 66, 67, 7, 79, 2, 2, 67, 68, 7, 67, 2, 2, 68, 69, 7, 86, 2, 2, 69, 70, 7, 69, 2, 2, 70, 71, 7, 74, 2, 2, 71, 72, 7, 34, 2, 2, 72, 73, 7, 67, 2, 2, 73, 74, 7, 80, 2, 2, 74, 75, 7, 91, 2, 2, 75, 76, 7, 34, 2, 2, 76, 77, 7, 86, 2, 2, 77, 78, 7, 74, 2, 2, 78, 79, 7, 75, 2, 2, 79, 80, 7, 80, 2, 2, 80, 81, 7, 73, 2, 2, 81, 82, 7, 46, 2, 2, 82, 83, 7, 34, 2, 2, 83, 84, 7, 76, 2, 2, 84, 85, 7, 87, 2, 2, 85, 86, 7, 85, 2, 2, 86, 87, 7, 86, 2, 2, 87, 88, 7, 34, 2, 2, 88, 89, 7, 72, 2, 2, 89, 90, 7, 81, 2, 2, 90, 91, 7, 84, 2, 2, 91, 92, 7, 34, 2, 2, 92, 93, 7, 73, 2, 2, 93, 94, 7, 71, 2, 2, 94, 95, 7, 80, 2, 2, 95, 96, 7, 71, 2, 2, 96, 97, 7, 84, 2, 2, 97, 98, 7, 67, 2, 2, 98, 99, 7, 86, 2, 2, 99, 100, 7, 81, 2, 2, 100, 101, 7, 84, 2, 2, 101, 4, 3, 2, 2, 2, 102, 103, 9, 2, 2, 2, 103, 6, 3, 2, 2, 2, 104, 105, 9, 3, 2, 2, 105, 8, 3, 2, 2, 2, 106, 107, 9, 4, 2, 2, 107, 10, 3, 2, 2, 2, 108, 109, 9, 5, 2, 2, 109, 12, 3, 2, 2, 2, 110, 111, 9, 6, 2, 2, 111, 14, 3, 2, 2, 2, 112, 113, 9, 7, 2, 2, 113, 16, 3, 2, 2, 2, 114, 115, 9, 8, 2, 2, 115, 18, 3, 2, 2, 2, 116, 117, 9, 9, 2, 2, 117, 20, 3, 2, 2, 2, 118, 119, 9, 10, 2, 2, 119, 22, 3, 2, 2, 2, 120, 121, 9, 11, 2, 2, 121, 24, 3, 2, 2, 2, 122, 123, 9, 12, 2, 2, 123, 26, 3, 2, 2, 2, 124, 125, 9, 13, 2, 2, 125, 28, 3, 2, 2, 2, 126, 127, 9, 14, 2, 2, 127, 30, 3, 2, 2, 2, 128, 129, 9, 15, 2, 2, 129, 32, 3, 2, 2, 2, 130, 131, 9, 16, 2, 2, 131, 34, 3, 2, 2, 2, 132, 133, 9, 17, 2, 2, 133, 36, 3, 2, 2, 2, 134, 135, 9, 18, 2, 2, 135, 38, 3, 2, 2, 2, 136, 137, 9, 19, 2, 2, 137, 40, 3, 2, 2, 2, 138, 139, 9, 20, 2, 2, 139, 42, 3, 2, 2, 2, 140, 141, 9, 21, 2, 2, 141, 44, 3, 2, 2, 2, 142, 143, 9, 22, 2, 2, 143, 46, 3, 2, 2, 2, 144, 145, 9, 23, 2, 2, 145, 48, 3, 2, 2, 2, 146, 147, 9, 24, 2, 2, 147, 50, 3, 2, 2, 2, 148, 149, 9, 25, 2, 2, 149, 52, 3, 2, 2, 2, 150, 151, 9, 26, 2, 2, 151, 54, 3, 2, 2, 2, 152, 153, 9, 27, 2, 2, 153, 56, 3, 2, 2, 2, 154, 155, 7, 97, 2, 2, 155, 58, 3, 2, 2, 2, 3, 2, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Alphabet.java b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Alphabet.java deleted file mode 100644 index a4f4ce71..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Alphabet.java +++ /dev/null @@ -1,154 +0,0 @@ -// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/encrypt/Alphabet.g4 by ANTLR 4.9.2 -import org.antlr.v4.runtime.Lexer; -import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.TokenStream; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.misc.*; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class Alphabet extends Lexer { - static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - FOR_GENERATOR=1; - public static String[] channelNames = { - "DEFAULT_TOKEN_CHANNEL", "HIDDEN" - }; - - public static String[] modeNames = { - "DEFAULT_MODE" - }; - - private static String[] makeRuleNames() { - return new String[] { - "FOR_GENERATOR", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", - "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", - "Z", "UL_" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "FOR_GENERATOR" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - - public Alphabet(CharStream input) { - super(input); - _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - @Override - public String getGrammarFileName() { return "Alphabet.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public String[] getChannelNames() { return channelNames; } - - @Override - public String[] getModeNames() { return modeNames; } - - @Override - public ATN getATN() { return _ATN; } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2\3\u009c\b\1\4\2\t"+ - "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ - "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ - "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ - "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3"+ - "\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2"+ - "\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3"+ - "\2\3\3\3\3\3\4\3\4\3\5\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\t\3\t\3\n\3\n\3\13"+ - "\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3\17\3\17\3\20\3\20\3\21\3\21\3\22\3\22"+ - "\3\23\3\23\3\24\3\24\3\25\3\25\3\26\3\26\3\27\3\27\3\30\3\30\3\31\3\31"+ - "\3\32\3\32\3\33\3\33\3\34\3\34\3\35\3\35\2\2\36\3\3\5\2\7\2\t\2\13\2\r"+ - "\2\17\2\21\2\23\2\25\2\27\2\31\2\33\2\35\2\37\2!\2#\2%\2\'\2)\2+\2-\2"+ - "/\2\61\2\63\2\65\2\67\29\2\3\2\34\4\2CCcc\4\2DDdd\4\2EEee\4\2FFff\4\2"+ - "GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4\2LLll\4\2MMmm\4\2NNnn\4\2OOoo\4"+ - "\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4\2TTtt\4\2UUuu\4\2VVvv\4\2WWww\4\2XXx"+ - "x\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\||\2\u0080\2\3\3\2\2\2\3;\3\2\2\2\5f"+ - "\3\2\2\2\7h\3\2\2\2\tj\3\2\2\2\13l\3\2\2\2\rn\3\2\2\2\17p\3\2\2\2\21r"+ - "\3\2\2\2\23t\3\2\2\2\25v\3\2\2\2\27x\3\2\2\2\31z\3\2\2\2\33|\3\2\2\2\35"+ - "~\3\2\2\2\37\u0080\3\2\2\2!\u0082\3\2\2\2#\u0084\3\2\2\2%\u0086\3\2\2"+ - "\2\'\u0088\3\2\2\2)\u008a\3\2\2\2+\u008c\3\2\2\2-\u008e\3\2\2\2/\u0090"+ - "\3\2\2\2\61\u0092\3\2\2\2\63\u0094\3\2\2\2\65\u0096\3\2\2\2\67\u0098\3"+ - "\2\2\29\u009a\3\2\2\2;<\7F\2\2<=\7Q\2\2=>\7\"\2\2>?\7P\2\2?@\7Q\2\2@A"+ - "\7V\2\2AB\7\"\2\2BC\7O\2\2CD\7C\2\2DE\7V\2\2EF\7E\2\2FG\7J\2\2GH\7\"\2"+ - "\2HI\7C\2\2IJ\7P\2\2JK\7[\2\2KL\7\"\2\2LM\7V\2\2MN\7J\2\2NO\7K\2\2OP\7"+ - "P\2\2PQ\7I\2\2QR\7.\2\2RS\7\"\2\2ST\7L\2\2TU\7W\2\2UV\7U\2\2VW\7V\2\2"+ - "WX\7\"\2\2XY\7H\2\2YZ\7Q\2\2Z[\7T\2\2[\\\7\"\2\2\\]\7I\2\2]^\7G\2\2^_"+ - "\7P\2\2_`\7G\2\2`a\7T\2\2ab\7C\2\2bc\7V\2\2cd\7Q\2\2de\7T\2\2e\4\3\2\2"+ - "\2fg\t\2\2\2g\6\3\2\2\2hi\t\3\2\2i\b\3\2\2\2jk\t\4\2\2k\n\3\2\2\2lm\t"+ - "\5\2\2m\f\3\2\2\2no\t\6\2\2o\16\3\2\2\2pq\t\7\2\2q\20\3\2\2\2rs\t\b\2"+ - "\2s\22\3\2\2\2tu\t\t\2\2u\24\3\2\2\2vw\t\n\2\2w\26\3\2\2\2xy\t\13\2\2"+ - "y\30\3\2\2\2z{\t\f\2\2{\32\3\2\2\2|}\t\r\2\2}\34\3\2\2\2~\177\t\16\2\2"+ - "\177\36\3\2\2\2\u0080\u0081\t\17\2\2\u0081 \3\2\2\2\u0082\u0083\t\20\2"+ - "\2\u0083\"\3\2\2\2\u0084\u0085\t\21\2\2\u0085$\3\2\2\2\u0086\u0087\t\22"+ - "\2\2\u0087&\3\2\2\2\u0088\u0089\t\23\2\2\u0089(\3\2\2\2\u008a\u008b\t"+ - "\24\2\2\u008b*\3\2\2\2\u008c\u008d\t\25\2\2\u008d,\3\2\2\2\u008e\u008f"+ - "\t\26\2\2\u008f.\3\2\2\2\u0090\u0091\t\27\2\2\u0091\60\3\2\2\2\u0092\u0093"+ - "\t\30\2\2\u0093\62\3\2\2\2\u0094\u0095\t\31\2\2\u0095\64\3\2\2\2\u0096"+ - "\u0097\t\32\2\2\u0097\66\3\2\2\2\u0098\u0099\t\33\2\2\u00998\3\2\2\2\u009a"+ - "\u009b\7a\2\2\u009b:\3\2\2\2\3\2\2"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Alphabet.tokens b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Alphabet.tokens deleted file mode 100644 index a5be65d8..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Alphabet.tokens +++ /dev/null @@ -1,2 +0,0 @@ -FOR_GENERATOR=1 -'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=1 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRule.interp b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRule.interp deleted file mode 100644 index 563f99ab..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRule.interp +++ /dev/null @@ -1,201 +0,0 @@ -token literal names: -null -'&&' -'||' -'!' -'~' -'|' -'&' -'<<' -'>>' -'^' -'%' -':' -'+' -'-' -'*' -'/' -'\\' -'.' -'.*' -'<=>' -'==' -'=' -null -'>' -'>=' -'<' -'<=' -'#' -'(' -')' -'{' -'}' -'[' -']' -',' -'"' -'\'' -'`' -'?' -'@' -';' -'->>' -'_' -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -'DO NOT MATCH ANY THING, JUST FOR GENERATOR' -null -null -null -null -null -null -null - -token symbolic names: -null -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ -WS -CREATE -ALTER -DROP -SHOW -RESOURCE -RULE -FROM -ENCRYPT -TYPE -ENCRYPT_ALGORITHM -ASSISTED_QUERY_ALGORITHM -LIKE_QUERY_ALGORITHM -NAME -PROPERTIES -COLUMN -RULES -TABLE -COLUMNS -CIPHER -PLAIN -ASSISTED_QUERY_COLUMN -LIKE_QUERY_COLUMN -QUERY_WITH_CIPHER_COLUMN -TRUE -FALSE -DATA_TYPE -PLAIN_DATA_TYPE -CIPHER_DATA_TYPE -ASSISTED_QUERY_DATA_TYPE -LIKE_QUERY_DATA_TYPE -IF -EXISTS -COUNT -MD5 -AES -RC4 -SM3 -SM4 -CHAR_DIGEST_LIKE -NOT -FOR_GENERATOR -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ - -rule names: -literal -algorithmDefinition -algorithmTypeName -buildinAlgorithmTypeName -propertiesDefinition -properties -property -tableName - - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 93, 66, 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, 3, 2, 3, 2, 5, 2, 21, 10, 2, 3, 2, 3, 2, 3, 2, 5, 2, 26, 10, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 35, 10, 3, 3, 3, 3, 3, 3, 4, 3, 4, 5, 4, 41, 10, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 5, 6, 48, 10, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 7, 7, 55, 10, 7, 12, 7, 14, 7, 58, 11, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 2, 2, 10, 2, 4, 6, 8, 10, 12, 14, 16, 2, 3, 3, 2, 79, 84, 2, 65, 2, 25, 3, 2, 2, 2, 4, 27, 3, 2, 2, 2, 6, 40, 3, 2, 2, 2, 8, 42, 3, 2, 2, 2, 10, 44, 3, 2, 2, 2, 12, 51, 3, 2, 2, 2, 14, 59, 3, 2, 2, 2, 16, 63, 3, 2, 2, 2, 18, 26, 7, 88, 2, 2, 19, 21, 7, 15, 2, 2, 20, 19, 3, 2, 2, 2, 20, 21, 3, 2, 2, 2, 21, 22, 3, 2, 2, 2, 22, 26, 7, 89, 2, 2, 23, 26, 7, 69, 2, 2, 24, 26, 7, 70, 2, 2, 25, 18, 3, 2, 2, 2, 25, 20, 3, 2, 2, 2, 25, 23, 3, 2, 2, 2, 25, 24, 3, 2, 2, 2, 26, 3, 3, 2, 2, 2, 27, 28, 7, 54, 2, 2, 28, 29, 7, 30, 2, 2, 29, 30, 7, 58, 2, 2, 30, 31, 7, 23, 2, 2, 31, 34, 5, 6, 4, 2, 32, 33, 7, 36, 2, 2, 33, 35, 5, 10, 6, 2, 34, 32, 3, 2, 2, 2, 34, 35, 3, 2, 2, 2, 35, 36, 3, 2, 2, 2, 36, 37, 7, 31, 2, 2, 37, 5, 3, 2, 2, 2, 38, 41, 5, 8, 5, 2, 39, 41, 7, 88, 2, 2, 40, 38, 3, 2, 2, 2, 40, 39, 3, 2, 2, 2, 41, 7, 3, 2, 2, 2, 42, 43, 9, 2, 2, 2, 43, 9, 3, 2, 2, 2, 44, 45, 7, 59, 2, 2, 45, 47, 7, 30, 2, 2, 46, 48, 5, 12, 7, 2, 47, 46, 3, 2, 2, 2, 47, 48, 3, 2, 2, 2, 48, 49, 3, 2, 2, 2, 49, 50, 7, 31, 2, 2, 50, 11, 3, 2, 2, 2, 51, 56, 5, 14, 8, 2, 52, 53, 7, 36, 2, 2, 53, 55, 5, 14, 8, 2, 54, 52, 3, 2, 2, 2, 55, 58, 3, 2, 2, 2, 56, 54, 3, 2, 2, 2, 56, 57, 3, 2, 2, 2, 57, 13, 3, 2, 2, 2, 58, 56, 3, 2, 2, 2, 59, 60, 7, 88, 2, 2, 60, 61, 7, 23, 2, 2, 61, 62, 5, 2, 2, 2, 62, 15, 3, 2, 2, 2, 63, 64, 7, 87, 2, 2, 64, 17, 3, 2, 2, 2, 8, 20, 25, 34, 40, 47, 56] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRule.tokens b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRule.tokens deleted file mode 100644 index 00b61d0c..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRule.tokens +++ /dev/null @@ -1,133 +0,0 @@ -AND_=1 -OR_=2 -NOT_=3 -TILDE_=4 -VERTICALBAR_=5 -AMPERSAND_=6 -SIGNEDLEFTSHIFT_=7 -SIGNEDRIGHTSHIFT_=8 -CARET_=9 -MOD_=10 -COLON_=11 -PLUS_=12 -MINUS_=13 -ASTERISK_=14 -SLASH_=15 -BACKSLASH_=16 -DOT_=17 -DOTASTERISK_=18 -SAFEEQ_=19 -DEQ_=20 -EQ_=21 -NEQ_=22 -GT_=23 -GTE_=24 -LT_=25 -LTE_=26 -POUND_=27 -LP_=28 -RP_=29 -LBE_=30 -RBE_=31 -LBT_=32 -RBT_=33 -COMMA_=34 -DQ_=35 -SQ_=36 -BQ_=37 -QUESTION_=38 -AT_=39 -SEMI_=40 -JSONSEPARATOR_=41 -UL_=42 -WS=43 -CREATE=44 -ALTER=45 -DROP=46 -SHOW=47 -RESOURCE=48 -RULE=49 -FROM=50 -ENCRYPT=51 -TYPE=52 -ENCRYPT_ALGORITHM=53 -ASSISTED_QUERY_ALGORITHM=54 -LIKE_QUERY_ALGORITHM=55 -NAME=56 -PROPERTIES=57 -COLUMN=58 -RULES=59 -TABLE=60 -COLUMNS=61 -CIPHER=62 -PLAIN=63 -ASSISTED_QUERY_COLUMN=64 -LIKE_QUERY_COLUMN=65 -QUERY_WITH_CIPHER_COLUMN=66 -TRUE=67 -FALSE=68 -DATA_TYPE=69 -PLAIN_DATA_TYPE=70 -CIPHER_DATA_TYPE=71 -ASSISTED_QUERY_DATA_TYPE=72 -LIKE_QUERY_DATA_TYPE=73 -IF=74 -EXISTS=75 -COUNT=76 -MD5=77 -AES=78 -RC4=79 -SM3=80 -SM4=81 -CHAR_DIGEST_LIKE=82 -NOT=83 -FOR_GENERATOR=84 -IDENTIFIER_=85 -STRING_=86 -INT_=87 -HEX_=88 -NUMBER_=89 -HEXDIGIT_=90 -BITNUM_=91 -'&&'=1 -'||'=2 -'!'=3 -'~'=4 -'|'=5 -'&'=6 -'<<'=7 -'>>'=8 -'^'=9 -'%'=10 -':'=11 -'+'=12 -'-'=13 -'*'=14 -'/'=15 -'\\'=16 -'.'=17 -'.*'=18 -'<=>'=19 -'=='=20 -'='=21 -'>'=23 -'>='=24 -'<'=25 -'<='=26 -'#'=27 -'('=28 -')'=29 -'{'=30 -'}'=31 -'['=32 -']'=33 -','=34 -'"'=35 -'\''=36 -'`'=37 -'?'=38 -'@'=39 -';'=40 -'->>'=41 -'_'=42 -'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=84 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleLexer.interp b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleLexer.interp deleted file mode 100644 index 86422baa..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleLexer.interp +++ /dev/null @@ -1,316 +0,0 @@ -token literal names: -null -'&&' -'||' -'!' -'~' -'|' -'&' -'<<' -'>>' -'^' -'%' -':' -'+' -'-' -'*' -'/' -'\\' -'.' -'.*' -'<=>' -'==' -'=' -null -'>' -'>=' -'<' -'<=' -'#' -'(' -')' -'{' -'}' -'[' -']' -',' -'"' -'\'' -'`' -'?' -'@' -';' -'->>' -'_' -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -'DO NOT MATCH ANY THING, JUST FOR GENERATOR' -null -null -null -null -null -null -null - -token symbolic names: -null -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ -WS -CREATE -ALTER -DROP -SHOW -RESOURCE -RULE -FROM -ENCRYPT -TYPE -ENCRYPT_ALGORITHM -ASSISTED_QUERY_ALGORITHM -LIKE_QUERY_ALGORITHM -NAME -PROPERTIES -COLUMN -RULES -TABLE -COLUMNS -CIPHER -PLAIN -ASSISTED_QUERY_COLUMN -LIKE_QUERY_COLUMN -QUERY_WITH_CIPHER_COLUMN -TRUE -FALSE -DATA_TYPE -PLAIN_DATA_TYPE -CIPHER_DATA_TYPE -ASSISTED_QUERY_DATA_TYPE -LIKE_QUERY_DATA_TYPE -IF -EXISTS -COUNT -MD5 -AES -RC4 -SM3 -SM4 -CHAR_DIGEST_LIKE -NOT -FOR_GENERATOR -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ - -rule names: -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ -WS -CREATE -ALTER -DROP -SHOW -RESOURCE -RULE -FROM -ENCRYPT -TYPE -ENCRYPT_ALGORITHM -ASSISTED_QUERY_ALGORITHM -LIKE_QUERY_ALGORITHM -NAME -PROPERTIES -COLUMN -RULES -TABLE -COLUMNS -CIPHER -PLAIN -ASSISTED_QUERY_COLUMN -LIKE_QUERY_COLUMN -QUERY_WITH_CIPHER_COLUMN -TRUE -FALSE -DATA_TYPE -PLAIN_DATA_TYPE -CIPHER_DATA_TYPE -ASSISTED_QUERY_DATA_TYPE -LIKE_QUERY_DATA_TYPE -IF -EXISTS -COUNT -MD5 -AES -RC4 -SM3 -SM4 -CHAR_DIGEST_LIKE -NOT -FOR_GENERATOR -A -B -C -D -E -F -G -H -I -J -K -L -M -N -O -P -Q -R -S -T -U -V -W -X -Y -Z -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ - -channel names: -DEFAULT_TOKEN_CHANNEL -HIDDEN - -mode names: -DEFAULT_MODE - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 93, 952, 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, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 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, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 292, 10, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 44, 6, 44, 339, 10, 44, 13, 44, 14, 44, 340, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 75, 3, 75, 3, 75, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 78, 3, 78, 3, 78, 3, 78, 3, 79, 3, 79, 3, 79, 3, 79, 3, 80, 3, 80, 3, 80, 3, 80, 3, 81, 3, 81, 3, 81, 3, 81, 3, 82, 3, 82, 3, 82, 3, 82, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 84, 3, 84, 3, 84, 3, 84, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 86, 3, 86, 3, 87, 3, 87, 3, 88, 3, 88, 3, 89, 3, 89, 3, 90, 3, 90, 3, 91, 3, 91, 3, 92, 3, 92, 3, 93, 3, 93, 3, 94, 3, 94, 3, 95, 3, 95, 3, 96, 3, 96, 3, 97, 3, 97, 3, 98, 3, 98, 3, 99, 3, 99, 3, 100, 3, 100, 3, 101, 3, 101, 3, 102, 3, 102, 3, 103, 3, 103, 3, 104, 3, 104, 3, 105, 3, 105, 3, 106, 3, 106, 3, 107, 3, 107, 3, 108, 3, 108, 3, 109, 3, 109, 3, 110, 3, 110, 3, 111, 3, 111, 3, 112, 7, 112, 838, 10, 112, 12, 112, 14, 112, 841, 11, 112, 3, 112, 6, 112, 844, 10, 112, 13, 112, 14, 112, 845, 3, 112, 7, 112, 849, 10, 112, 12, 112, 14, 112, 852, 11, 112, 3, 112, 3, 112, 6, 112, 856, 10, 112, 13, 112, 14, 112, 857, 3, 112, 3, 112, 5, 112, 862, 10, 112, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 7, 113, 870, 10, 113, 12, 113, 14, 113, 873, 11, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 7, 113, 883, 10, 113, 12, 113, 14, 113, 886, 11, 113, 3, 113, 3, 113, 5, 113, 890, 10, 113, 3, 114, 6, 114, 893, 10, 114, 13, 114, 14, 114, 894, 3, 115, 3, 115, 3, 116, 5, 116, 900, 10, 116, 3, 116, 5, 116, 903, 10, 116, 3, 116, 3, 116, 3, 116, 3, 116, 5, 116, 909, 10, 116, 3, 116, 3, 116, 5, 116, 913, 10, 116, 3, 117, 3, 117, 3, 117, 3, 117, 6, 117, 919, 10, 117, 13, 117, 14, 117, 920, 3, 117, 3, 117, 3, 117, 6, 117, 926, 10, 117, 13, 117, 14, 117, 927, 3, 117, 3, 117, 5, 117, 932, 10, 117, 3, 118, 3, 118, 3, 118, 3, 118, 6, 118, 938, 10, 118, 13, 118, 14, 118, 939, 3, 118, 3, 118, 3, 118, 6, 118, 945, 10, 118, 13, 118, 14, 118, 946, 3, 118, 3, 118, 5, 118, 951, 10, 118, 4, 839, 845, 2, 119, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, 91, 47, 93, 48, 95, 49, 97, 50, 99, 51, 101, 52, 103, 53, 105, 54, 107, 55, 109, 56, 111, 57, 113, 58, 115, 59, 117, 60, 119, 61, 121, 62, 123, 63, 125, 64, 127, 65, 129, 66, 131, 67, 133, 68, 135, 69, 137, 70, 139, 71, 141, 72, 143, 73, 145, 74, 147, 75, 149, 76, 151, 77, 153, 78, 155, 79, 157, 80, 159, 81, 161, 82, 163, 83, 165, 84, 167, 85, 169, 86, 171, 2, 173, 2, 175, 2, 177, 2, 179, 2, 181, 2, 183, 2, 185, 2, 187, 2, 189, 2, 191, 2, 193, 2, 195, 2, 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, 87, 225, 88, 227, 89, 229, 90, 231, 91, 233, 92, 235, 93, 3, 2, 39, 5, 2, 11, 12, 15, 15, 34, 34, 3, 2, 55, 55, 3, 2, 54, 54, 3, 2, 53, 53, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 7, 2, 38, 38, 50, 59, 67, 92, 97, 97, 99, 124, 6, 2, 38, 38, 67, 92, 97, 97, 99, 124, 3, 2, 98, 98, 4, 2, 36, 36, 94, 94, 4, 2, 41, 41, 94, 94, 3, 2, 50, 59, 5, 2, 50, 59, 67, 72, 99, 104, 2, 951, 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, 223, 3, 2, 2, 2, 2, 225, 3, 2, 2, 2, 2, 227, 3, 2, 2, 2, 2, 229, 3, 2, 2, 2, 2, 231, 3, 2, 2, 2, 2, 233, 3, 2, 2, 2, 2, 235, 3, 2, 2, 2, 3, 237, 3, 2, 2, 2, 5, 240, 3, 2, 2, 2, 7, 243, 3, 2, 2, 2, 9, 245, 3, 2, 2, 2, 11, 247, 3, 2, 2, 2, 13, 249, 3, 2, 2, 2, 15, 251, 3, 2, 2, 2, 17, 254, 3, 2, 2, 2, 19, 257, 3, 2, 2, 2, 21, 259, 3, 2, 2, 2, 23, 261, 3, 2, 2, 2, 25, 263, 3, 2, 2, 2, 27, 265, 3, 2, 2, 2, 29, 267, 3, 2, 2, 2, 31, 269, 3, 2, 2, 2, 33, 271, 3, 2, 2, 2, 35, 273, 3, 2, 2, 2, 37, 275, 3, 2, 2, 2, 39, 278, 3, 2, 2, 2, 41, 282, 3, 2, 2, 2, 43, 285, 3, 2, 2, 2, 45, 291, 3, 2, 2, 2, 47, 293, 3, 2, 2, 2, 49, 295, 3, 2, 2, 2, 51, 298, 3, 2, 2, 2, 53, 300, 3, 2, 2, 2, 55, 303, 3, 2, 2, 2, 57, 305, 3, 2, 2, 2, 59, 307, 3, 2, 2, 2, 61, 309, 3, 2, 2, 2, 63, 311, 3, 2, 2, 2, 65, 313, 3, 2, 2, 2, 67, 315, 3, 2, 2, 2, 69, 317, 3, 2, 2, 2, 71, 319, 3, 2, 2, 2, 73, 321, 3, 2, 2, 2, 75, 323, 3, 2, 2, 2, 77, 325, 3, 2, 2, 2, 79, 327, 3, 2, 2, 2, 81, 329, 3, 2, 2, 2, 83, 331, 3, 2, 2, 2, 85, 335, 3, 2, 2, 2, 87, 338, 3, 2, 2, 2, 89, 344, 3, 2, 2, 2, 91, 351, 3, 2, 2, 2, 93, 357, 3, 2, 2, 2, 95, 362, 3, 2, 2, 2, 97, 367, 3, 2, 2, 2, 99, 376, 3, 2, 2, 2, 101, 381, 3, 2, 2, 2, 103, 386, 3, 2, 2, 2, 105, 394, 3, 2, 2, 2, 107, 399, 3, 2, 2, 2, 109, 417, 3, 2, 2, 2, 111, 442, 3, 2, 2, 2, 113, 463, 3, 2, 2, 2, 115, 468, 3, 2, 2, 2, 117, 479, 3, 2, 2, 2, 119, 486, 3, 2, 2, 2, 121, 492, 3, 2, 2, 2, 123, 498, 3, 2, 2, 2, 125, 506, 3, 2, 2, 2, 127, 513, 3, 2, 2, 2, 129, 519, 3, 2, 2, 2, 131, 541, 3, 2, 2, 2, 133, 559, 3, 2, 2, 2, 135, 584, 3, 2, 2, 2, 137, 589, 3, 2, 2, 2, 139, 595, 3, 2, 2, 2, 141, 605, 3, 2, 2, 2, 143, 621, 3, 2, 2, 2, 145, 638, 3, 2, 2, 2, 147, 663, 3, 2, 2, 2, 149, 684, 3, 2, 2, 2, 151, 687, 3, 2, 2, 2, 153, 694, 3, 2, 2, 2, 155, 700, 3, 2, 2, 2, 157, 704, 3, 2, 2, 2, 159, 708, 3, 2, 2, 2, 161, 712, 3, 2, 2, 2, 163, 716, 3, 2, 2, 2, 165, 720, 3, 2, 2, 2, 167, 737, 3, 2, 2, 2, 169, 741, 3, 2, 2, 2, 171, 784, 3, 2, 2, 2, 173, 786, 3, 2, 2, 2, 175, 788, 3, 2, 2, 2, 177, 790, 3, 2, 2, 2, 179, 792, 3, 2, 2, 2, 181, 794, 3, 2, 2, 2, 183, 796, 3, 2, 2, 2, 185, 798, 3, 2, 2, 2, 187, 800, 3, 2, 2, 2, 189, 802, 3, 2, 2, 2, 191, 804, 3, 2, 2, 2, 193, 806, 3, 2, 2, 2, 195, 808, 3, 2, 2, 2, 197, 810, 3, 2, 2, 2, 199, 812, 3, 2, 2, 2, 201, 814, 3, 2, 2, 2, 203, 816, 3, 2, 2, 2, 205, 818, 3, 2, 2, 2, 207, 820, 3, 2, 2, 2, 209, 822, 3, 2, 2, 2, 211, 824, 3, 2, 2, 2, 213, 826, 3, 2, 2, 2, 215, 828, 3, 2, 2, 2, 217, 830, 3, 2, 2, 2, 219, 832, 3, 2, 2, 2, 221, 834, 3, 2, 2, 2, 223, 861, 3, 2, 2, 2, 225, 889, 3, 2, 2, 2, 227, 892, 3, 2, 2, 2, 229, 896, 3, 2, 2, 2, 231, 899, 3, 2, 2, 2, 233, 931, 3, 2, 2, 2, 235, 950, 3, 2, 2, 2, 237, 238, 7, 40, 2, 2, 238, 239, 7, 40, 2, 2, 239, 4, 3, 2, 2, 2, 240, 241, 7, 126, 2, 2, 241, 242, 7, 126, 2, 2, 242, 6, 3, 2, 2, 2, 243, 244, 7, 35, 2, 2, 244, 8, 3, 2, 2, 2, 245, 246, 7, 128, 2, 2, 246, 10, 3, 2, 2, 2, 247, 248, 7, 126, 2, 2, 248, 12, 3, 2, 2, 2, 249, 250, 7, 40, 2, 2, 250, 14, 3, 2, 2, 2, 251, 252, 7, 62, 2, 2, 252, 253, 7, 62, 2, 2, 253, 16, 3, 2, 2, 2, 254, 255, 7, 64, 2, 2, 255, 256, 7, 64, 2, 2, 256, 18, 3, 2, 2, 2, 257, 258, 7, 96, 2, 2, 258, 20, 3, 2, 2, 2, 259, 260, 7, 39, 2, 2, 260, 22, 3, 2, 2, 2, 261, 262, 7, 60, 2, 2, 262, 24, 3, 2, 2, 2, 263, 264, 7, 45, 2, 2, 264, 26, 3, 2, 2, 2, 265, 266, 7, 47, 2, 2, 266, 28, 3, 2, 2, 2, 267, 268, 7, 44, 2, 2, 268, 30, 3, 2, 2, 2, 269, 270, 7, 49, 2, 2, 270, 32, 3, 2, 2, 2, 271, 272, 7, 94, 2, 2, 272, 34, 3, 2, 2, 2, 273, 274, 7, 48, 2, 2, 274, 36, 3, 2, 2, 2, 275, 276, 7, 48, 2, 2, 276, 277, 7, 44, 2, 2, 277, 38, 3, 2, 2, 2, 278, 279, 7, 62, 2, 2, 279, 280, 7, 63, 2, 2, 280, 281, 7, 64, 2, 2, 281, 40, 3, 2, 2, 2, 282, 283, 7, 63, 2, 2, 283, 284, 7, 63, 2, 2, 284, 42, 3, 2, 2, 2, 285, 286, 7, 63, 2, 2, 286, 44, 3, 2, 2, 2, 287, 288, 7, 62, 2, 2, 288, 292, 7, 64, 2, 2, 289, 290, 7, 35, 2, 2, 290, 292, 7, 63, 2, 2, 291, 287, 3, 2, 2, 2, 291, 289, 3, 2, 2, 2, 292, 46, 3, 2, 2, 2, 293, 294, 7, 64, 2, 2, 294, 48, 3, 2, 2, 2, 295, 296, 7, 64, 2, 2, 296, 297, 7, 63, 2, 2, 297, 50, 3, 2, 2, 2, 298, 299, 7, 62, 2, 2, 299, 52, 3, 2, 2, 2, 300, 301, 7, 62, 2, 2, 301, 302, 7, 63, 2, 2, 302, 54, 3, 2, 2, 2, 303, 304, 7, 37, 2, 2, 304, 56, 3, 2, 2, 2, 305, 306, 7, 42, 2, 2, 306, 58, 3, 2, 2, 2, 307, 308, 7, 43, 2, 2, 308, 60, 3, 2, 2, 2, 309, 310, 7, 125, 2, 2, 310, 62, 3, 2, 2, 2, 311, 312, 7, 127, 2, 2, 312, 64, 3, 2, 2, 2, 313, 314, 7, 93, 2, 2, 314, 66, 3, 2, 2, 2, 315, 316, 7, 95, 2, 2, 316, 68, 3, 2, 2, 2, 317, 318, 7, 46, 2, 2, 318, 70, 3, 2, 2, 2, 319, 320, 7, 36, 2, 2, 320, 72, 3, 2, 2, 2, 321, 322, 7, 41, 2, 2, 322, 74, 3, 2, 2, 2, 323, 324, 7, 98, 2, 2, 324, 76, 3, 2, 2, 2, 325, 326, 7, 65, 2, 2, 326, 78, 3, 2, 2, 2, 327, 328, 7, 66, 2, 2, 328, 80, 3, 2, 2, 2, 329, 330, 7, 61, 2, 2, 330, 82, 3, 2, 2, 2, 331, 332, 7, 47, 2, 2, 332, 333, 7, 64, 2, 2, 333, 334, 7, 64, 2, 2, 334, 84, 3, 2, 2, 2, 335, 336, 7, 97, 2, 2, 336, 86, 3, 2, 2, 2, 337, 339, 9, 2, 2, 2, 338, 337, 3, 2, 2, 2, 339, 340, 3, 2, 2, 2, 340, 338, 3, 2, 2, 2, 340, 341, 3, 2, 2, 2, 341, 342, 3, 2, 2, 2, 342, 343, 8, 44, 2, 2, 343, 88, 3, 2, 2, 2, 344, 345, 5, 175, 88, 2, 345, 346, 5, 205, 103, 2, 346, 347, 5, 179, 90, 2, 347, 348, 5, 171, 86, 2, 348, 349, 5, 209, 105, 2, 349, 350, 5, 179, 90, 2, 350, 90, 3, 2, 2, 2, 351, 352, 5, 171, 86, 2, 352, 353, 5, 193, 97, 2, 353, 354, 5, 209, 105, 2, 354, 355, 5, 179, 90, 2, 355, 356, 5, 205, 103, 2, 356, 92, 3, 2, 2, 2, 357, 358, 5, 177, 89, 2, 358, 359, 5, 205, 103, 2, 359, 360, 5, 199, 100, 2, 360, 361, 5, 201, 101, 2, 361, 94, 3, 2, 2, 2, 362, 363, 5, 207, 104, 2, 363, 364, 5, 185, 93, 2, 364, 365, 5, 199, 100, 2, 365, 366, 5, 215, 108, 2, 366, 96, 3, 2, 2, 2, 367, 368, 5, 205, 103, 2, 368, 369, 5, 179, 90, 2, 369, 370, 5, 207, 104, 2, 370, 371, 5, 199, 100, 2, 371, 372, 5, 211, 106, 2, 372, 373, 5, 205, 103, 2, 373, 374, 5, 175, 88, 2, 374, 375, 5, 179, 90, 2, 375, 98, 3, 2, 2, 2, 376, 377, 5, 205, 103, 2, 377, 378, 5, 211, 106, 2, 378, 379, 5, 193, 97, 2, 379, 380, 5, 179, 90, 2, 380, 100, 3, 2, 2, 2, 381, 382, 5, 181, 91, 2, 382, 383, 5, 205, 103, 2, 383, 384, 5, 199, 100, 2, 384, 385, 5, 195, 98, 2, 385, 102, 3, 2, 2, 2, 386, 387, 5, 179, 90, 2, 387, 388, 5, 197, 99, 2, 388, 389, 5, 175, 88, 2, 389, 390, 5, 205, 103, 2, 390, 391, 5, 219, 110, 2, 391, 392, 5, 201, 101, 2, 392, 393, 5, 209, 105, 2, 393, 104, 3, 2, 2, 2, 394, 395, 5, 209, 105, 2, 395, 396, 5, 219, 110, 2, 396, 397, 5, 201, 101, 2, 397, 398, 5, 179, 90, 2, 398, 106, 3, 2, 2, 2, 399, 400, 5, 179, 90, 2, 400, 401, 5, 197, 99, 2, 401, 402, 5, 175, 88, 2, 402, 403, 5, 205, 103, 2, 403, 404, 5, 219, 110, 2, 404, 405, 5, 201, 101, 2, 405, 406, 5, 209, 105, 2, 406, 407, 5, 85, 43, 2, 407, 408, 5, 171, 86, 2, 408, 409, 5, 193, 97, 2, 409, 410, 5, 183, 92, 2, 410, 411, 5, 199, 100, 2, 411, 412, 5, 205, 103, 2, 412, 413, 5, 187, 94, 2, 413, 414, 5, 209, 105, 2, 414, 415, 5, 185, 93, 2, 415, 416, 5, 195, 98, 2, 416, 108, 3, 2, 2, 2, 417, 418, 5, 171, 86, 2, 418, 419, 5, 207, 104, 2, 419, 420, 5, 207, 104, 2, 420, 421, 5, 187, 94, 2, 421, 422, 5, 207, 104, 2, 422, 423, 5, 209, 105, 2, 423, 424, 5, 179, 90, 2, 424, 425, 5, 177, 89, 2, 425, 426, 5, 85, 43, 2, 426, 427, 5, 203, 102, 2, 427, 428, 5, 211, 106, 2, 428, 429, 5, 179, 90, 2, 429, 430, 5, 205, 103, 2, 430, 431, 5, 219, 110, 2, 431, 432, 5, 85, 43, 2, 432, 433, 5, 171, 86, 2, 433, 434, 5, 193, 97, 2, 434, 435, 5, 183, 92, 2, 435, 436, 5, 199, 100, 2, 436, 437, 5, 205, 103, 2, 437, 438, 5, 187, 94, 2, 438, 439, 5, 209, 105, 2, 439, 440, 5, 185, 93, 2, 440, 441, 5, 195, 98, 2, 441, 110, 3, 2, 2, 2, 442, 443, 5, 193, 97, 2, 443, 444, 5, 187, 94, 2, 444, 445, 5, 191, 96, 2, 445, 446, 5, 179, 90, 2, 446, 447, 5, 85, 43, 2, 447, 448, 5, 203, 102, 2, 448, 449, 5, 211, 106, 2, 449, 450, 5, 179, 90, 2, 450, 451, 5, 205, 103, 2, 451, 452, 5, 219, 110, 2, 452, 453, 5, 85, 43, 2, 453, 454, 5, 171, 86, 2, 454, 455, 5, 193, 97, 2, 455, 456, 5, 183, 92, 2, 456, 457, 5, 199, 100, 2, 457, 458, 5, 205, 103, 2, 458, 459, 5, 187, 94, 2, 459, 460, 5, 209, 105, 2, 460, 461, 5, 185, 93, 2, 461, 462, 5, 195, 98, 2, 462, 112, 3, 2, 2, 2, 463, 464, 5, 197, 99, 2, 464, 465, 5, 171, 86, 2, 465, 466, 5, 195, 98, 2, 466, 467, 5, 179, 90, 2, 467, 114, 3, 2, 2, 2, 468, 469, 5, 201, 101, 2, 469, 470, 5, 205, 103, 2, 470, 471, 5, 199, 100, 2, 471, 472, 5, 201, 101, 2, 472, 473, 5, 179, 90, 2, 473, 474, 5, 205, 103, 2, 474, 475, 5, 209, 105, 2, 475, 476, 5, 187, 94, 2, 476, 477, 5, 179, 90, 2, 477, 478, 5, 207, 104, 2, 478, 116, 3, 2, 2, 2, 479, 480, 5, 175, 88, 2, 480, 481, 5, 199, 100, 2, 481, 482, 5, 193, 97, 2, 482, 483, 5, 211, 106, 2, 483, 484, 5, 195, 98, 2, 484, 485, 5, 197, 99, 2, 485, 118, 3, 2, 2, 2, 486, 487, 5, 205, 103, 2, 487, 488, 5, 211, 106, 2, 488, 489, 5, 193, 97, 2, 489, 490, 5, 179, 90, 2, 490, 491, 5, 207, 104, 2, 491, 120, 3, 2, 2, 2, 492, 493, 5, 209, 105, 2, 493, 494, 5, 171, 86, 2, 494, 495, 5, 173, 87, 2, 495, 496, 5, 193, 97, 2, 496, 497, 5, 179, 90, 2, 497, 122, 3, 2, 2, 2, 498, 499, 5, 175, 88, 2, 499, 500, 5, 199, 100, 2, 500, 501, 5, 193, 97, 2, 501, 502, 5, 211, 106, 2, 502, 503, 5, 195, 98, 2, 503, 504, 5, 197, 99, 2, 504, 505, 5, 207, 104, 2, 505, 124, 3, 2, 2, 2, 506, 507, 5, 175, 88, 2, 507, 508, 5, 187, 94, 2, 508, 509, 5, 201, 101, 2, 509, 510, 5, 185, 93, 2, 510, 511, 5, 179, 90, 2, 511, 512, 5, 205, 103, 2, 512, 126, 3, 2, 2, 2, 513, 514, 5, 201, 101, 2, 514, 515, 5, 193, 97, 2, 515, 516, 5, 171, 86, 2, 516, 517, 5, 187, 94, 2, 517, 518, 5, 197, 99, 2, 518, 128, 3, 2, 2, 2, 519, 520, 5, 171, 86, 2, 520, 521, 5, 207, 104, 2, 521, 522, 5, 207, 104, 2, 522, 523, 5, 187, 94, 2, 523, 524, 5, 207, 104, 2, 524, 525, 5, 209, 105, 2, 525, 526, 5, 179, 90, 2, 526, 527, 5, 177, 89, 2, 527, 528, 5, 85, 43, 2, 528, 529, 5, 203, 102, 2, 529, 530, 5, 211, 106, 2, 530, 531, 5, 179, 90, 2, 531, 532, 5, 205, 103, 2, 532, 533, 5, 219, 110, 2, 533, 534, 5, 85, 43, 2, 534, 535, 5, 175, 88, 2, 535, 536, 5, 199, 100, 2, 536, 537, 5, 193, 97, 2, 537, 538, 5, 211, 106, 2, 538, 539, 5, 195, 98, 2, 539, 540, 5, 197, 99, 2, 540, 130, 3, 2, 2, 2, 541, 542, 5, 193, 97, 2, 542, 543, 5, 187, 94, 2, 543, 544, 5, 191, 96, 2, 544, 545, 5, 179, 90, 2, 545, 546, 5, 85, 43, 2, 546, 547, 5, 203, 102, 2, 547, 548, 5, 211, 106, 2, 548, 549, 5, 179, 90, 2, 549, 550, 5, 205, 103, 2, 550, 551, 5, 219, 110, 2, 551, 552, 5, 85, 43, 2, 552, 553, 5, 175, 88, 2, 553, 554, 5, 199, 100, 2, 554, 555, 5, 193, 97, 2, 555, 556, 5, 211, 106, 2, 556, 557, 5, 195, 98, 2, 557, 558, 5, 197, 99, 2, 558, 132, 3, 2, 2, 2, 559, 560, 5, 203, 102, 2, 560, 561, 5, 211, 106, 2, 561, 562, 5, 179, 90, 2, 562, 563, 5, 205, 103, 2, 563, 564, 5, 219, 110, 2, 564, 565, 5, 85, 43, 2, 565, 566, 5, 215, 108, 2, 566, 567, 5, 187, 94, 2, 567, 568, 5, 209, 105, 2, 568, 569, 5, 185, 93, 2, 569, 570, 5, 85, 43, 2, 570, 571, 5, 175, 88, 2, 571, 572, 5, 187, 94, 2, 572, 573, 5, 201, 101, 2, 573, 574, 5, 185, 93, 2, 574, 575, 5, 179, 90, 2, 575, 576, 5, 205, 103, 2, 576, 577, 5, 85, 43, 2, 577, 578, 5, 175, 88, 2, 578, 579, 5, 199, 100, 2, 579, 580, 5, 193, 97, 2, 580, 581, 5, 211, 106, 2, 581, 582, 5, 195, 98, 2, 582, 583, 5, 197, 99, 2, 583, 134, 3, 2, 2, 2, 584, 585, 5, 209, 105, 2, 585, 586, 5, 205, 103, 2, 586, 587, 5, 211, 106, 2, 587, 588, 5, 179, 90, 2, 588, 136, 3, 2, 2, 2, 589, 590, 5, 181, 91, 2, 590, 591, 5, 171, 86, 2, 591, 592, 5, 193, 97, 2, 592, 593, 5, 207, 104, 2, 593, 594, 5, 179, 90, 2, 594, 138, 3, 2, 2, 2, 595, 596, 5, 177, 89, 2, 596, 597, 5, 171, 86, 2, 597, 598, 5, 209, 105, 2, 598, 599, 5, 171, 86, 2, 599, 600, 5, 85, 43, 2, 600, 601, 5, 209, 105, 2, 601, 602, 5, 219, 110, 2, 602, 603, 5, 201, 101, 2, 603, 604, 5, 179, 90, 2, 604, 140, 3, 2, 2, 2, 605, 606, 5, 201, 101, 2, 606, 607, 5, 193, 97, 2, 607, 608, 5, 171, 86, 2, 608, 609, 5, 187, 94, 2, 609, 610, 5, 197, 99, 2, 610, 611, 5, 85, 43, 2, 611, 612, 5, 177, 89, 2, 612, 613, 5, 171, 86, 2, 613, 614, 5, 209, 105, 2, 614, 615, 5, 171, 86, 2, 615, 616, 5, 85, 43, 2, 616, 617, 5, 209, 105, 2, 617, 618, 5, 219, 110, 2, 618, 619, 5, 201, 101, 2, 619, 620, 5, 179, 90, 2, 620, 142, 3, 2, 2, 2, 621, 622, 5, 175, 88, 2, 622, 623, 5, 187, 94, 2, 623, 624, 5, 201, 101, 2, 624, 625, 5, 185, 93, 2, 625, 626, 5, 179, 90, 2, 626, 627, 5, 205, 103, 2, 627, 628, 5, 85, 43, 2, 628, 629, 5, 177, 89, 2, 629, 630, 5, 171, 86, 2, 630, 631, 5, 209, 105, 2, 631, 632, 5, 171, 86, 2, 632, 633, 5, 85, 43, 2, 633, 634, 5, 209, 105, 2, 634, 635, 5, 219, 110, 2, 635, 636, 5, 201, 101, 2, 636, 637, 5, 179, 90, 2, 637, 144, 3, 2, 2, 2, 638, 639, 5, 171, 86, 2, 639, 640, 5, 207, 104, 2, 640, 641, 5, 207, 104, 2, 641, 642, 5, 187, 94, 2, 642, 643, 5, 207, 104, 2, 643, 644, 5, 209, 105, 2, 644, 645, 5, 179, 90, 2, 645, 646, 5, 177, 89, 2, 646, 647, 5, 85, 43, 2, 647, 648, 5, 203, 102, 2, 648, 649, 5, 211, 106, 2, 649, 650, 5, 179, 90, 2, 650, 651, 5, 205, 103, 2, 651, 652, 5, 219, 110, 2, 652, 653, 5, 85, 43, 2, 653, 654, 5, 177, 89, 2, 654, 655, 5, 171, 86, 2, 655, 656, 5, 209, 105, 2, 656, 657, 5, 171, 86, 2, 657, 658, 5, 85, 43, 2, 658, 659, 5, 209, 105, 2, 659, 660, 5, 219, 110, 2, 660, 661, 5, 201, 101, 2, 661, 662, 5, 179, 90, 2, 662, 146, 3, 2, 2, 2, 663, 664, 5, 193, 97, 2, 664, 665, 5, 187, 94, 2, 665, 666, 5, 191, 96, 2, 666, 667, 5, 179, 90, 2, 667, 668, 5, 85, 43, 2, 668, 669, 5, 203, 102, 2, 669, 670, 5, 211, 106, 2, 670, 671, 5, 179, 90, 2, 671, 672, 5, 205, 103, 2, 672, 673, 5, 219, 110, 2, 673, 674, 5, 85, 43, 2, 674, 675, 5, 177, 89, 2, 675, 676, 5, 171, 86, 2, 676, 677, 5, 209, 105, 2, 677, 678, 5, 171, 86, 2, 678, 679, 5, 85, 43, 2, 679, 680, 5, 209, 105, 2, 680, 681, 5, 219, 110, 2, 681, 682, 5, 201, 101, 2, 682, 683, 5, 179, 90, 2, 683, 148, 3, 2, 2, 2, 684, 685, 5, 187, 94, 2, 685, 686, 5, 181, 91, 2, 686, 150, 3, 2, 2, 2, 687, 688, 5, 179, 90, 2, 688, 689, 5, 217, 109, 2, 689, 690, 5, 187, 94, 2, 690, 691, 5, 207, 104, 2, 691, 692, 5, 209, 105, 2, 692, 693, 5, 207, 104, 2, 693, 152, 3, 2, 2, 2, 694, 695, 5, 175, 88, 2, 695, 696, 5, 199, 100, 2, 696, 697, 5, 211, 106, 2, 697, 698, 5, 197, 99, 2, 698, 699, 5, 209, 105, 2, 699, 154, 3, 2, 2, 2, 700, 701, 5, 195, 98, 2, 701, 702, 5, 177, 89, 2, 702, 703, 9, 3, 2, 2, 703, 156, 3, 2, 2, 2, 704, 705, 5, 171, 86, 2, 705, 706, 5, 179, 90, 2, 706, 707, 5, 207, 104, 2, 707, 158, 3, 2, 2, 2, 708, 709, 5, 205, 103, 2, 709, 710, 5, 175, 88, 2, 710, 711, 9, 4, 2, 2, 711, 160, 3, 2, 2, 2, 712, 713, 5, 207, 104, 2, 713, 714, 5, 195, 98, 2, 714, 715, 9, 5, 2, 2, 715, 162, 3, 2, 2, 2, 716, 717, 5, 207, 104, 2, 717, 718, 5, 195, 98, 2, 718, 719, 9, 4, 2, 2, 719, 164, 3, 2, 2, 2, 720, 721, 5, 175, 88, 2, 721, 722, 5, 185, 93, 2, 722, 723, 5, 171, 86, 2, 723, 724, 5, 205, 103, 2, 724, 725, 5, 85, 43, 2, 725, 726, 5, 177, 89, 2, 726, 727, 5, 187, 94, 2, 727, 728, 5, 183, 92, 2, 728, 729, 5, 179, 90, 2, 729, 730, 5, 207, 104, 2, 730, 731, 5, 209, 105, 2, 731, 732, 5, 85, 43, 2, 732, 733, 5, 193, 97, 2, 733, 734, 5, 187, 94, 2, 734, 735, 5, 191, 96, 2, 735, 736, 5, 179, 90, 2, 736, 166, 3, 2, 2, 2, 737, 738, 5, 197, 99, 2, 738, 739, 5, 199, 100, 2, 739, 740, 5, 209, 105, 2, 740, 168, 3, 2, 2, 2, 741, 742, 7, 70, 2, 2, 742, 743, 7, 81, 2, 2, 743, 744, 7, 34, 2, 2, 744, 745, 7, 80, 2, 2, 745, 746, 7, 81, 2, 2, 746, 747, 7, 86, 2, 2, 747, 748, 7, 34, 2, 2, 748, 749, 7, 79, 2, 2, 749, 750, 7, 67, 2, 2, 750, 751, 7, 86, 2, 2, 751, 752, 7, 69, 2, 2, 752, 753, 7, 74, 2, 2, 753, 754, 7, 34, 2, 2, 754, 755, 7, 67, 2, 2, 755, 756, 7, 80, 2, 2, 756, 757, 7, 91, 2, 2, 757, 758, 7, 34, 2, 2, 758, 759, 7, 86, 2, 2, 759, 760, 7, 74, 2, 2, 760, 761, 7, 75, 2, 2, 761, 762, 7, 80, 2, 2, 762, 763, 7, 73, 2, 2, 763, 764, 7, 46, 2, 2, 764, 765, 7, 34, 2, 2, 765, 766, 7, 76, 2, 2, 766, 767, 7, 87, 2, 2, 767, 768, 7, 85, 2, 2, 768, 769, 7, 86, 2, 2, 769, 770, 7, 34, 2, 2, 770, 771, 7, 72, 2, 2, 771, 772, 7, 81, 2, 2, 772, 773, 7, 84, 2, 2, 773, 774, 7, 34, 2, 2, 774, 775, 7, 73, 2, 2, 775, 776, 7, 71, 2, 2, 776, 777, 7, 80, 2, 2, 777, 778, 7, 71, 2, 2, 778, 779, 7, 84, 2, 2, 779, 780, 7, 67, 2, 2, 780, 781, 7, 86, 2, 2, 781, 782, 7, 81, 2, 2, 782, 783, 7, 84, 2, 2, 783, 170, 3, 2, 2, 2, 784, 785, 9, 6, 2, 2, 785, 172, 3, 2, 2, 2, 786, 787, 9, 7, 2, 2, 787, 174, 3, 2, 2, 2, 788, 789, 9, 8, 2, 2, 789, 176, 3, 2, 2, 2, 790, 791, 9, 9, 2, 2, 791, 178, 3, 2, 2, 2, 792, 793, 9, 10, 2, 2, 793, 180, 3, 2, 2, 2, 794, 795, 9, 11, 2, 2, 795, 182, 3, 2, 2, 2, 796, 797, 9, 12, 2, 2, 797, 184, 3, 2, 2, 2, 798, 799, 9, 13, 2, 2, 799, 186, 3, 2, 2, 2, 800, 801, 9, 14, 2, 2, 801, 188, 3, 2, 2, 2, 802, 803, 9, 15, 2, 2, 803, 190, 3, 2, 2, 2, 804, 805, 9, 16, 2, 2, 805, 192, 3, 2, 2, 2, 806, 807, 9, 17, 2, 2, 807, 194, 3, 2, 2, 2, 808, 809, 9, 18, 2, 2, 809, 196, 3, 2, 2, 2, 810, 811, 9, 19, 2, 2, 811, 198, 3, 2, 2, 2, 812, 813, 9, 20, 2, 2, 813, 200, 3, 2, 2, 2, 814, 815, 9, 21, 2, 2, 815, 202, 3, 2, 2, 2, 816, 817, 9, 22, 2, 2, 817, 204, 3, 2, 2, 2, 818, 819, 9, 23, 2, 2, 819, 206, 3, 2, 2, 2, 820, 821, 9, 24, 2, 2, 821, 208, 3, 2, 2, 2, 822, 823, 9, 25, 2, 2, 823, 210, 3, 2, 2, 2, 824, 825, 9, 26, 2, 2, 825, 212, 3, 2, 2, 2, 826, 827, 9, 27, 2, 2, 827, 214, 3, 2, 2, 2, 828, 829, 9, 28, 2, 2, 829, 216, 3, 2, 2, 2, 830, 831, 9, 29, 2, 2, 831, 218, 3, 2, 2, 2, 832, 833, 9, 30, 2, 2, 833, 220, 3, 2, 2, 2, 834, 835, 9, 31, 2, 2, 835, 222, 3, 2, 2, 2, 836, 838, 9, 32, 2, 2, 837, 836, 3, 2, 2, 2, 838, 841, 3, 2, 2, 2, 839, 840, 3, 2, 2, 2, 839, 837, 3, 2, 2, 2, 840, 843, 3, 2, 2, 2, 841, 839, 3, 2, 2, 2, 842, 844, 9, 33, 2, 2, 843, 842, 3, 2, 2, 2, 844, 845, 3, 2, 2, 2, 845, 846, 3, 2, 2, 2, 845, 843, 3, 2, 2, 2, 846, 850, 3, 2, 2, 2, 847, 849, 9, 32, 2, 2, 848, 847, 3, 2, 2, 2, 849, 852, 3, 2, 2, 2, 850, 848, 3, 2, 2, 2, 850, 851, 3, 2, 2, 2, 851, 862, 3, 2, 2, 2, 852, 850, 3, 2, 2, 2, 853, 855, 5, 75, 38, 2, 854, 856, 10, 34, 2, 2, 855, 854, 3, 2, 2, 2, 856, 857, 3, 2, 2, 2, 857, 855, 3, 2, 2, 2, 857, 858, 3, 2, 2, 2, 858, 859, 3, 2, 2, 2, 859, 860, 5, 75, 38, 2, 860, 862, 3, 2, 2, 2, 861, 839, 3, 2, 2, 2, 861, 853, 3, 2, 2, 2, 862, 224, 3, 2, 2, 2, 863, 871, 5, 71, 36, 2, 864, 865, 7, 94, 2, 2, 865, 870, 11, 2, 2, 2, 866, 867, 7, 36, 2, 2, 867, 870, 7, 36, 2, 2, 868, 870, 10, 35, 2, 2, 869, 864, 3, 2, 2, 2, 869, 866, 3, 2, 2, 2, 869, 868, 3, 2, 2, 2, 870, 873, 3, 2, 2, 2, 871, 869, 3, 2, 2, 2, 871, 872, 3, 2, 2, 2, 872, 874, 3, 2, 2, 2, 873, 871, 3, 2, 2, 2, 874, 875, 5, 71, 36, 2, 875, 890, 3, 2, 2, 2, 876, 884, 5, 73, 37, 2, 877, 878, 7, 94, 2, 2, 878, 883, 11, 2, 2, 2, 879, 880, 7, 41, 2, 2, 880, 883, 7, 41, 2, 2, 881, 883, 10, 36, 2, 2, 882, 877, 3, 2, 2, 2, 882, 879, 3, 2, 2, 2, 882, 881, 3, 2, 2, 2, 883, 886, 3, 2, 2, 2, 884, 882, 3, 2, 2, 2, 884, 885, 3, 2, 2, 2, 885, 887, 3, 2, 2, 2, 886, 884, 3, 2, 2, 2, 887, 888, 5, 73, 37, 2, 888, 890, 3, 2, 2, 2, 889, 863, 3, 2, 2, 2, 889, 876, 3, 2, 2, 2, 890, 226, 3, 2, 2, 2, 891, 893, 9, 37, 2, 2, 892, 891, 3, 2, 2, 2, 893, 894, 3, 2, 2, 2, 894, 892, 3, 2, 2, 2, 894, 895, 3, 2, 2, 2, 895, 228, 3, 2, 2, 2, 896, 897, 9, 38, 2, 2, 897, 230, 3, 2, 2, 2, 898, 900, 5, 227, 114, 2, 899, 898, 3, 2, 2, 2, 899, 900, 3, 2, 2, 2, 900, 902, 3, 2, 2, 2, 901, 903, 5, 35, 18, 2, 902, 901, 3, 2, 2, 2, 902, 903, 3, 2, 2, 2, 903, 904, 3, 2, 2, 2, 904, 912, 5, 227, 114, 2, 905, 908, 5, 179, 90, 2, 906, 909, 5, 25, 13, 2, 907, 909, 5, 27, 14, 2, 908, 906, 3, 2, 2, 2, 908, 907, 3, 2, 2, 2, 908, 909, 3, 2, 2, 2, 909, 910, 3, 2, 2, 2, 910, 911, 5, 227, 114, 2, 911, 913, 3, 2, 2, 2, 912, 905, 3, 2, 2, 2, 912, 913, 3, 2, 2, 2, 913, 232, 3, 2, 2, 2, 914, 915, 7, 50, 2, 2, 915, 916, 7, 122, 2, 2, 916, 918, 3, 2, 2, 2, 917, 919, 5, 229, 115, 2, 918, 917, 3, 2, 2, 2, 919, 920, 3, 2, 2, 2, 920, 918, 3, 2, 2, 2, 920, 921, 3, 2, 2, 2, 921, 932, 3, 2, 2, 2, 922, 923, 7, 90, 2, 2, 923, 925, 5, 73, 37, 2, 924, 926, 5, 229, 115, 2, 925, 924, 3, 2, 2, 2, 926, 927, 3, 2, 2, 2, 927, 925, 3, 2, 2, 2, 927, 928, 3, 2, 2, 2, 928, 929, 3, 2, 2, 2, 929, 930, 5, 73, 37, 2, 930, 932, 3, 2, 2, 2, 931, 914, 3, 2, 2, 2, 931, 922, 3, 2, 2, 2, 932, 234, 3, 2, 2, 2, 933, 934, 7, 50, 2, 2, 934, 935, 7, 100, 2, 2, 935, 937, 3, 2, 2, 2, 936, 938, 4, 50, 51, 2, 937, 936, 3, 2, 2, 2, 938, 939, 3, 2, 2, 2, 939, 937, 3, 2, 2, 2, 939, 940, 3, 2, 2, 2, 940, 951, 3, 2, 2, 2, 941, 942, 5, 173, 87, 2, 942, 944, 5, 73, 37, 2, 943, 945, 4, 50, 51, 2, 944, 943, 3, 2, 2, 2, 945, 946, 3, 2, 2, 2, 946, 944, 3, 2, 2, 2, 946, 947, 3, 2, 2, 2, 947, 948, 3, 2, 2, 2, 948, 949, 5, 73, 37, 2, 949, 951, 3, 2, 2, 2, 950, 933, 3, 2, 2, 2, 950, 941, 3, 2, 2, 2, 951, 236, 3, 2, 2, 2, 26, 2, 291, 340, 839, 845, 850, 857, 861, 869, 871, 882, 884, 889, 894, 899, 902, 908, 912, 920, 927, 931, 939, 946, 950, 3, 8, 2, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleLexer.java b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleLexer.java deleted file mode 100644 index 0c0241b5..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleLexer.java +++ /dev/null @@ -1,495 +0,0 @@ -// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/encrypt/BaseRule.g4 by ANTLR 4.9.2 -import org.antlr.v4.runtime.Lexer; -import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.TokenStream; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.misc.*; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class BaseRuleLexer extends Lexer { - static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, - SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, - ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, - DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, - LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, - SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, - WS=43, CREATE=44, ALTER=45, DROP=46, SHOW=47, RESOURCE=48, RULE=49, FROM=50, - ENCRYPT=51, TYPE=52, ENCRYPT_ALGORITHM=53, ASSISTED_QUERY_ALGORITHM=54, - LIKE_QUERY_ALGORITHM=55, NAME=56, PROPERTIES=57, COLUMN=58, RULES=59, - TABLE=60, COLUMNS=61, CIPHER=62, PLAIN=63, ASSISTED_QUERY_COLUMN=64, LIKE_QUERY_COLUMN=65, - QUERY_WITH_CIPHER_COLUMN=66, TRUE=67, FALSE=68, DATA_TYPE=69, PLAIN_DATA_TYPE=70, - CIPHER_DATA_TYPE=71, ASSISTED_QUERY_DATA_TYPE=72, LIKE_QUERY_DATA_TYPE=73, - IF=74, EXISTS=75, COUNT=76, MD5=77, AES=78, RC4=79, SM3=80, SM4=81, CHAR_DIGEST_LIKE=82, - NOT=83, FOR_GENERATOR=84, IDENTIFIER_=85, STRING_=86, INT_=87, HEX_=88, - NUMBER_=89, HEXDIGIT_=90, BITNUM_=91; - public static String[] channelNames = { - "DEFAULT_TOKEN_CHANNEL", "HIDDEN" - }; - - public static String[] modeNames = { - "DEFAULT_MODE" - }; - - private static String[] makeRuleNames() { - return new String[] { - "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", - "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", - "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", - "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", - "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", - "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "CREATE", "ALTER", "DROP", "SHOW", - "RESOURCE", "RULE", "FROM", "ENCRYPT", "TYPE", "ENCRYPT_ALGORITHM", "ASSISTED_QUERY_ALGORITHM", - "LIKE_QUERY_ALGORITHM", "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", - "COLUMNS", "CIPHER", "PLAIN", "ASSISTED_QUERY_COLUMN", "LIKE_QUERY_COLUMN", - "QUERY_WITH_CIPHER_COLUMN", "TRUE", "FALSE", "DATA_TYPE", "PLAIN_DATA_TYPE", - "CIPHER_DATA_TYPE", "ASSISTED_QUERY_DATA_TYPE", "LIKE_QUERY_DATA_TYPE", - "IF", "EXISTS", "COUNT", "MD5", "AES", "RC4", "SM3", "SM4", "CHAR_DIGEST_LIKE", - "NOT", "FOR_GENERATOR", "A", "B", "C", "D", "E", "F", "G", "H", "I", - "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", - "X", "Y", "Z", "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", - "BITNUM_" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", - "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", - "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", - "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", - "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", - "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", - "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", - "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", - "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", - "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "CREATE", - "ALTER", "DROP", "SHOW", "RESOURCE", "RULE", "FROM", "ENCRYPT", "TYPE", - "ENCRYPT_ALGORITHM", "ASSISTED_QUERY_ALGORITHM", "LIKE_QUERY_ALGORITHM", - "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", "COLUMNS", "CIPHER", - "PLAIN", "ASSISTED_QUERY_COLUMN", "LIKE_QUERY_COLUMN", "QUERY_WITH_CIPHER_COLUMN", - "TRUE", "FALSE", "DATA_TYPE", "PLAIN_DATA_TYPE", "CIPHER_DATA_TYPE", - "ASSISTED_QUERY_DATA_TYPE", "LIKE_QUERY_DATA_TYPE", "IF", "EXISTS", "COUNT", - "MD5", "AES", "RC4", "SM3", "SM4", "CHAR_DIGEST_LIKE", "NOT", "FOR_GENERATOR", - "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - - public BaseRuleLexer(CharStream input) { - super(input); - _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - @Override - public String getGrammarFileName() { return "BaseRule.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public String[] getChannelNames() { return channelNames; } - - @Override - public String[] getModeNames() { return modeNames; } - - @Override - public ATN getATN() { return _ATN; } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2]\u03b8\b\1\4\2\t"+ - "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ - "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ - "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ - "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ - "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ - ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ - "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ - "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+ - "\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+ - "\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+ - "`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\4k\t"+ - "k\4l\tl\4m\tm\4n\tn\4o\to\4p\tp\4q\tq\4r\tr\4s\ts\4t\tt\4u\tu\4v\tv\3"+ - "\2\3\2\3\2\3\3\3\3\3\3\3\4\3\4\3\5\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\t"+ - "\3\t\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3\17\3\17\3\20\3"+ - "\20\3\21\3\21\3\22\3\22\3\23\3\23\3\23\3\24\3\24\3\24\3\24\3\25\3\25\3"+ - "\25\3\26\3\26\3\27\3\27\3\27\3\27\5\27\u0124\n\27\3\30\3\30\3\31\3\31"+ - "\3\31\3\32\3\32\3\33\3\33\3\33\3\34\3\34\3\35\3\35\3\36\3\36\3\37\3\37"+ - "\3 \3 \3!\3!\3\"\3\"\3#\3#\3$\3$\3%\3%\3&\3&\3\'\3\'\3(\3(\3)\3)\3*\3"+ - "*\3*\3*\3+\3+\3,\6,\u0153\n,\r,\16,\u0154\3,\3,\3-\3-\3-\3-\3-\3-\3-\3"+ - ".\3.\3.\3.\3.\3.\3/\3/\3/\3/\3/\3\60\3\60\3\60\3\60\3\60\3\61\3\61\3\61"+ - "\3\61\3\61\3\61\3\61\3\61\3\61\3\62\3\62\3\62\3\62\3\62\3\63\3\63\3\63"+ - "\3\63\3\63\3\64\3\64\3\64\3\64\3\64\3\64\3\64\3\64\3\65\3\65\3\65\3\65"+ - "\3\65\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66"+ - "\3\66\3\66\3\66\3\66\3\66\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67"+ - "\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67"+ - "\3\67\3\67\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\3"+ - "8\38\39\39\39\39\39\3:\3:\3:\3:\3:\3:\3:\3:\3:\3:\3:\3;\3;\3;\3;\3;\3"+ - ";\3;\3<\3<\3<\3<\3<\3<\3=\3=\3=\3=\3=\3=\3>\3>\3>\3>\3>\3>\3>\3>\3?\3"+ - "?\3?\3?\3?\3?\3?\3@\3@\3@\3@\3@\3@\3A\3A\3A\3A\3A\3A\3A\3A\3A\3A\3A\3"+ - "A\3A\3A\3A\3A\3A\3A\3A\3A\3A\3A\3B\3B\3B\3B\3B\3B\3B\3B\3B\3B\3B\3B\3"+ - "B\3B\3B\3B\3B\3B\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3"+ - "C\3C\3C\3C\3C\3C\3C\3C\3D\3D\3D\3D\3D\3E\3E\3E\3E\3E\3E\3F\3F\3F\3F\3"+ - "F\3F\3F\3F\3F\3F\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3H\3"+ - "H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3I\3I\3I\3I\3I\3I\3I\3"+ - "I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3J\3J\3J\3J\3J\3"+ - "J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3K\3K\3K\3L\3L\3L\3L\3"+ - "L\3L\3L\3M\3M\3M\3M\3M\3M\3N\3N\3N\3N\3O\3O\3O\3O\3P\3P\3P\3P\3Q\3Q\3"+ - "Q\3Q\3R\3R\3R\3R\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3"+ - "T\3T\3T\3T\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3"+ - "U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3"+ - "U\3V\3V\3W\3W\3X\3X\3Y\3Y\3Z\3Z\3[\3[\3\\\3\\\3]\3]\3^\3^\3_\3_\3`\3`"+ - "\3a\3a\3b\3b\3c\3c\3d\3d\3e\3e\3f\3f\3g\3g\3h\3h\3i\3i\3j\3j\3k\3k\3l"+ - "\3l\3m\3m\3n\3n\3o\3o\3p\7p\u0346\np\fp\16p\u0349\13p\3p\6p\u034c\np\r"+ - "p\16p\u034d\3p\7p\u0351\np\fp\16p\u0354\13p\3p\3p\6p\u0358\np\rp\16p\u0359"+ - "\3p\3p\5p\u035e\np\3q\3q\3q\3q\3q\3q\7q\u0366\nq\fq\16q\u0369\13q\3q\3"+ - "q\3q\3q\3q\3q\3q\3q\7q\u0373\nq\fq\16q\u0376\13q\3q\3q\5q\u037a\nq\3r"+ - "\6r\u037d\nr\rr\16r\u037e\3s\3s\3t\5t\u0384\nt\3t\5t\u0387\nt\3t\3t\3"+ - "t\3t\5t\u038d\nt\3t\3t\5t\u0391\nt\3u\3u\3u\3u\6u\u0397\nu\ru\16u\u0398"+ - "\3u\3u\3u\6u\u039e\nu\ru\16u\u039f\3u\3u\5u\u03a4\nu\3v\3v\3v\3v\6v\u03aa"+ - "\nv\rv\16v\u03ab\3v\3v\3v\6v\u03b1\nv\rv\16v\u03b2\3v\3v\5v\u03b7\nv\4"+ - "\u0347\u034d\2w\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r\31"+ - "\16\33\17\35\20\37\21!\22#\23%\24\'\25)\26+\27-\30/\31\61\32\63\33\65"+ - "\34\67\359\36;\37= ?!A\"C#E$G%I&K\'M(O)Q*S+U,W-Y.[/]\60_\61a\62c\63e\64"+ - "g\65i\66k\67m8o9q:s;u{?}@\177A\u0081B\u0083C\u0085D\u0087E\u0089"+ - "F\u008bG\u008dH\u008fI\u0091J\u0093K\u0095L\u0097M\u0099N\u009bO\u009d"+ - "P\u009fQ\u00a1R\u00a3S\u00a5T\u00a7U\u00a9V\u00ab\2\u00ad\2\u00af\2\u00b1"+ - "\2\u00b3\2\u00b5\2\u00b7\2\u00b9\2\u00bb\2\u00bd\2\u00bf\2\u00c1\2\u00c3"+ - "\2\u00c5\2\u00c7\2\u00c9\2\u00cb\2\u00cd\2\u00cf\2\u00d1\2\u00d3\2\u00d5"+ - "\2\u00d7\2\u00d9\2\u00db\2\u00dd\2\u00dfW\u00e1X\u00e3Y\u00e5Z\u00e7["+ - "\u00e9\\\u00eb]\3\2\'\5\2\13\f\17\17\"\"\3\2\67\67\3\2\66\66\3\2\65\65"+ - "\4\2CCcc\4\2DDdd\4\2EEee\4\2FFff\4\2GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2K"+ - "Kkk\4\2LLll\4\2MMmm\4\2NNnn\4\2OOoo\4\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4"+ - "\2TTtt\4\2UUuu\4\2VVvv\4\2WWww\4\2XXxx\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\"+ - "||\7\2&&\62;C\\aac|\6\2&&C\\aac|\3\2bb\4\2$$^^\4\2))^^\3\2\62;\5\2\62"+ - ";CHch\2\u03b7\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2"+ - "\2\2\2\r\3\2\2\2\2\17\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\31\3\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2"+ - "\2\2\2#\3\2\2\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2"+ - "\2\2/\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\29\3"+ - "\2\2\2\2;\3\2\2\2\2=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2"+ - "\2\2G\3\2\2\2\2I\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2"+ - "S\3\2\2\2\2U\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3"+ - "\2\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3\2\2\2\2i\3\2\2\2\2k\3\2\2"+ - "\2\2m\3\2\2\2\2o\3\2\2\2\2q\3\2\2\2\2s\3\2\2\2\2u\3\2\2\2\2w\3\2\2\2\2"+ - "y\3\2\2\2\2{\3\2\2\2\2}\3\2\2\2\2\177\3\2\2\2\2\u0081\3\2\2\2\2\u0083"+ - "\3\2\2\2\2\u0085\3\2\2\2\2\u0087\3\2\2\2\2\u0089\3\2\2\2\2\u008b\3\2\2"+ - "\2\2\u008d\3\2\2\2\2\u008f\3\2\2\2\2\u0091\3\2\2\2\2\u0093\3\2\2\2\2\u0095"+ - "\3\2\2\2\2\u0097\3\2\2\2\2\u0099\3\2\2\2\2\u009b\3\2\2\2\2\u009d\3\2\2"+ - "\2\2\u009f\3\2\2\2\2\u00a1\3\2\2\2\2\u00a3\3\2\2\2\2\u00a5\3\2\2\2\2\u00a7"+ - "\3\2\2\2\2\u00a9\3\2\2\2\2\u00df\3\2\2\2\2\u00e1\3\2\2\2\2\u00e3\3\2\2"+ - "\2\2\u00e5\3\2\2\2\2\u00e7\3\2\2\2\2\u00e9\3\2\2\2\2\u00eb\3\2\2\2\3\u00ed"+ - "\3\2\2\2\5\u00f0\3\2\2\2\7\u00f3\3\2\2\2\t\u00f5\3\2\2\2\13\u00f7\3\2"+ - "\2\2\r\u00f9\3\2\2\2\17\u00fb\3\2\2\2\21\u00fe\3\2\2\2\23\u0101\3\2\2"+ - "\2\25\u0103\3\2\2\2\27\u0105\3\2\2\2\31\u0107\3\2\2\2\33\u0109\3\2\2\2"+ - "\35\u010b\3\2\2\2\37\u010d\3\2\2\2!\u010f\3\2\2\2#\u0111\3\2\2\2%\u0113"+ - "\3\2\2\2\'\u0116\3\2\2\2)\u011a\3\2\2\2+\u011d\3\2\2\2-\u0123\3\2\2\2"+ - "/\u0125\3\2\2\2\61\u0127\3\2\2\2\63\u012a\3\2\2\2\65\u012c\3\2\2\2\67"+ - "\u012f\3\2\2\29\u0131\3\2\2\2;\u0133\3\2\2\2=\u0135\3\2\2\2?\u0137\3\2"+ - "\2\2A\u0139\3\2\2\2C\u013b\3\2\2\2E\u013d\3\2\2\2G\u013f\3\2\2\2I\u0141"+ - "\3\2\2\2K\u0143\3\2\2\2M\u0145\3\2\2\2O\u0147\3\2\2\2Q\u0149\3\2\2\2S"+ - "\u014b\3\2\2\2U\u014f\3\2\2\2W\u0152\3\2\2\2Y\u0158\3\2\2\2[\u015f\3\2"+ - "\2\2]\u0165\3\2\2\2_\u016a\3\2\2\2a\u016f\3\2\2\2c\u0178\3\2\2\2e\u017d"+ - "\3\2\2\2g\u0182\3\2\2\2i\u018a\3\2\2\2k\u018f\3\2\2\2m\u01a1\3\2\2\2o"+ - "\u01ba\3\2\2\2q\u01cf\3\2\2\2s\u01d4\3\2\2\2u\u01df\3\2\2\2w\u01e6\3\2"+ - "\2\2y\u01ec\3\2\2\2{\u01f2\3\2\2\2}\u01fa\3\2\2\2\177\u0201\3\2\2\2\u0081"+ - "\u0207\3\2\2\2\u0083\u021d\3\2\2\2\u0085\u022f\3\2\2\2\u0087\u0248\3\2"+ - "\2\2\u0089\u024d\3\2\2\2\u008b\u0253\3\2\2\2\u008d\u025d\3\2\2\2\u008f"+ - "\u026d\3\2\2\2\u0091\u027e\3\2\2\2\u0093\u0297\3\2\2\2\u0095\u02ac\3\2"+ - "\2\2\u0097\u02af\3\2\2\2\u0099\u02b6\3\2\2\2\u009b\u02bc\3\2\2\2\u009d"+ - "\u02c0\3\2\2\2\u009f\u02c4\3\2\2\2\u00a1\u02c8\3\2\2\2\u00a3\u02cc\3\2"+ - "\2\2\u00a5\u02d0\3\2\2\2\u00a7\u02e1\3\2\2\2\u00a9\u02e5\3\2\2\2\u00ab"+ - "\u0310\3\2\2\2\u00ad\u0312\3\2\2\2\u00af\u0314\3\2\2\2\u00b1\u0316\3\2"+ - "\2\2\u00b3\u0318\3\2\2\2\u00b5\u031a\3\2\2\2\u00b7\u031c\3\2\2\2\u00b9"+ - "\u031e\3\2\2\2\u00bb\u0320\3\2\2\2\u00bd\u0322\3\2\2\2\u00bf\u0324\3\2"+ - "\2\2\u00c1\u0326\3\2\2\2\u00c3\u0328\3\2\2\2\u00c5\u032a\3\2\2\2\u00c7"+ - "\u032c\3\2\2\2\u00c9\u032e\3\2\2\2\u00cb\u0330\3\2\2\2\u00cd\u0332\3\2"+ - "\2\2\u00cf\u0334\3\2\2\2\u00d1\u0336\3\2\2\2\u00d3\u0338\3\2\2\2\u00d5"+ - "\u033a\3\2\2\2\u00d7\u033c\3\2\2\2\u00d9\u033e\3\2\2\2\u00db\u0340\3\2"+ - "\2\2\u00dd\u0342\3\2\2\2\u00df\u035d\3\2\2\2\u00e1\u0379\3\2\2\2\u00e3"+ - "\u037c\3\2\2\2\u00e5\u0380\3\2\2\2\u00e7\u0383\3\2\2\2\u00e9\u03a3\3\2"+ - "\2\2\u00eb\u03b6\3\2\2\2\u00ed\u00ee\7(\2\2\u00ee\u00ef\7(\2\2\u00ef\4"+ - "\3\2\2\2\u00f0\u00f1\7~\2\2\u00f1\u00f2\7~\2\2\u00f2\6\3\2\2\2\u00f3\u00f4"+ - "\7#\2\2\u00f4\b\3\2\2\2\u00f5\u00f6\7\u0080\2\2\u00f6\n\3\2\2\2\u00f7"+ - "\u00f8\7~\2\2\u00f8\f\3\2\2\2\u00f9\u00fa\7(\2\2\u00fa\16\3\2\2\2\u00fb"+ - "\u00fc\7>\2\2\u00fc\u00fd\7>\2\2\u00fd\20\3\2\2\2\u00fe\u00ff\7@\2\2\u00ff"+ - "\u0100\7@\2\2\u0100\22\3\2\2\2\u0101\u0102\7`\2\2\u0102\24\3\2\2\2\u0103"+ - "\u0104\7\'\2\2\u0104\26\3\2\2\2\u0105\u0106\7<\2\2\u0106\30\3\2\2\2\u0107"+ - "\u0108\7-\2\2\u0108\32\3\2\2\2\u0109\u010a\7/\2\2\u010a\34\3\2\2\2\u010b"+ - "\u010c\7,\2\2\u010c\36\3\2\2\2\u010d\u010e\7\61\2\2\u010e \3\2\2\2\u010f"+ - "\u0110\7^\2\2\u0110\"\3\2\2\2\u0111\u0112\7\60\2\2\u0112$\3\2\2\2\u0113"+ - "\u0114\7\60\2\2\u0114\u0115\7,\2\2\u0115&\3\2\2\2\u0116\u0117\7>\2\2\u0117"+ - "\u0118\7?\2\2\u0118\u0119\7@\2\2\u0119(\3\2\2\2\u011a\u011b\7?\2\2\u011b"+ - "\u011c\7?\2\2\u011c*\3\2\2\2\u011d\u011e\7?\2\2\u011e,\3\2\2\2\u011f\u0120"+ - "\7>\2\2\u0120\u0124\7@\2\2\u0121\u0122\7#\2\2\u0122\u0124\7?\2\2\u0123"+ - "\u011f\3\2\2\2\u0123\u0121\3\2\2\2\u0124.\3\2\2\2\u0125\u0126\7@\2\2\u0126"+ - "\60\3\2\2\2\u0127\u0128\7@\2\2\u0128\u0129\7?\2\2\u0129\62\3\2\2\2\u012a"+ - "\u012b\7>\2\2\u012b\64\3\2\2\2\u012c\u012d\7>\2\2\u012d\u012e\7?\2\2\u012e"+ - "\66\3\2\2\2\u012f\u0130\7%\2\2\u01308\3\2\2\2\u0131\u0132\7*\2\2\u0132"+ - ":\3\2\2\2\u0133\u0134\7+\2\2\u0134<\3\2\2\2\u0135\u0136\7}\2\2\u0136>"+ - "\3\2\2\2\u0137\u0138\7\177\2\2\u0138@\3\2\2\2\u0139\u013a\7]\2\2\u013a"+ - "B\3\2\2\2\u013b\u013c\7_\2\2\u013cD\3\2\2\2\u013d\u013e\7.\2\2\u013eF"+ - "\3\2\2\2\u013f\u0140\7$\2\2\u0140H\3\2\2\2\u0141\u0142\7)\2\2\u0142J\3"+ - "\2\2\2\u0143\u0144\7b\2\2\u0144L\3\2\2\2\u0145\u0146\7A\2\2\u0146N\3\2"+ - "\2\2\u0147\u0148\7B\2\2\u0148P\3\2\2\2\u0149\u014a\7=\2\2\u014aR\3\2\2"+ - "\2\u014b\u014c\7/\2\2\u014c\u014d\7@\2\2\u014d\u014e\7@\2\2\u014eT\3\2"+ - "\2\2\u014f\u0150\7a\2\2\u0150V\3\2\2\2\u0151\u0153\t\2\2\2\u0152\u0151"+ - "\3\2\2\2\u0153\u0154\3\2\2\2\u0154\u0152\3\2\2\2\u0154\u0155\3\2\2\2\u0155"+ - "\u0156\3\2\2\2\u0156\u0157\b,\2\2\u0157X\3\2\2\2\u0158\u0159\5\u00afX"+ - "\2\u0159\u015a\5\u00cdg\2\u015a\u015b\5\u00b3Z\2\u015b\u015c\5\u00abV"+ - "\2\u015c\u015d\5\u00d1i\2\u015d\u015e\5\u00b3Z\2\u015eZ\3\2\2\2\u015f"+ - "\u0160\5\u00abV\2\u0160\u0161\5\u00c1a\2\u0161\u0162\5\u00d1i\2\u0162"+ - "\u0163\5\u00b3Z\2\u0163\u0164\5\u00cdg\2\u0164\\\3\2\2\2\u0165\u0166\5"+ - "\u00b1Y\2\u0166\u0167\5\u00cdg\2\u0167\u0168\5\u00c7d\2\u0168\u0169\5"+ - "\u00c9e\2\u0169^\3\2\2\2\u016a\u016b\5\u00cfh\2\u016b\u016c\5\u00b9]\2"+ - "\u016c\u016d\5\u00c7d\2\u016d\u016e\5\u00d7l\2\u016e`\3\2\2\2\u016f\u0170"+ - "\5\u00cdg\2\u0170\u0171\5\u00b3Z\2\u0171\u0172\5\u00cfh\2\u0172\u0173"+ - "\5\u00c7d\2\u0173\u0174\5\u00d3j\2\u0174\u0175\5\u00cdg\2\u0175\u0176"+ - "\5\u00afX\2\u0176\u0177\5\u00b3Z\2\u0177b\3\2\2\2\u0178\u0179\5\u00cd"+ - "g\2\u0179\u017a\5\u00d3j\2\u017a\u017b\5\u00c1a\2\u017b\u017c\5\u00b3"+ - "Z\2\u017cd\3\2\2\2\u017d\u017e\5\u00b5[\2\u017e\u017f\5\u00cdg\2\u017f"+ - "\u0180\5\u00c7d\2\u0180\u0181\5\u00c3b\2\u0181f\3\2\2\2\u0182\u0183\5"+ - "\u00b3Z\2\u0183\u0184\5\u00c5c\2\u0184\u0185\5\u00afX\2\u0185\u0186\5"+ - "\u00cdg\2\u0186\u0187\5\u00dbn\2\u0187\u0188\5\u00c9e\2\u0188\u0189\5"+ - "\u00d1i\2\u0189h\3\2\2\2\u018a\u018b\5\u00d1i\2\u018b\u018c\5\u00dbn\2"+ - "\u018c\u018d\5\u00c9e\2\u018d\u018e\5\u00b3Z\2\u018ej\3\2\2\2\u018f\u0190"+ - "\5\u00b3Z\2\u0190\u0191\5\u00c5c\2\u0191\u0192\5\u00afX\2\u0192\u0193"+ - "\5\u00cdg\2\u0193\u0194\5\u00dbn\2\u0194\u0195\5\u00c9e\2\u0195\u0196"+ - "\5\u00d1i\2\u0196\u0197\5U+\2\u0197\u0198\5\u00abV\2\u0198\u0199\5\u00c1"+ - "a\2\u0199\u019a\5\u00b7\\\2\u019a\u019b\5\u00c7d\2\u019b\u019c\5\u00cd"+ - "g\2\u019c\u019d\5\u00bb^\2\u019d\u019e\5\u00d1i\2\u019e\u019f\5\u00b9"+ - "]\2\u019f\u01a0\5\u00c3b\2\u01a0l\3\2\2\2\u01a1\u01a2\5\u00abV\2\u01a2"+ - "\u01a3\5\u00cfh\2\u01a3\u01a4\5\u00cfh\2\u01a4\u01a5\5\u00bb^\2\u01a5"+ - "\u01a6\5\u00cfh\2\u01a6\u01a7\5\u00d1i\2\u01a7\u01a8\5\u00b3Z\2\u01a8"+ - "\u01a9\5\u00b1Y\2\u01a9\u01aa\5U+\2\u01aa\u01ab\5\u00cbf\2\u01ab\u01ac"+ - "\5\u00d3j\2\u01ac\u01ad\5\u00b3Z\2\u01ad\u01ae\5\u00cdg\2\u01ae\u01af"+ - "\5\u00dbn\2\u01af\u01b0\5U+\2\u01b0\u01b1\5\u00abV\2\u01b1\u01b2\5\u00c1"+ - "a\2\u01b2\u01b3\5\u00b7\\\2\u01b3\u01b4\5\u00c7d\2\u01b4\u01b5\5\u00cd"+ - "g\2\u01b5\u01b6\5\u00bb^\2\u01b6\u01b7\5\u00d1i\2\u01b7\u01b8\5\u00b9"+ - "]\2\u01b8\u01b9\5\u00c3b\2\u01b9n\3\2\2\2\u01ba\u01bb\5\u00c1a\2\u01bb"+ - "\u01bc\5\u00bb^\2\u01bc\u01bd\5\u00bf`\2\u01bd\u01be\5\u00b3Z\2\u01be"+ - "\u01bf\5U+\2\u01bf\u01c0\5\u00cbf\2\u01c0\u01c1\5\u00d3j\2\u01c1\u01c2"+ - "\5\u00b3Z\2\u01c2\u01c3\5\u00cdg\2\u01c3\u01c4\5\u00dbn\2\u01c4\u01c5"+ - "\5U+\2\u01c5\u01c6\5\u00abV\2\u01c6\u01c7\5\u00c1a\2\u01c7\u01c8\5\u00b7"+ - "\\\2\u01c8\u01c9\5\u00c7d\2\u01c9\u01ca\5\u00cdg\2\u01ca\u01cb\5\u00bb"+ - "^\2\u01cb\u01cc\5\u00d1i\2\u01cc\u01cd\5\u00b9]\2\u01cd\u01ce\5\u00c3"+ - "b\2\u01cep\3\2\2\2\u01cf\u01d0\5\u00c5c\2\u01d0\u01d1\5\u00abV\2\u01d1"+ - "\u01d2\5\u00c3b\2\u01d2\u01d3\5\u00b3Z\2\u01d3r\3\2\2\2\u01d4\u01d5\5"+ - "\u00c9e\2\u01d5\u01d6\5\u00cdg\2\u01d6\u01d7\5\u00c7d\2\u01d7\u01d8\5"+ - "\u00c9e\2\u01d8\u01d9\5\u00b3Z\2\u01d9\u01da\5\u00cdg\2\u01da\u01db\5"+ - "\u00d1i\2\u01db\u01dc\5\u00bb^\2\u01dc\u01dd\5\u00b3Z\2\u01dd\u01de\5"+ - "\u00cfh\2\u01det\3\2\2\2\u01df\u01e0\5\u00afX\2\u01e0\u01e1\5\u00c7d\2"+ - "\u01e1\u01e2\5\u00c1a\2\u01e2\u01e3\5\u00d3j\2\u01e3\u01e4\5\u00c3b\2"+ - "\u01e4\u01e5\5\u00c5c\2\u01e5v\3\2\2\2\u01e6\u01e7\5\u00cdg\2\u01e7\u01e8"+ - "\5\u00d3j\2\u01e8\u01e9\5\u00c1a\2\u01e9\u01ea\5\u00b3Z\2\u01ea\u01eb"+ - "\5\u00cfh\2\u01ebx\3\2\2\2\u01ec\u01ed\5\u00d1i\2\u01ed\u01ee\5\u00ab"+ - "V\2\u01ee\u01ef\5\u00adW\2\u01ef\u01f0\5\u00c1a\2\u01f0\u01f1\5\u00b3"+ - "Z\2\u01f1z\3\2\2\2\u01f2\u01f3\5\u00afX\2\u01f3\u01f4\5\u00c7d\2\u01f4"+ - "\u01f5\5\u00c1a\2\u01f5\u01f6\5\u00d3j\2\u01f6\u01f7\5\u00c3b\2\u01f7"+ - "\u01f8\5\u00c5c\2\u01f8\u01f9\5\u00cfh\2\u01f9|\3\2\2\2\u01fa\u01fb\5"+ - "\u00afX\2\u01fb\u01fc\5\u00bb^\2\u01fc\u01fd\5\u00c9e\2\u01fd\u01fe\5"+ - "\u00b9]\2\u01fe\u01ff\5\u00b3Z\2\u01ff\u0200\5\u00cdg\2\u0200~\3\2\2\2"+ - "\u0201\u0202\5\u00c9e\2\u0202\u0203\5\u00c1a\2\u0203\u0204\5\u00abV\2"+ - "\u0204\u0205\5\u00bb^\2\u0205\u0206\5\u00c5c\2\u0206\u0080\3\2\2\2\u0207"+ - "\u0208\5\u00abV\2\u0208\u0209\5\u00cfh\2\u0209\u020a\5\u00cfh\2\u020a"+ - "\u020b\5\u00bb^\2\u020b\u020c\5\u00cfh\2\u020c\u020d\5\u00d1i\2\u020d"+ - "\u020e\5\u00b3Z\2\u020e\u020f\5\u00b1Y\2\u020f\u0210\5U+\2\u0210\u0211"+ - "\5\u00cbf\2\u0211\u0212\5\u00d3j\2\u0212\u0213\5\u00b3Z\2\u0213\u0214"+ - "\5\u00cdg\2\u0214\u0215\5\u00dbn\2\u0215\u0216\5U+\2\u0216\u0217\5\u00af"+ - "X\2\u0217\u0218\5\u00c7d\2\u0218\u0219\5\u00c1a\2\u0219\u021a\5\u00d3"+ - "j\2\u021a\u021b\5\u00c3b\2\u021b\u021c\5\u00c5c\2\u021c\u0082\3\2\2\2"+ - "\u021d\u021e\5\u00c1a\2\u021e\u021f\5\u00bb^\2\u021f\u0220\5\u00bf`\2"+ - "\u0220\u0221\5\u00b3Z\2\u0221\u0222\5U+\2\u0222\u0223\5\u00cbf\2\u0223"+ - "\u0224\5\u00d3j\2\u0224\u0225\5\u00b3Z\2\u0225\u0226\5\u00cdg\2\u0226"+ - "\u0227\5\u00dbn\2\u0227\u0228\5U+\2\u0228\u0229\5\u00afX\2\u0229\u022a"+ - "\5\u00c7d\2\u022a\u022b\5\u00c1a\2\u022b\u022c\5\u00d3j\2\u022c\u022d"+ - "\5\u00c3b\2\u022d\u022e\5\u00c5c\2\u022e\u0084\3\2\2\2\u022f\u0230\5\u00cb"+ - "f\2\u0230\u0231\5\u00d3j\2\u0231\u0232\5\u00b3Z\2\u0232\u0233\5\u00cd"+ - "g\2\u0233\u0234\5\u00dbn\2\u0234\u0235\5U+\2\u0235\u0236\5\u00d7l\2\u0236"+ - "\u0237\5\u00bb^\2\u0237\u0238\5\u00d1i\2\u0238\u0239\5\u00b9]\2\u0239"+ - "\u023a\5U+\2\u023a\u023b\5\u00afX\2\u023b\u023c\5\u00bb^\2\u023c\u023d"+ - "\5\u00c9e\2\u023d\u023e\5\u00b9]\2\u023e\u023f\5\u00b3Z\2\u023f\u0240"+ - "\5\u00cdg\2\u0240\u0241\5U+\2\u0241\u0242\5\u00afX\2\u0242\u0243\5\u00c7"+ - "d\2\u0243\u0244\5\u00c1a\2\u0244\u0245\5\u00d3j\2\u0245\u0246\5\u00c3"+ - "b\2\u0246\u0247\5\u00c5c\2\u0247\u0086\3\2\2\2\u0248\u0249\5\u00d1i\2"+ - "\u0249\u024a\5\u00cdg\2\u024a\u024b\5\u00d3j\2\u024b\u024c\5\u00b3Z\2"+ - "\u024c\u0088\3\2\2\2\u024d\u024e\5\u00b5[\2\u024e\u024f\5\u00abV\2\u024f"+ - "\u0250\5\u00c1a\2\u0250\u0251\5\u00cfh\2\u0251\u0252\5\u00b3Z\2\u0252"+ - "\u008a\3\2\2\2\u0253\u0254\5\u00b1Y\2\u0254\u0255\5\u00abV\2\u0255\u0256"+ - "\5\u00d1i\2\u0256\u0257\5\u00abV\2\u0257\u0258\5U+\2\u0258\u0259\5\u00d1"+ - "i\2\u0259\u025a\5\u00dbn\2\u025a\u025b\5\u00c9e\2\u025b\u025c\5\u00b3"+ - "Z\2\u025c\u008c\3\2\2\2\u025d\u025e\5\u00c9e\2\u025e\u025f\5\u00c1a\2"+ - "\u025f\u0260\5\u00abV\2\u0260\u0261\5\u00bb^\2\u0261\u0262\5\u00c5c\2"+ - "\u0262\u0263\5U+\2\u0263\u0264\5\u00b1Y\2\u0264\u0265\5\u00abV\2\u0265"+ - "\u0266\5\u00d1i\2\u0266\u0267\5\u00abV\2\u0267\u0268\5U+\2\u0268\u0269"+ - "\5\u00d1i\2\u0269\u026a\5\u00dbn\2\u026a\u026b\5\u00c9e\2\u026b\u026c"+ - "\5\u00b3Z\2\u026c\u008e\3\2\2\2\u026d\u026e\5\u00afX\2\u026e\u026f\5\u00bb"+ - "^\2\u026f\u0270\5\u00c9e\2\u0270\u0271\5\u00b9]\2\u0271\u0272\5\u00b3"+ - "Z\2\u0272\u0273\5\u00cdg\2\u0273\u0274\5U+\2\u0274\u0275\5\u00b1Y\2\u0275"+ - "\u0276\5\u00abV\2\u0276\u0277\5\u00d1i\2\u0277\u0278\5\u00abV\2\u0278"+ - "\u0279\5U+\2\u0279\u027a\5\u00d1i\2\u027a\u027b\5\u00dbn\2\u027b\u027c"+ - "\5\u00c9e\2\u027c\u027d\5\u00b3Z\2\u027d\u0090\3\2\2\2\u027e\u027f\5\u00ab"+ - "V\2\u027f\u0280\5\u00cfh\2\u0280\u0281\5\u00cfh\2\u0281\u0282\5\u00bb"+ - "^\2\u0282\u0283\5\u00cfh\2\u0283\u0284\5\u00d1i\2\u0284\u0285\5\u00b3"+ - "Z\2\u0285\u0286\5\u00b1Y\2\u0286\u0287\5U+\2\u0287\u0288\5\u00cbf\2\u0288"+ - "\u0289\5\u00d3j\2\u0289\u028a\5\u00b3Z\2\u028a\u028b\5\u00cdg\2\u028b"+ - "\u028c\5\u00dbn\2\u028c\u028d\5U+\2\u028d\u028e\5\u00b1Y\2\u028e\u028f"+ - "\5\u00abV\2\u028f\u0290\5\u00d1i\2\u0290\u0291\5\u00abV\2\u0291\u0292"+ - "\5U+\2\u0292\u0293\5\u00d1i\2\u0293\u0294\5\u00dbn\2\u0294\u0295\5\u00c9"+ - "e\2\u0295\u0296\5\u00b3Z\2\u0296\u0092\3\2\2\2\u0297\u0298\5\u00c1a\2"+ - "\u0298\u0299\5\u00bb^\2\u0299\u029a\5\u00bf`\2\u029a\u029b\5\u00b3Z\2"+ - "\u029b\u029c\5U+\2\u029c\u029d\5\u00cbf\2\u029d\u029e\5\u00d3j\2\u029e"+ - "\u029f\5\u00b3Z\2\u029f\u02a0\5\u00cdg\2\u02a0\u02a1\5\u00dbn\2\u02a1"+ - "\u02a2\5U+\2\u02a2\u02a3\5\u00b1Y\2\u02a3\u02a4\5\u00abV\2\u02a4\u02a5"+ - "\5\u00d1i\2\u02a5\u02a6\5\u00abV\2\u02a6\u02a7\5U+\2\u02a7\u02a8\5\u00d1"+ - "i\2\u02a8\u02a9\5\u00dbn\2\u02a9\u02aa\5\u00c9e\2\u02aa\u02ab\5\u00b3"+ - "Z\2\u02ab\u0094\3\2\2\2\u02ac\u02ad\5\u00bb^\2\u02ad\u02ae\5\u00b5[\2"+ - "\u02ae\u0096\3\2\2\2\u02af\u02b0\5\u00b3Z\2\u02b0\u02b1\5\u00d9m\2\u02b1"+ - "\u02b2\5\u00bb^\2\u02b2\u02b3\5\u00cfh\2\u02b3\u02b4\5\u00d1i\2\u02b4"+ - "\u02b5\5\u00cfh\2\u02b5\u0098\3\2\2\2\u02b6\u02b7\5\u00afX\2\u02b7\u02b8"+ - "\5\u00c7d\2\u02b8\u02b9\5\u00d3j\2\u02b9\u02ba\5\u00c5c\2\u02ba\u02bb"+ - "\5\u00d1i\2\u02bb\u009a\3\2\2\2\u02bc\u02bd\5\u00c3b\2\u02bd\u02be\5\u00b1"+ - "Y\2\u02be\u02bf\t\3\2\2\u02bf\u009c\3\2\2\2\u02c0\u02c1\5\u00abV\2\u02c1"+ - "\u02c2\5\u00b3Z\2\u02c2\u02c3\5\u00cfh\2\u02c3\u009e\3\2\2\2\u02c4\u02c5"+ - "\5\u00cdg\2\u02c5\u02c6\5\u00afX\2\u02c6\u02c7\t\4\2\2\u02c7\u00a0\3\2"+ - "\2\2\u02c8\u02c9\5\u00cfh\2\u02c9\u02ca\5\u00c3b\2\u02ca\u02cb\t\5\2\2"+ - "\u02cb\u00a2\3\2\2\2\u02cc\u02cd\5\u00cfh\2\u02cd\u02ce\5\u00c3b\2\u02ce"+ - "\u02cf\t\4\2\2\u02cf\u00a4\3\2\2\2\u02d0\u02d1\5\u00afX\2\u02d1\u02d2"+ - "\5\u00b9]\2\u02d2\u02d3\5\u00abV\2\u02d3\u02d4\5\u00cdg\2\u02d4\u02d5"+ - "\5U+\2\u02d5\u02d6\5\u00b1Y\2\u02d6\u02d7\5\u00bb^\2\u02d7\u02d8\5\u00b7"+ - "\\\2\u02d8\u02d9\5\u00b3Z\2\u02d9\u02da\5\u00cfh\2\u02da\u02db\5\u00d1"+ - "i\2\u02db\u02dc\5U+\2\u02dc\u02dd\5\u00c1a\2\u02dd\u02de\5\u00bb^\2\u02de"+ - "\u02df\5\u00bf`\2\u02df\u02e0\5\u00b3Z\2\u02e0\u00a6\3\2\2\2\u02e1\u02e2"+ - "\5\u00c5c\2\u02e2\u02e3\5\u00c7d\2\u02e3\u02e4\5\u00d1i\2\u02e4\u00a8"+ - "\3\2\2\2\u02e5\u02e6\7F\2\2\u02e6\u02e7\7Q\2\2\u02e7\u02e8\7\"\2\2\u02e8"+ - "\u02e9\7P\2\2\u02e9\u02ea\7Q\2\2\u02ea\u02eb\7V\2\2\u02eb\u02ec\7\"\2"+ - "\2\u02ec\u02ed\7O\2\2\u02ed\u02ee\7C\2\2\u02ee\u02ef\7V\2\2\u02ef\u02f0"+ - "\7E\2\2\u02f0\u02f1\7J\2\2\u02f1\u02f2\7\"\2\2\u02f2\u02f3\7C\2\2\u02f3"+ - "\u02f4\7P\2\2\u02f4\u02f5\7[\2\2\u02f5\u02f6\7\"\2\2\u02f6\u02f7\7V\2"+ - "\2\u02f7\u02f8\7J\2\2\u02f8\u02f9\7K\2\2\u02f9\u02fa\7P\2\2\u02fa\u02fb"+ - "\7I\2\2\u02fb\u02fc\7.\2\2\u02fc\u02fd\7\"\2\2\u02fd\u02fe\7L\2\2\u02fe"+ - "\u02ff\7W\2\2\u02ff\u0300\7U\2\2\u0300\u0301\7V\2\2\u0301\u0302\7\"\2"+ - "\2\u0302\u0303\7H\2\2\u0303\u0304\7Q\2\2\u0304\u0305\7T\2\2\u0305\u0306"+ - "\7\"\2\2\u0306\u0307\7I\2\2\u0307\u0308\7G\2\2\u0308\u0309\7P\2\2\u0309"+ - "\u030a\7G\2\2\u030a\u030b\7T\2\2\u030b\u030c\7C\2\2\u030c\u030d\7V\2\2"+ - "\u030d\u030e\7Q\2\2\u030e\u030f\7T\2\2\u030f\u00aa\3\2\2\2\u0310\u0311"+ - "\t\6\2\2\u0311\u00ac\3\2\2\2\u0312\u0313\t\7\2\2\u0313\u00ae\3\2\2\2\u0314"+ - "\u0315\t\b\2\2\u0315\u00b0\3\2\2\2\u0316\u0317\t\t\2\2\u0317\u00b2\3\2"+ - "\2\2\u0318\u0319\t\n\2\2\u0319\u00b4\3\2\2\2\u031a\u031b\t\13\2\2\u031b"+ - "\u00b6\3\2\2\2\u031c\u031d\t\f\2\2\u031d\u00b8\3\2\2\2\u031e\u031f\t\r"+ - "\2\2\u031f\u00ba\3\2\2\2\u0320\u0321\t\16\2\2\u0321\u00bc\3\2\2\2\u0322"+ - "\u0323\t\17\2\2\u0323\u00be\3\2\2\2\u0324\u0325\t\20\2\2\u0325\u00c0\3"+ - "\2\2\2\u0326\u0327\t\21\2\2\u0327\u00c2\3\2\2\2\u0328\u0329\t\22\2\2\u0329"+ - "\u00c4\3\2\2\2\u032a\u032b\t\23\2\2\u032b\u00c6\3\2\2\2\u032c\u032d\t"+ - "\24\2\2\u032d\u00c8\3\2\2\2\u032e\u032f\t\25\2\2\u032f\u00ca\3\2\2\2\u0330"+ - "\u0331\t\26\2\2\u0331\u00cc\3\2\2\2\u0332\u0333\t\27\2\2\u0333\u00ce\3"+ - "\2\2\2\u0334\u0335\t\30\2\2\u0335\u00d0\3\2\2\2\u0336\u0337\t\31\2\2\u0337"+ - "\u00d2\3\2\2\2\u0338\u0339\t\32\2\2\u0339\u00d4\3\2\2\2\u033a\u033b\t"+ - "\33\2\2\u033b\u00d6\3\2\2\2\u033c\u033d\t\34\2\2\u033d\u00d8\3\2\2\2\u033e"+ - "\u033f\t\35\2\2\u033f\u00da\3\2\2\2\u0340\u0341\t\36\2\2\u0341\u00dc\3"+ - "\2\2\2\u0342\u0343\t\37\2\2\u0343\u00de\3\2\2\2\u0344\u0346\t \2\2\u0345"+ - "\u0344\3\2\2\2\u0346\u0349\3\2\2\2\u0347\u0348\3\2\2\2\u0347\u0345\3\2"+ - "\2\2\u0348\u034b\3\2\2\2\u0349\u0347\3\2\2\2\u034a\u034c\t!\2\2\u034b"+ - "\u034a\3\2\2\2\u034c\u034d\3\2\2\2\u034d\u034e\3\2\2\2\u034d\u034b\3\2"+ - "\2\2\u034e\u0352\3\2\2\2\u034f\u0351\t \2\2\u0350\u034f\3\2\2\2\u0351"+ - "\u0354\3\2\2\2\u0352\u0350\3\2\2\2\u0352\u0353\3\2\2\2\u0353\u035e\3\2"+ - "\2\2\u0354\u0352\3\2\2\2\u0355\u0357\5K&\2\u0356\u0358\n\"\2\2\u0357\u0356"+ - "\3\2\2\2\u0358\u0359\3\2\2\2\u0359\u0357\3\2\2\2\u0359\u035a\3\2\2\2\u035a"+ - "\u035b\3\2\2\2\u035b\u035c\5K&\2\u035c\u035e\3\2\2\2\u035d\u0347\3\2\2"+ - "\2\u035d\u0355\3\2\2\2\u035e\u00e0\3\2\2\2\u035f\u0367\5G$\2\u0360\u0361"+ - "\7^\2\2\u0361\u0366\13\2\2\2\u0362\u0363\7$\2\2\u0363\u0366\7$\2\2\u0364"+ - "\u0366\n#\2\2\u0365\u0360\3\2\2\2\u0365\u0362\3\2\2\2\u0365\u0364\3\2"+ - "\2\2\u0366\u0369\3\2\2\2\u0367\u0365\3\2\2\2\u0367\u0368\3\2\2\2\u0368"+ - "\u036a\3\2\2\2\u0369\u0367\3\2\2\2\u036a\u036b\5G$\2\u036b\u037a\3\2\2"+ - "\2\u036c\u0374\5I%\2\u036d\u036e\7^\2\2\u036e\u0373\13\2\2\2\u036f\u0370"+ - "\7)\2\2\u0370\u0373\7)\2\2\u0371\u0373\n$\2\2\u0372\u036d\3\2\2\2\u0372"+ - "\u036f\3\2\2\2\u0372\u0371\3\2\2\2\u0373\u0376\3\2\2\2\u0374\u0372\3\2"+ - "\2\2\u0374\u0375\3\2\2\2\u0375\u0377\3\2\2\2\u0376\u0374\3\2\2\2\u0377"+ - "\u0378\5I%\2\u0378\u037a\3\2\2\2\u0379\u035f\3\2\2\2\u0379\u036c\3\2\2"+ - "\2\u037a\u00e2\3\2\2\2\u037b\u037d\t%\2\2\u037c\u037b\3\2\2\2\u037d\u037e"+ - "\3\2\2\2\u037e\u037c\3\2\2\2\u037e\u037f\3\2\2\2\u037f\u00e4\3\2\2\2\u0380"+ - "\u0381\t&\2\2\u0381\u00e6\3\2\2\2\u0382\u0384\5\u00e3r\2\u0383\u0382\3"+ - "\2\2\2\u0383\u0384\3\2\2\2\u0384\u0386\3\2\2\2\u0385\u0387\5#\22\2\u0386"+ - "\u0385\3\2\2\2\u0386\u0387\3\2\2\2\u0387\u0388\3\2\2\2\u0388\u0390\5\u00e3"+ - "r\2\u0389\u038c\5\u00b3Z\2\u038a\u038d\5\31\r\2\u038b\u038d\5\33\16\2"+ - "\u038c\u038a\3\2\2\2\u038c\u038b\3\2\2\2\u038c\u038d\3\2\2\2\u038d\u038e"+ - "\3\2\2\2\u038e\u038f\5\u00e3r\2\u038f\u0391\3\2\2\2\u0390\u0389\3\2\2"+ - "\2\u0390\u0391\3\2\2\2\u0391\u00e8\3\2\2\2\u0392\u0393\7\62\2\2\u0393"+ - "\u0394\7z\2\2\u0394\u0396\3\2\2\2\u0395\u0397\5\u00e5s\2\u0396\u0395\3"+ - "\2\2\2\u0397\u0398\3\2\2\2\u0398\u0396\3\2\2\2\u0398\u0399\3\2\2\2\u0399"+ - "\u03a4\3\2\2\2\u039a\u039b\7Z\2\2\u039b\u039d\5I%\2\u039c\u039e\5\u00e5"+ - "s\2\u039d\u039c\3\2\2\2\u039e\u039f\3\2\2\2\u039f\u039d\3\2\2\2\u039f"+ - "\u03a0\3\2\2\2\u03a0\u03a1\3\2\2\2\u03a1\u03a2\5I%\2\u03a2\u03a4\3\2\2"+ - "\2\u03a3\u0392\3\2\2\2\u03a3\u039a\3\2\2\2\u03a4\u00ea\3\2\2\2\u03a5\u03a6"+ - "\7\62\2\2\u03a6\u03a7\7d\2\2\u03a7\u03a9\3\2\2\2\u03a8\u03aa\4\62\63\2"+ - "\u03a9\u03a8\3\2\2\2\u03aa\u03ab\3\2\2\2\u03ab\u03a9\3\2\2\2\u03ab\u03ac"+ - "\3\2\2\2\u03ac\u03b7\3\2\2\2\u03ad\u03ae\5\u00adW\2\u03ae\u03b0\5I%\2"+ - "\u03af\u03b1\4\62\63\2\u03b0\u03af\3\2\2\2\u03b1\u03b2\3\2\2\2\u03b2\u03b0"+ - "\3\2\2\2\u03b2\u03b3\3\2\2\2\u03b3\u03b4\3\2\2\2\u03b4\u03b5\5I%\2\u03b5"+ - "\u03b7\3\2\2\2\u03b6\u03a5\3\2\2\2\u03b6\u03ad\3\2\2\2\u03b7\u00ec\3\2"+ - "\2\2\32\2\u0123\u0154\u0347\u034d\u0352\u0359\u035d\u0365\u0367\u0372"+ - "\u0374\u0379\u037e\u0383\u0386\u038c\u0390\u0398\u039f\u03a3\u03ab\u03b2"+ - "\u03b6\3\b\2\2"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleLexer.tokens b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleLexer.tokens deleted file mode 100644 index 00b61d0c..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleLexer.tokens +++ /dev/null @@ -1,133 +0,0 @@ -AND_=1 -OR_=2 -NOT_=3 -TILDE_=4 -VERTICALBAR_=5 -AMPERSAND_=6 -SIGNEDLEFTSHIFT_=7 -SIGNEDRIGHTSHIFT_=8 -CARET_=9 -MOD_=10 -COLON_=11 -PLUS_=12 -MINUS_=13 -ASTERISK_=14 -SLASH_=15 -BACKSLASH_=16 -DOT_=17 -DOTASTERISK_=18 -SAFEEQ_=19 -DEQ_=20 -EQ_=21 -NEQ_=22 -GT_=23 -GTE_=24 -LT_=25 -LTE_=26 -POUND_=27 -LP_=28 -RP_=29 -LBE_=30 -RBE_=31 -LBT_=32 -RBT_=33 -COMMA_=34 -DQ_=35 -SQ_=36 -BQ_=37 -QUESTION_=38 -AT_=39 -SEMI_=40 -JSONSEPARATOR_=41 -UL_=42 -WS=43 -CREATE=44 -ALTER=45 -DROP=46 -SHOW=47 -RESOURCE=48 -RULE=49 -FROM=50 -ENCRYPT=51 -TYPE=52 -ENCRYPT_ALGORITHM=53 -ASSISTED_QUERY_ALGORITHM=54 -LIKE_QUERY_ALGORITHM=55 -NAME=56 -PROPERTIES=57 -COLUMN=58 -RULES=59 -TABLE=60 -COLUMNS=61 -CIPHER=62 -PLAIN=63 -ASSISTED_QUERY_COLUMN=64 -LIKE_QUERY_COLUMN=65 -QUERY_WITH_CIPHER_COLUMN=66 -TRUE=67 -FALSE=68 -DATA_TYPE=69 -PLAIN_DATA_TYPE=70 -CIPHER_DATA_TYPE=71 -ASSISTED_QUERY_DATA_TYPE=72 -LIKE_QUERY_DATA_TYPE=73 -IF=74 -EXISTS=75 -COUNT=76 -MD5=77 -AES=78 -RC4=79 -SM3=80 -SM4=81 -CHAR_DIGEST_LIKE=82 -NOT=83 -FOR_GENERATOR=84 -IDENTIFIER_=85 -STRING_=86 -INT_=87 -HEX_=88 -NUMBER_=89 -HEXDIGIT_=90 -BITNUM_=91 -'&&'=1 -'||'=2 -'!'=3 -'~'=4 -'|'=5 -'&'=6 -'<<'=7 -'>>'=8 -'^'=9 -'%'=10 -':'=11 -'+'=12 -'-'=13 -'*'=14 -'/'=15 -'\\'=16 -'.'=17 -'.*'=18 -'<=>'=19 -'=='=20 -'='=21 -'>'=23 -'>='=24 -'<'=25 -'<='=26 -'#'=27 -'('=28 -')'=29 -'{'=30 -'}'=31 -'['=32 -']'=33 -','=34 -'"'=35 -'\''=36 -'`'=37 -'?'=38 -'@'=39 -';'=40 -'->>'=41 -'_'=42 -'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=84 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleParser.java b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleParser.java deleted file mode 100644 index 92a41c55..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/BaseRuleParser.java +++ /dev/null @@ -1,558 +0,0 @@ -// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/encrypt/BaseRule.g4 by ANTLR 4.9.2 -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.misc.*; -import org.antlr.v4.runtime.tree.*; -import java.util.List; -import java.util.Iterator; -import java.util.ArrayList; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class BaseRuleParser extends Parser { - static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, - SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, - ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, - DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, - LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, - SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, - WS=43, CREATE=44, ALTER=45, DROP=46, SHOW=47, RESOURCE=48, RULE=49, FROM=50, - ENCRYPT=51, TYPE=52, ENCRYPT_ALGORITHM=53, ASSISTED_QUERY_ALGORITHM=54, - LIKE_QUERY_ALGORITHM=55, NAME=56, PROPERTIES=57, COLUMN=58, RULES=59, - TABLE=60, COLUMNS=61, CIPHER=62, PLAIN=63, ASSISTED_QUERY_COLUMN=64, LIKE_QUERY_COLUMN=65, - QUERY_WITH_CIPHER_COLUMN=66, TRUE=67, FALSE=68, DATA_TYPE=69, PLAIN_DATA_TYPE=70, - CIPHER_DATA_TYPE=71, ASSISTED_QUERY_DATA_TYPE=72, LIKE_QUERY_DATA_TYPE=73, - IF=74, EXISTS=75, COUNT=76, MD5=77, AES=78, RC4=79, SM3=80, SM4=81, CHAR_DIGEST_LIKE=82, - NOT=83, FOR_GENERATOR=84, IDENTIFIER_=85, STRING_=86, INT_=87, HEX_=88, - NUMBER_=89, HEXDIGIT_=90, BITNUM_=91; - public static final int - RULE_literal = 0, RULE_algorithmDefinition = 1, RULE_algorithmTypeName = 2, - RULE_buildinAlgorithmTypeName = 3, RULE_propertiesDefinition = 4, RULE_properties = 5, - RULE_property = 6, RULE_tableName = 7; - private static String[] makeRuleNames() { - return new String[] { - "literal", "algorithmDefinition", "algorithmTypeName", "buildinAlgorithmTypeName", - "propertiesDefinition", "properties", "property", "tableName" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", - "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", - "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", - "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", - "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", - "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", - "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", - "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", - "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", - "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "CREATE", - "ALTER", "DROP", "SHOW", "RESOURCE", "RULE", "FROM", "ENCRYPT", "TYPE", - "ENCRYPT_ALGORITHM", "ASSISTED_QUERY_ALGORITHM", "LIKE_QUERY_ALGORITHM", - "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", "COLUMNS", "CIPHER", - "PLAIN", "ASSISTED_QUERY_COLUMN", "LIKE_QUERY_COLUMN", "QUERY_WITH_CIPHER_COLUMN", - "TRUE", "FALSE", "DATA_TYPE", "PLAIN_DATA_TYPE", "CIPHER_DATA_TYPE", - "ASSISTED_QUERY_DATA_TYPE", "LIKE_QUERY_DATA_TYPE", "IF", "EXISTS", "COUNT", - "MD5", "AES", "RC4", "SM3", "SM4", "CHAR_DIGEST_LIKE", "NOT", "FOR_GENERATOR", - "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - @Override - public String getGrammarFileName() { return "BaseRule.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public ATN getATN() { return _ATN; } - - public BaseRuleParser(TokenStream input) { - super(input); - _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - public static class LiteralContext extends ParserRuleContext { - public TerminalNode STRING_() { return getToken(BaseRuleParser.STRING_, 0); } - public TerminalNode INT_() { return getToken(BaseRuleParser.INT_, 0); } - public TerminalNode MINUS_() { return getToken(BaseRuleParser.MINUS_, 0); } - public TerminalNode TRUE() { return getToken(BaseRuleParser.TRUE, 0); } - public TerminalNode FALSE() { return getToken(BaseRuleParser.FALSE, 0); } - public LiteralContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_literal; } - } - - public final LiteralContext literal() throws RecognitionException { - LiteralContext _localctx = new LiteralContext(_ctx, getState()); - enterRule(_localctx, 0, RULE_literal); - int _la; - try { - setState(23); - _errHandler.sync(this); - switch (_input.LA(1)) { - case STRING_: - enterOuterAlt(_localctx, 1); - { - setState(16); - match(STRING_); - } - break; - case MINUS_: - case INT_: - enterOuterAlt(_localctx, 2); - { - setState(18); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==MINUS_) { - { - setState(17); - match(MINUS_); - } - } - - setState(20); - match(INT_); - } - break; - case TRUE: - enterOuterAlt(_localctx, 3); - { - setState(21); - match(TRUE); - } - break; - case FALSE: - enterOuterAlt(_localctx, 4); - { - setState(22); - match(FALSE); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AlgorithmDefinitionContext extends ParserRuleContext { - public TerminalNode TYPE() { return getToken(BaseRuleParser.TYPE, 0); } - public TerminalNode LP_() { return getToken(BaseRuleParser.LP_, 0); } - public TerminalNode NAME() { return getToken(BaseRuleParser.NAME, 0); } - public TerminalNode EQ_() { return getToken(BaseRuleParser.EQ_, 0); } - public AlgorithmTypeNameContext algorithmTypeName() { - return getRuleContext(AlgorithmTypeNameContext.class,0); - } - public TerminalNode RP_() { return getToken(BaseRuleParser.RP_, 0); } - public TerminalNode COMMA_() { return getToken(BaseRuleParser.COMMA_, 0); } - public PropertiesDefinitionContext propertiesDefinition() { - return getRuleContext(PropertiesDefinitionContext.class,0); - } - public AlgorithmDefinitionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_algorithmDefinition; } - } - - public final AlgorithmDefinitionContext algorithmDefinition() throws RecognitionException { - AlgorithmDefinitionContext _localctx = new AlgorithmDefinitionContext(_ctx, getState()); - enterRule(_localctx, 2, RULE_algorithmDefinition); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(25); - match(TYPE); - setState(26); - match(LP_); - setState(27); - match(NAME); - setState(28); - match(EQ_); - setState(29); - algorithmTypeName(); - setState(32); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==COMMA_) { - { - setState(30); - match(COMMA_); - setState(31); - propertiesDefinition(); - } - } - - setState(34); - match(RP_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AlgorithmTypeNameContext extends ParserRuleContext { - public BuildinAlgorithmTypeNameContext buildinAlgorithmTypeName() { - return getRuleContext(BuildinAlgorithmTypeNameContext.class,0); - } - public TerminalNode STRING_() { return getToken(BaseRuleParser.STRING_, 0); } - public AlgorithmTypeNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_algorithmTypeName; } - } - - public final AlgorithmTypeNameContext algorithmTypeName() throws RecognitionException { - AlgorithmTypeNameContext _localctx = new AlgorithmTypeNameContext(_ctx, getState()); - enterRule(_localctx, 4, RULE_algorithmTypeName); - try { - setState(38); - _errHandler.sync(this); - switch (_input.LA(1)) { - case MD5: - case AES: - case RC4: - case SM3: - case SM4: - case CHAR_DIGEST_LIKE: - enterOuterAlt(_localctx, 1); - { - setState(36); - buildinAlgorithmTypeName(); - } - break; - case STRING_: - enterOuterAlt(_localctx, 2); - { - setState(37); - match(STRING_); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class BuildinAlgorithmTypeNameContext extends ParserRuleContext { - public TerminalNode MD5() { return getToken(BaseRuleParser.MD5, 0); } - public TerminalNode AES() { return getToken(BaseRuleParser.AES, 0); } - public TerminalNode RC4() { return getToken(BaseRuleParser.RC4, 0); } - public TerminalNode SM3() { return getToken(BaseRuleParser.SM3, 0); } - public TerminalNode SM4() { return getToken(BaseRuleParser.SM4, 0); } - public TerminalNode CHAR_DIGEST_LIKE() { return getToken(BaseRuleParser.CHAR_DIGEST_LIKE, 0); } - public BuildinAlgorithmTypeNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_buildinAlgorithmTypeName; } - } - - public final BuildinAlgorithmTypeNameContext buildinAlgorithmTypeName() throws RecognitionException { - BuildinAlgorithmTypeNameContext _localctx = new BuildinAlgorithmTypeNameContext(_ctx, getState()); - enterRule(_localctx, 6, RULE_buildinAlgorithmTypeName); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(40); - _la = _input.LA(1); - if ( !(((((_la - 77)) & ~0x3f) == 0 && ((1L << (_la - 77)) & ((1L << (MD5 - 77)) | (1L << (AES - 77)) | (1L << (RC4 - 77)) | (1L << (SM3 - 77)) | (1L << (SM4 - 77)) | (1L << (CHAR_DIGEST_LIKE - 77)))) != 0)) ) { - _errHandler.recoverInline(this); - } - else { - if ( _input.LA(1)==Token.EOF ) matchedEOF = true; - _errHandler.reportMatch(this); - consume(); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PropertiesDefinitionContext extends ParserRuleContext { - public TerminalNode PROPERTIES() { return getToken(BaseRuleParser.PROPERTIES, 0); } - public TerminalNode LP_() { return getToken(BaseRuleParser.LP_, 0); } - public TerminalNode RP_() { return getToken(BaseRuleParser.RP_, 0); } - public PropertiesContext properties() { - return getRuleContext(PropertiesContext.class,0); - } - public PropertiesDefinitionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_propertiesDefinition; } - } - - public final PropertiesDefinitionContext propertiesDefinition() throws RecognitionException { - PropertiesDefinitionContext _localctx = new PropertiesDefinitionContext(_ctx, getState()); - enterRule(_localctx, 8, RULE_propertiesDefinition); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(42); - match(PROPERTIES); - setState(43); - match(LP_); - setState(45); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==STRING_) { - { - setState(44); - properties(); - } - } - - setState(47); - match(RP_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PropertiesContext extends ParserRuleContext { - public List property() { - return getRuleContexts(PropertyContext.class); - } - public PropertyContext property(int i) { - return getRuleContext(PropertyContext.class,i); - } - public List COMMA_() { return getTokens(BaseRuleParser.COMMA_); } - public TerminalNode COMMA_(int i) { - return getToken(BaseRuleParser.COMMA_, i); - } - public PropertiesContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_properties; } - } - - public final PropertiesContext properties() throws RecognitionException { - PropertiesContext _localctx = new PropertiesContext(_ctx, getState()); - enterRule(_localctx, 10, RULE_properties); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(49); - property(); - setState(54); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA_) { - { - { - setState(50); - match(COMMA_); - setState(51); - property(); - } - } - setState(56); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PropertyContext extends ParserRuleContext { - public Token key; - public LiteralContext value; - public TerminalNode EQ_() { return getToken(BaseRuleParser.EQ_, 0); } - public TerminalNode STRING_() { return getToken(BaseRuleParser.STRING_, 0); } - public LiteralContext literal() { - return getRuleContext(LiteralContext.class,0); - } - public PropertyContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_property; } - } - - public final PropertyContext property() throws RecognitionException { - PropertyContext _localctx = new PropertyContext(_ctx, getState()); - enterRule(_localctx, 12, RULE_property); - try { - enterOuterAlt(_localctx, 1); - { - setState(57); - ((PropertyContext)_localctx).key = match(STRING_); - setState(58); - match(EQ_); - setState(59); - ((PropertyContext)_localctx).value = literal(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TableNameContext extends ParserRuleContext { - public TerminalNode IDENTIFIER_() { return getToken(BaseRuleParser.IDENTIFIER_, 0); } - public TableNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_tableName; } - } - - public final TableNameContext tableName() throws RecognitionException { - TableNameContext _localctx = new TableNameContext(_ctx, getState()); - enterRule(_localctx, 14, RULE_tableName); - try { - enterOuterAlt(_localctx, 1); - { - setState(61); - match(IDENTIFIER_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3]B\4\2\t\2\4\3\t\3"+ - "\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\3\2\3\2\5\2\25\n\2\3"+ - "\2\3\2\3\2\5\2\32\n\2\3\3\3\3\3\3\3\3\3\3\3\3\3\3\5\3#\n\3\3\3\3\3\3\4"+ - "\3\4\5\4)\n\4\3\5\3\5\3\6\3\6\3\6\5\6\60\n\6\3\6\3\6\3\7\3\7\3\7\7\7\67"+ - "\n\7\f\7\16\7:\13\7\3\b\3\b\3\b\3\b\3\t\3\t\3\t\2\2\n\2\4\6\b\n\f\16\20"+ - "\2\3\3\2OT\2A\2\31\3\2\2\2\4\33\3\2\2\2\6(\3\2\2\2\b*\3\2\2\2\n,\3\2\2"+ - "\2\f\63\3\2\2\2\16;\3\2\2\2\20?\3\2\2\2\22\32\7X\2\2\23\25\7\17\2\2\24"+ - "\23\3\2\2\2\24\25\3\2\2\2\25\26\3\2\2\2\26\32\7Y\2\2\27\32\7E\2\2\30\32"+ - "\7F\2\2\31\22\3\2\2\2\31\24\3\2\2\2\31\27\3\2\2\2\31\30\3\2\2\2\32\3\3"+ - "\2\2\2\33\34\7\66\2\2\34\35\7\36\2\2\35\36\7:\2\2\36\37\7\27\2\2\37\""+ - "\5\6\4\2 !\7$\2\2!#\5\n\6\2\" \3\2\2\2\"#\3\2\2\2#$\3\2\2\2$%\7\37\2\2"+ - "%\5\3\2\2\2&)\5\b\5\2\')\7X\2\2(&\3\2\2\2(\'\3\2\2\2)\7\3\2\2\2*+\t\2"+ - "\2\2+\t\3\2\2\2,-\7;\2\2-/\7\36\2\2.\60\5\f\7\2/.\3\2\2\2/\60\3\2\2\2"+ - "\60\61\3\2\2\2\61\62\7\37\2\2\62\13\3\2\2\2\638\5\16\b\2\64\65\7$\2\2"+ - "\65\67\5\16\b\2\66\64\3\2\2\2\67:\3\2\2\28\66\3\2\2\289\3\2\2\29\r\3\2"+ - "\2\2:8\3\2\2\2;<\7X\2\2<=\7\27\2\2=>\5\2\2\2>\17\3\2\2\2?@\7W\2\2@\21"+ - "\3\2\2\2\b\24\31\"(/8"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Keyword.interp b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Keyword.interp deleted file mode 100644 index 7d35c8da..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Keyword.interp +++ /dev/null @@ -1,170 +0,0 @@ -token literal names: -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -'DO NOT MATCH ANY THING, JUST FOR GENERATOR' - -token symbolic names: -null -WS -CREATE -ALTER -DROP -SHOW -RESOURCE -RULE -FROM -ENCRYPT -TYPE -ENCRYPT_ALGORITHM -ASSISTED_QUERY_ALGORITHM -LIKE_QUERY_ALGORITHM -NAME -PROPERTIES -COLUMN -RULES -TABLE -COLUMNS -CIPHER -PLAIN -ASSISTED_QUERY_COLUMN -LIKE_QUERY_COLUMN -QUERY_WITH_CIPHER_COLUMN -TRUE -FALSE -DATA_TYPE -PLAIN_DATA_TYPE -CIPHER_DATA_TYPE -ASSISTED_QUERY_DATA_TYPE -LIKE_QUERY_DATA_TYPE -IF -EXISTS -COUNT -MD5 -AES -RC4 -SM3 -SM4 -CHAR_DIGEST_LIKE -NOT -FOR_GENERATOR - -rule names: -WS -CREATE -ALTER -DROP -SHOW -RESOURCE -RULE -FROM -ENCRYPT -TYPE -ENCRYPT_ALGORITHM -ASSISTED_QUERY_ALGORITHM -LIKE_QUERY_ALGORITHM -NAME -PROPERTIES -COLUMN -RULES -TABLE -COLUMNS -CIPHER -PLAIN -ASSISTED_QUERY_COLUMN -LIKE_QUERY_COLUMN -QUERY_WITH_CIPHER_COLUMN -TRUE -FALSE -DATA_TYPE -PLAIN_DATA_TYPE -CIPHER_DATA_TYPE -ASSISTED_QUERY_DATA_TYPE -LIKE_QUERY_DATA_TYPE -IF -EXISTS -COUNT -MD5 -AES -RC4 -SM3 -SM4 -CHAR_DIGEST_LIKE -NOT -FOR_GENERATOR -A -B -C -D -E -F -G -H -I -J -K -L -M -N -O -P -Q -R -S -T -U -V -W -X -Y -Z -UL_ - -channel names: -DEFAULT_TOKEN_CHANNEL -HIDDEN - -mode names: -DEFAULT_MODE - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 44, 642, 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, 3, 2, 6, 2, 143, 10, 2, 13, 2, 14, 2, 144, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 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, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 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, 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, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 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, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 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, 22, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 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, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 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, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 33, 3, 33, 3, 33, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 36, 3, 36, 3, 36, 3, 36, 3, 37, 3, 37, 3, 37, 3, 37, 3, 38, 3, 38, 3, 38, 3, 38, 3, 39, 3, 39, 3, 39, 3, 39, 3, 40, 3, 40, 3, 40, 3, 40, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 44, 3, 44, 3, 45, 3, 45, 3, 46, 3, 46, 3, 47, 3, 47, 3, 48, 3, 48, 3, 49, 3, 49, 3, 50, 3, 50, 3, 51, 3, 51, 3, 52, 3, 52, 3, 53, 3, 53, 3, 54, 3, 54, 3, 55, 3, 55, 3, 56, 3, 56, 3, 57, 3, 57, 3, 58, 3, 58, 3, 59, 3, 59, 3, 60, 3, 60, 3, 61, 3, 61, 3, 62, 3, 62, 3, 63, 3, 63, 3, 64, 3, 64, 3, 65, 3, 65, 3, 66, 3, 66, 3, 67, 3, 67, 3, 68, 3, 68, 3, 69, 3, 69, 3, 70, 3, 70, 2, 2, 71, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 2, 89, 2, 91, 2, 93, 2, 95, 2, 97, 2, 99, 2, 101, 2, 103, 2, 105, 2, 107, 2, 109, 2, 111, 2, 113, 2, 115, 2, 117, 2, 119, 2, 121, 2, 123, 2, 125, 2, 127, 2, 129, 2, 131, 2, 133, 2, 135, 2, 137, 2, 139, 2, 3, 2, 32, 5, 2, 11, 12, 15, 15, 34, 34, 3, 2, 55, 55, 3, 2, 54, 54, 3, 2, 53, 53, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 2, 615, 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, 3, 142, 3, 2, 2, 2, 5, 148, 3, 2, 2, 2, 7, 155, 3, 2, 2, 2, 9, 161, 3, 2, 2, 2, 11, 166, 3, 2, 2, 2, 13, 171, 3, 2, 2, 2, 15, 180, 3, 2, 2, 2, 17, 185, 3, 2, 2, 2, 19, 190, 3, 2, 2, 2, 21, 198, 3, 2, 2, 2, 23, 203, 3, 2, 2, 2, 25, 221, 3, 2, 2, 2, 27, 246, 3, 2, 2, 2, 29, 267, 3, 2, 2, 2, 31, 272, 3, 2, 2, 2, 33, 283, 3, 2, 2, 2, 35, 290, 3, 2, 2, 2, 37, 296, 3, 2, 2, 2, 39, 302, 3, 2, 2, 2, 41, 310, 3, 2, 2, 2, 43, 317, 3, 2, 2, 2, 45, 323, 3, 2, 2, 2, 47, 345, 3, 2, 2, 2, 49, 363, 3, 2, 2, 2, 51, 388, 3, 2, 2, 2, 53, 393, 3, 2, 2, 2, 55, 399, 3, 2, 2, 2, 57, 409, 3, 2, 2, 2, 59, 425, 3, 2, 2, 2, 61, 442, 3, 2, 2, 2, 63, 467, 3, 2, 2, 2, 65, 488, 3, 2, 2, 2, 67, 491, 3, 2, 2, 2, 69, 498, 3, 2, 2, 2, 71, 504, 3, 2, 2, 2, 73, 508, 3, 2, 2, 2, 75, 512, 3, 2, 2, 2, 77, 516, 3, 2, 2, 2, 79, 520, 3, 2, 2, 2, 81, 524, 3, 2, 2, 2, 83, 541, 3, 2, 2, 2, 85, 545, 3, 2, 2, 2, 87, 588, 3, 2, 2, 2, 89, 590, 3, 2, 2, 2, 91, 592, 3, 2, 2, 2, 93, 594, 3, 2, 2, 2, 95, 596, 3, 2, 2, 2, 97, 598, 3, 2, 2, 2, 99, 600, 3, 2, 2, 2, 101, 602, 3, 2, 2, 2, 103, 604, 3, 2, 2, 2, 105, 606, 3, 2, 2, 2, 107, 608, 3, 2, 2, 2, 109, 610, 3, 2, 2, 2, 111, 612, 3, 2, 2, 2, 113, 614, 3, 2, 2, 2, 115, 616, 3, 2, 2, 2, 117, 618, 3, 2, 2, 2, 119, 620, 3, 2, 2, 2, 121, 622, 3, 2, 2, 2, 123, 624, 3, 2, 2, 2, 125, 626, 3, 2, 2, 2, 127, 628, 3, 2, 2, 2, 129, 630, 3, 2, 2, 2, 131, 632, 3, 2, 2, 2, 133, 634, 3, 2, 2, 2, 135, 636, 3, 2, 2, 2, 137, 638, 3, 2, 2, 2, 139, 640, 3, 2, 2, 2, 141, 143, 9, 2, 2, 2, 142, 141, 3, 2, 2, 2, 143, 144, 3, 2, 2, 2, 144, 142, 3, 2, 2, 2, 144, 145, 3, 2, 2, 2, 145, 146, 3, 2, 2, 2, 146, 147, 8, 2, 2, 2, 147, 4, 3, 2, 2, 2, 148, 149, 5, 91, 46, 2, 149, 150, 5, 121, 61, 2, 150, 151, 5, 95, 48, 2, 151, 152, 5, 87, 44, 2, 152, 153, 5, 125, 63, 2, 153, 154, 5, 95, 48, 2, 154, 6, 3, 2, 2, 2, 155, 156, 5, 87, 44, 2, 156, 157, 5, 109, 55, 2, 157, 158, 5, 125, 63, 2, 158, 159, 5, 95, 48, 2, 159, 160, 5, 121, 61, 2, 160, 8, 3, 2, 2, 2, 161, 162, 5, 93, 47, 2, 162, 163, 5, 121, 61, 2, 163, 164, 5, 115, 58, 2, 164, 165, 5, 117, 59, 2, 165, 10, 3, 2, 2, 2, 166, 167, 5, 123, 62, 2, 167, 168, 5, 101, 51, 2, 168, 169, 5, 115, 58, 2, 169, 170, 5, 131, 66, 2, 170, 12, 3, 2, 2, 2, 171, 172, 5, 121, 61, 2, 172, 173, 5, 95, 48, 2, 173, 174, 5, 123, 62, 2, 174, 175, 5, 115, 58, 2, 175, 176, 5, 127, 64, 2, 176, 177, 5, 121, 61, 2, 177, 178, 5, 91, 46, 2, 178, 179, 5, 95, 48, 2, 179, 14, 3, 2, 2, 2, 180, 181, 5, 121, 61, 2, 181, 182, 5, 127, 64, 2, 182, 183, 5, 109, 55, 2, 183, 184, 5, 95, 48, 2, 184, 16, 3, 2, 2, 2, 185, 186, 5, 97, 49, 2, 186, 187, 5, 121, 61, 2, 187, 188, 5, 115, 58, 2, 188, 189, 5, 111, 56, 2, 189, 18, 3, 2, 2, 2, 190, 191, 5, 95, 48, 2, 191, 192, 5, 113, 57, 2, 192, 193, 5, 91, 46, 2, 193, 194, 5, 121, 61, 2, 194, 195, 5, 135, 68, 2, 195, 196, 5, 117, 59, 2, 196, 197, 5, 125, 63, 2, 197, 20, 3, 2, 2, 2, 198, 199, 5, 125, 63, 2, 199, 200, 5, 135, 68, 2, 200, 201, 5, 117, 59, 2, 201, 202, 5, 95, 48, 2, 202, 22, 3, 2, 2, 2, 203, 204, 5, 95, 48, 2, 204, 205, 5, 113, 57, 2, 205, 206, 5, 91, 46, 2, 206, 207, 5, 121, 61, 2, 207, 208, 5, 135, 68, 2, 208, 209, 5, 117, 59, 2, 209, 210, 5, 125, 63, 2, 210, 211, 5, 139, 70, 2, 211, 212, 5, 87, 44, 2, 212, 213, 5, 109, 55, 2, 213, 214, 5, 99, 50, 2, 214, 215, 5, 115, 58, 2, 215, 216, 5, 121, 61, 2, 216, 217, 5, 103, 52, 2, 217, 218, 5, 125, 63, 2, 218, 219, 5, 101, 51, 2, 219, 220, 5, 111, 56, 2, 220, 24, 3, 2, 2, 2, 221, 222, 5, 87, 44, 2, 222, 223, 5, 123, 62, 2, 223, 224, 5, 123, 62, 2, 224, 225, 5, 103, 52, 2, 225, 226, 5, 123, 62, 2, 226, 227, 5, 125, 63, 2, 227, 228, 5, 95, 48, 2, 228, 229, 5, 93, 47, 2, 229, 230, 5, 139, 70, 2, 230, 231, 5, 119, 60, 2, 231, 232, 5, 127, 64, 2, 232, 233, 5, 95, 48, 2, 233, 234, 5, 121, 61, 2, 234, 235, 5, 135, 68, 2, 235, 236, 5, 139, 70, 2, 236, 237, 5, 87, 44, 2, 237, 238, 5, 109, 55, 2, 238, 239, 5, 99, 50, 2, 239, 240, 5, 115, 58, 2, 240, 241, 5, 121, 61, 2, 241, 242, 5, 103, 52, 2, 242, 243, 5, 125, 63, 2, 243, 244, 5, 101, 51, 2, 244, 245, 5, 111, 56, 2, 245, 26, 3, 2, 2, 2, 246, 247, 5, 109, 55, 2, 247, 248, 5, 103, 52, 2, 248, 249, 5, 107, 54, 2, 249, 250, 5, 95, 48, 2, 250, 251, 5, 139, 70, 2, 251, 252, 5, 119, 60, 2, 252, 253, 5, 127, 64, 2, 253, 254, 5, 95, 48, 2, 254, 255, 5, 121, 61, 2, 255, 256, 5, 135, 68, 2, 256, 257, 5, 139, 70, 2, 257, 258, 5, 87, 44, 2, 258, 259, 5, 109, 55, 2, 259, 260, 5, 99, 50, 2, 260, 261, 5, 115, 58, 2, 261, 262, 5, 121, 61, 2, 262, 263, 5, 103, 52, 2, 263, 264, 5, 125, 63, 2, 264, 265, 5, 101, 51, 2, 265, 266, 5, 111, 56, 2, 266, 28, 3, 2, 2, 2, 267, 268, 5, 113, 57, 2, 268, 269, 5, 87, 44, 2, 269, 270, 5, 111, 56, 2, 270, 271, 5, 95, 48, 2, 271, 30, 3, 2, 2, 2, 272, 273, 5, 117, 59, 2, 273, 274, 5, 121, 61, 2, 274, 275, 5, 115, 58, 2, 275, 276, 5, 117, 59, 2, 276, 277, 5, 95, 48, 2, 277, 278, 5, 121, 61, 2, 278, 279, 5, 125, 63, 2, 279, 280, 5, 103, 52, 2, 280, 281, 5, 95, 48, 2, 281, 282, 5, 123, 62, 2, 282, 32, 3, 2, 2, 2, 283, 284, 5, 91, 46, 2, 284, 285, 5, 115, 58, 2, 285, 286, 5, 109, 55, 2, 286, 287, 5, 127, 64, 2, 287, 288, 5, 111, 56, 2, 288, 289, 5, 113, 57, 2, 289, 34, 3, 2, 2, 2, 290, 291, 5, 121, 61, 2, 291, 292, 5, 127, 64, 2, 292, 293, 5, 109, 55, 2, 293, 294, 5, 95, 48, 2, 294, 295, 5, 123, 62, 2, 295, 36, 3, 2, 2, 2, 296, 297, 5, 125, 63, 2, 297, 298, 5, 87, 44, 2, 298, 299, 5, 89, 45, 2, 299, 300, 5, 109, 55, 2, 300, 301, 5, 95, 48, 2, 301, 38, 3, 2, 2, 2, 302, 303, 5, 91, 46, 2, 303, 304, 5, 115, 58, 2, 304, 305, 5, 109, 55, 2, 305, 306, 5, 127, 64, 2, 306, 307, 5, 111, 56, 2, 307, 308, 5, 113, 57, 2, 308, 309, 5, 123, 62, 2, 309, 40, 3, 2, 2, 2, 310, 311, 5, 91, 46, 2, 311, 312, 5, 103, 52, 2, 312, 313, 5, 117, 59, 2, 313, 314, 5, 101, 51, 2, 314, 315, 5, 95, 48, 2, 315, 316, 5, 121, 61, 2, 316, 42, 3, 2, 2, 2, 317, 318, 5, 117, 59, 2, 318, 319, 5, 109, 55, 2, 319, 320, 5, 87, 44, 2, 320, 321, 5, 103, 52, 2, 321, 322, 5, 113, 57, 2, 322, 44, 3, 2, 2, 2, 323, 324, 5, 87, 44, 2, 324, 325, 5, 123, 62, 2, 325, 326, 5, 123, 62, 2, 326, 327, 5, 103, 52, 2, 327, 328, 5, 123, 62, 2, 328, 329, 5, 125, 63, 2, 329, 330, 5, 95, 48, 2, 330, 331, 5, 93, 47, 2, 331, 332, 5, 139, 70, 2, 332, 333, 5, 119, 60, 2, 333, 334, 5, 127, 64, 2, 334, 335, 5, 95, 48, 2, 335, 336, 5, 121, 61, 2, 336, 337, 5, 135, 68, 2, 337, 338, 5, 139, 70, 2, 338, 339, 5, 91, 46, 2, 339, 340, 5, 115, 58, 2, 340, 341, 5, 109, 55, 2, 341, 342, 5, 127, 64, 2, 342, 343, 5, 111, 56, 2, 343, 344, 5, 113, 57, 2, 344, 46, 3, 2, 2, 2, 345, 346, 5, 109, 55, 2, 346, 347, 5, 103, 52, 2, 347, 348, 5, 107, 54, 2, 348, 349, 5, 95, 48, 2, 349, 350, 5, 139, 70, 2, 350, 351, 5, 119, 60, 2, 351, 352, 5, 127, 64, 2, 352, 353, 5, 95, 48, 2, 353, 354, 5, 121, 61, 2, 354, 355, 5, 135, 68, 2, 355, 356, 5, 139, 70, 2, 356, 357, 5, 91, 46, 2, 357, 358, 5, 115, 58, 2, 358, 359, 5, 109, 55, 2, 359, 360, 5, 127, 64, 2, 360, 361, 5, 111, 56, 2, 361, 362, 5, 113, 57, 2, 362, 48, 3, 2, 2, 2, 363, 364, 5, 119, 60, 2, 364, 365, 5, 127, 64, 2, 365, 366, 5, 95, 48, 2, 366, 367, 5, 121, 61, 2, 367, 368, 5, 135, 68, 2, 368, 369, 5, 139, 70, 2, 369, 370, 5, 131, 66, 2, 370, 371, 5, 103, 52, 2, 371, 372, 5, 125, 63, 2, 372, 373, 5, 101, 51, 2, 373, 374, 5, 139, 70, 2, 374, 375, 5, 91, 46, 2, 375, 376, 5, 103, 52, 2, 376, 377, 5, 117, 59, 2, 377, 378, 5, 101, 51, 2, 378, 379, 5, 95, 48, 2, 379, 380, 5, 121, 61, 2, 380, 381, 5, 139, 70, 2, 381, 382, 5, 91, 46, 2, 382, 383, 5, 115, 58, 2, 383, 384, 5, 109, 55, 2, 384, 385, 5, 127, 64, 2, 385, 386, 5, 111, 56, 2, 386, 387, 5, 113, 57, 2, 387, 50, 3, 2, 2, 2, 388, 389, 5, 125, 63, 2, 389, 390, 5, 121, 61, 2, 390, 391, 5, 127, 64, 2, 391, 392, 5, 95, 48, 2, 392, 52, 3, 2, 2, 2, 393, 394, 5, 97, 49, 2, 394, 395, 5, 87, 44, 2, 395, 396, 5, 109, 55, 2, 396, 397, 5, 123, 62, 2, 397, 398, 5, 95, 48, 2, 398, 54, 3, 2, 2, 2, 399, 400, 5, 93, 47, 2, 400, 401, 5, 87, 44, 2, 401, 402, 5, 125, 63, 2, 402, 403, 5, 87, 44, 2, 403, 404, 5, 139, 70, 2, 404, 405, 5, 125, 63, 2, 405, 406, 5, 135, 68, 2, 406, 407, 5, 117, 59, 2, 407, 408, 5, 95, 48, 2, 408, 56, 3, 2, 2, 2, 409, 410, 5, 117, 59, 2, 410, 411, 5, 109, 55, 2, 411, 412, 5, 87, 44, 2, 412, 413, 5, 103, 52, 2, 413, 414, 5, 113, 57, 2, 414, 415, 5, 139, 70, 2, 415, 416, 5, 93, 47, 2, 416, 417, 5, 87, 44, 2, 417, 418, 5, 125, 63, 2, 418, 419, 5, 87, 44, 2, 419, 420, 5, 139, 70, 2, 420, 421, 5, 125, 63, 2, 421, 422, 5, 135, 68, 2, 422, 423, 5, 117, 59, 2, 423, 424, 5, 95, 48, 2, 424, 58, 3, 2, 2, 2, 425, 426, 5, 91, 46, 2, 426, 427, 5, 103, 52, 2, 427, 428, 5, 117, 59, 2, 428, 429, 5, 101, 51, 2, 429, 430, 5, 95, 48, 2, 430, 431, 5, 121, 61, 2, 431, 432, 5, 139, 70, 2, 432, 433, 5, 93, 47, 2, 433, 434, 5, 87, 44, 2, 434, 435, 5, 125, 63, 2, 435, 436, 5, 87, 44, 2, 436, 437, 5, 139, 70, 2, 437, 438, 5, 125, 63, 2, 438, 439, 5, 135, 68, 2, 439, 440, 5, 117, 59, 2, 440, 441, 5, 95, 48, 2, 441, 60, 3, 2, 2, 2, 442, 443, 5, 87, 44, 2, 443, 444, 5, 123, 62, 2, 444, 445, 5, 123, 62, 2, 445, 446, 5, 103, 52, 2, 446, 447, 5, 123, 62, 2, 447, 448, 5, 125, 63, 2, 448, 449, 5, 95, 48, 2, 449, 450, 5, 93, 47, 2, 450, 451, 5, 139, 70, 2, 451, 452, 5, 119, 60, 2, 452, 453, 5, 127, 64, 2, 453, 454, 5, 95, 48, 2, 454, 455, 5, 121, 61, 2, 455, 456, 5, 135, 68, 2, 456, 457, 5, 139, 70, 2, 457, 458, 5, 93, 47, 2, 458, 459, 5, 87, 44, 2, 459, 460, 5, 125, 63, 2, 460, 461, 5, 87, 44, 2, 461, 462, 5, 139, 70, 2, 462, 463, 5, 125, 63, 2, 463, 464, 5, 135, 68, 2, 464, 465, 5, 117, 59, 2, 465, 466, 5, 95, 48, 2, 466, 62, 3, 2, 2, 2, 467, 468, 5, 109, 55, 2, 468, 469, 5, 103, 52, 2, 469, 470, 5, 107, 54, 2, 470, 471, 5, 95, 48, 2, 471, 472, 5, 139, 70, 2, 472, 473, 5, 119, 60, 2, 473, 474, 5, 127, 64, 2, 474, 475, 5, 95, 48, 2, 475, 476, 5, 121, 61, 2, 476, 477, 5, 135, 68, 2, 477, 478, 5, 139, 70, 2, 478, 479, 5, 93, 47, 2, 479, 480, 5, 87, 44, 2, 480, 481, 5, 125, 63, 2, 481, 482, 5, 87, 44, 2, 482, 483, 5, 139, 70, 2, 483, 484, 5, 125, 63, 2, 484, 485, 5, 135, 68, 2, 485, 486, 5, 117, 59, 2, 486, 487, 5, 95, 48, 2, 487, 64, 3, 2, 2, 2, 488, 489, 5, 103, 52, 2, 489, 490, 5, 97, 49, 2, 490, 66, 3, 2, 2, 2, 491, 492, 5, 95, 48, 2, 492, 493, 5, 133, 67, 2, 493, 494, 5, 103, 52, 2, 494, 495, 5, 123, 62, 2, 495, 496, 5, 125, 63, 2, 496, 497, 5, 123, 62, 2, 497, 68, 3, 2, 2, 2, 498, 499, 5, 91, 46, 2, 499, 500, 5, 115, 58, 2, 500, 501, 5, 127, 64, 2, 501, 502, 5, 113, 57, 2, 502, 503, 5, 125, 63, 2, 503, 70, 3, 2, 2, 2, 504, 505, 5, 111, 56, 2, 505, 506, 5, 93, 47, 2, 506, 507, 9, 3, 2, 2, 507, 72, 3, 2, 2, 2, 508, 509, 5, 87, 44, 2, 509, 510, 5, 95, 48, 2, 510, 511, 5, 123, 62, 2, 511, 74, 3, 2, 2, 2, 512, 513, 5, 121, 61, 2, 513, 514, 5, 91, 46, 2, 514, 515, 9, 4, 2, 2, 515, 76, 3, 2, 2, 2, 516, 517, 5, 123, 62, 2, 517, 518, 5, 111, 56, 2, 518, 519, 9, 5, 2, 2, 519, 78, 3, 2, 2, 2, 520, 521, 5, 123, 62, 2, 521, 522, 5, 111, 56, 2, 522, 523, 9, 4, 2, 2, 523, 80, 3, 2, 2, 2, 524, 525, 5, 91, 46, 2, 525, 526, 5, 101, 51, 2, 526, 527, 5, 87, 44, 2, 527, 528, 5, 121, 61, 2, 528, 529, 5, 139, 70, 2, 529, 530, 5, 93, 47, 2, 530, 531, 5, 103, 52, 2, 531, 532, 5, 99, 50, 2, 532, 533, 5, 95, 48, 2, 533, 534, 5, 123, 62, 2, 534, 535, 5, 125, 63, 2, 535, 536, 5, 139, 70, 2, 536, 537, 5, 109, 55, 2, 537, 538, 5, 103, 52, 2, 538, 539, 5, 107, 54, 2, 539, 540, 5, 95, 48, 2, 540, 82, 3, 2, 2, 2, 541, 542, 5, 113, 57, 2, 542, 543, 5, 115, 58, 2, 543, 544, 5, 125, 63, 2, 544, 84, 3, 2, 2, 2, 545, 546, 7, 70, 2, 2, 546, 547, 7, 81, 2, 2, 547, 548, 7, 34, 2, 2, 548, 549, 7, 80, 2, 2, 549, 550, 7, 81, 2, 2, 550, 551, 7, 86, 2, 2, 551, 552, 7, 34, 2, 2, 552, 553, 7, 79, 2, 2, 553, 554, 7, 67, 2, 2, 554, 555, 7, 86, 2, 2, 555, 556, 7, 69, 2, 2, 556, 557, 7, 74, 2, 2, 557, 558, 7, 34, 2, 2, 558, 559, 7, 67, 2, 2, 559, 560, 7, 80, 2, 2, 560, 561, 7, 91, 2, 2, 561, 562, 7, 34, 2, 2, 562, 563, 7, 86, 2, 2, 563, 564, 7, 74, 2, 2, 564, 565, 7, 75, 2, 2, 565, 566, 7, 80, 2, 2, 566, 567, 7, 73, 2, 2, 567, 568, 7, 46, 2, 2, 568, 569, 7, 34, 2, 2, 569, 570, 7, 76, 2, 2, 570, 571, 7, 87, 2, 2, 571, 572, 7, 85, 2, 2, 572, 573, 7, 86, 2, 2, 573, 574, 7, 34, 2, 2, 574, 575, 7, 72, 2, 2, 575, 576, 7, 81, 2, 2, 576, 577, 7, 84, 2, 2, 577, 578, 7, 34, 2, 2, 578, 579, 7, 73, 2, 2, 579, 580, 7, 71, 2, 2, 580, 581, 7, 80, 2, 2, 581, 582, 7, 71, 2, 2, 582, 583, 7, 84, 2, 2, 583, 584, 7, 67, 2, 2, 584, 585, 7, 86, 2, 2, 585, 586, 7, 81, 2, 2, 586, 587, 7, 84, 2, 2, 587, 86, 3, 2, 2, 2, 588, 589, 9, 6, 2, 2, 589, 88, 3, 2, 2, 2, 590, 591, 9, 7, 2, 2, 591, 90, 3, 2, 2, 2, 592, 593, 9, 8, 2, 2, 593, 92, 3, 2, 2, 2, 594, 595, 9, 9, 2, 2, 595, 94, 3, 2, 2, 2, 596, 597, 9, 10, 2, 2, 597, 96, 3, 2, 2, 2, 598, 599, 9, 11, 2, 2, 599, 98, 3, 2, 2, 2, 600, 601, 9, 12, 2, 2, 601, 100, 3, 2, 2, 2, 602, 603, 9, 13, 2, 2, 603, 102, 3, 2, 2, 2, 604, 605, 9, 14, 2, 2, 605, 104, 3, 2, 2, 2, 606, 607, 9, 15, 2, 2, 607, 106, 3, 2, 2, 2, 608, 609, 9, 16, 2, 2, 609, 108, 3, 2, 2, 2, 610, 611, 9, 17, 2, 2, 611, 110, 3, 2, 2, 2, 612, 613, 9, 18, 2, 2, 613, 112, 3, 2, 2, 2, 614, 615, 9, 19, 2, 2, 615, 114, 3, 2, 2, 2, 616, 617, 9, 20, 2, 2, 617, 116, 3, 2, 2, 2, 618, 619, 9, 21, 2, 2, 619, 118, 3, 2, 2, 2, 620, 621, 9, 22, 2, 2, 621, 120, 3, 2, 2, 2, 622, 623, 9, 23, 2, 2, 623, 122, 3, 2, 2, 2, 624, 625, 9, 24, 2, 2, 625, 124, 3, 2, 2, 2, 626, 627, 9, 25, 2, 2, 627, 126, 3, 2, 2, 2, 628, 629, 9, 26, 2, 2, 629, 128, 3, 2, 2, 2, 630, 631, 9, 27, 2, 2, 631, 130, 3, 2, 2, 2, 632, 633, 9, 28, 2, 2, 633, 132, 3, 2, 2, 2, 634, 635, 9, 29, 2, 2, 635, 134, 3, 2, 2, 2, 636, 637, 9, 30, 2, 2, 637, 136, 3, 2, 2, 2, 638, 639, 9, 31, 2, 2, 639, 138, 3, 2, 2, 2, 640, 641, 7, 97, 2, 2, 641, 140, 3, 2, 2, 2, 4, 2, 144, 3, 8, 2, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Keyword.java b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Keyword.java deleted file mode 100644 index 6d78278f..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Keyword.java +++ /dev/null @@ -1,342 +0,0 @@ -// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/encrypt/Keyword.g4 by ANTLR 4.9.2 -import org.antlr.v4.runtime.Lexer; -import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.TokenStream; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.misc.*; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class Keyword extends Lexer { - static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - WS=1, CREATE=2, ALTER=3, DROP=4, SHOW=5, RESOURCE=6, RULE=7, FROM=8, ENCRYPT=9, - TYPE=10, ENCRYPT_ALGORITHM=11, ASSISTED_QUERY_ALGORITHM=12, LIKE_QUERY_ALGORITHM=13, - NAME=14, PROPERTIES=15, COLUMN=16, RULES=17, TABLE=18, COLUMNS=19, CIPHER=20, - PLAIN=21, ASSISTED_QUERY_COLUMN=22, LIKE_QUERY_COLUMN=23, QUERY_WITH_CIPHER_COLUMN=24, - TRUE=25, FALSE=26, DATA_TYPE=27, PLAIN_DATA_TYPE=28, CIPHER_DATA_TYPE=29, - ASSISTED_QUERY_DATA_TYPE=30, LIKE_QUERY_DATA_TYPE=31, IF=32, EXISTS=33, - COUNT=34, MD5=35, AES=36, RC4=37, SM3=38, SM4=39, CHAR_DIGEST_LIKE=40, - NOT=41, FOR_GENERATOR=42; - public static String[] channelNames = { - "DEFAULT_TOKEN_CHANNEL", "HIDDEN" - }; - - public static String[] modeNames = { - "DEFAULT_MODE" - }; - - private static String[] makeRuleNames() { - return new String[] { - "WS", "CREATE", "ALTER", "DROP", "SHOW", "RESOURCE", "RULE", "FROM", - "ENCRYPT", "TYPE", "ENCRYPT_ALGORITHM", "ASSISTED_QUERY_ALGORITHM", "LIKE_QUERY_ALGORITHM", - "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", "COLUMNS", "CIPHER", - "PLAIN", "ASSISTED_QUERY_COLUMN", "LIKE_QUERY_COLUMN", "QUERY_WITH_CIPHER_COLUMN", - "TRUE", "FALSE", "DATA_TYPE", "PLAIN_DATA_TYPE", "CIPHER_DATA_TYPE", - "ASSISTED_QUERY_DATA_TYPE", "LIKE_QUERY_DATA_TYPE", "IF", "EXISTS", "COUNT", - "MD5", "AES", "RC4", "SM3", "SM4", "CHAR_DIGEST_LIKE", "NOT", "FOR_GENERATOR", - "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", - "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "UL_" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "WS", "CREATE", "ALTER", "DROP", "SHOW", "RESOURCE", "RULE", "FROM", - "ENCRYPT", "TYPE", "ENCRYPT_ALGORITHM", "ASSISTED_QUERY_ALGORITHM", "LIKE_QUERY_ALGORITHM", - "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", "COLUMNS", "CIPHER", - "PLAIN", "ASSISTED_QUERY_COLUMN", "LIKE_QUERY_COLUMN", "QUERY_WITH_CIPHER_COLUMN", - "TRUE", "FALSE", "DATA_TYPE", "PLAIN_DATA_TYPE", "CIPHER_DATA_TYPE", - "ASSISTED_QUERY_DATA_TYPE", "LIKE_QUERY_DATA_TYPE", "IF", "EXISTS", "COUNT", - "MD5", "AES", "RC4", "SM3", "SM4", "CHAR_DIGEST_LIKE", "NOT", "FOR_GENERATOR" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - - public Keyword(CharStream input) { - super(input); - _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - @Override - public String getGrammarFileName() { return "Keyword.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public String[] getChannelNames() { return channelNames; } - - @Override - public String[] getModeNames() { return modeNames; } - - @Override - public ATN getATN() { return _ATN; } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2,\u0282\b\1\4\2\t"+ - "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ - "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ - "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ - "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ - "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ - ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ - "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ - "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\3\2\6\2\u008f\n"+ - "\2\r\2\16\2\u0090\3\2\3\2\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\4\3\4\3\4\3\4"+ - "\3\4\3\4\3\5\3\5\3\5\3\5\3\5\3\6\3\6\3\6\3\6\3\6\3\7\3\7\3\7\3\7\3\7\3"+ - "\7\3\7\3\7\3\7\3\b\3\b\3\b\3\b\3\b\3\t\3\t\3\t\3\t\3\t\3\n\3\n\3\n\3\n"+ - "\3\n\3\n\3\n\3\n\3\13\3\13\3\13\3\13\3\13\3\f\3\f\3\f\3\f\3\f\3\f\3\f"+ - "\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\r\3\r\3\r\3\r\3\r\3\r\3"+ - "\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r"+ - "\3\r\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16"+ - "\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\17\3\17\3\17\3\17\3\17\3\20"+ - "\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\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\22\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\24\3\25\3\25\3\25\3\25\3\25"+ - "\3\25\3\25\3\26\3\26\3\26\3\26\3\26\3\26\3\27\3\27\3\27\3\27\3\27\3\27"+ - "\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27"+ - "\3\27\3\27\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30"+ - "\3\30\3\30\3\30\3\30\3\30\3\30\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31"+ - "\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31"+ - "\3\31\3\31\3\31\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\34\3\34\3\34\3\34\3\34\3\34\3\35\3\35\3\35\3\35"+ - "\3\35\3\35\3\35\3\35\3\35\3\35\3\35\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\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\37\3\37\3\37\3\37\3\37\3\37\3\37"+ - "\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3 \3 \3 "+ - "\3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3!\3!\3!\3\"\3"+ - "\"\3\"\3\"\3\"\3\"\3\"\3#\3#\3#\3#\3#\3#\3$\3$\3$\3$\3%\3%\3%\3%\3&\3"+ - "&\3&\3&\3\'\3\'\3\'\3\'\3(\3(\3(\3(\3)\3)\3)\3)\3)\3)\3)\3)\3)\3)\3)\3"+ - ")\3)\3)\3)\3)\3)\3*\3*\3*\3*\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3"+ - "+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3"+ - "+\3+\3+\3+\3+\3+\3+\3,\3,\3-\3-\3.\3.\3/\3/\3\60\3\60\3\61\3\61\3\62\3"+ - "\62\3\63\3\63\3\64\3\64\3\65\3\65\3\66\3\66\3\67\3\67\38\38\39\39\3:\3"+ - ":\3;\3;\3<\3<\3=\3=\3>\3>\3?\3?\3@\3@\3A\3A\3B\3B\3C\3C\3D\3D\3E\3E\3"+ - "F\3F\2\2G\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33"+ - "\17\35\20\37\21!\22#\23%\24\'\25)\26+\27-\30/\31\61\32\63\33\65\34\67"+ - "\359\36;\37= ?!A\"C#E$G%I&K\'M(O)Q*S+U,W\2Y\2[\2]\2_\2a\2c\2e\2g\2i\2"+ - "k\2m\2o\2q\2s\2u\2w\2y\2{\2}\2\177\2\u0081\2\u0083\2\u0085\2\u0087\2\u0089"+ - "\2\u008b\2\3\2 \5\2\13\f\17\17\"\"\3\2\67\67\3\2\66\66\3\2\65\65\4\2C"+ - "Ccc\4\2DDdd\4\2EEee\4\2FFff\4\2GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4"+ - "\2LLll\4\2MMmm\4\2NNnn\4\2OOoo\4\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4\2TTt"+ - "t\4\2UUuu\4\2VVvv\4\2WWww\4\2XXxx\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\||\2"+ - "\u0267\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2"+ - "\r\3\2\2\2\2\17\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\31\3\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2"+ - "\2#\3\2\2\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2"+ - "/\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\29\3\2\2"+ - "\2\2;\3\2\2\2\2=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2"+ - "G\3\2\2\2\2I\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3"+ - "\2\2\2\2U\3\2\2\2\3\u008e\3\2\2\2\5\u0094\3\2\2\2\7\u009b\3\2\2\2\t\u00a1"+ - "\3\2\2\2\13\u00a6\3\2\2\2\r\u00ab\3\2\2\2\17\u00b4\3\2\2\2\21\u00b9\3"+ - "\2\2\2\23\u00be\3\2\2\2\25\u00c6\3\2\2\2\27\u00cb\3\2\2\2\31\u00dd\3\2"+ - "\2\2\33\u00f6\3\2\2\2\35\u010b\3\2\2\2\37\u0110\3\2\2\2!\u011b\3\2\2\2"+ - "#\u0122\3\2\2\2%\u0128\3\2\2\2\'\u012e\3\2\2\2)\u0136\3\2\2\2+\u013d\3"+ - "\2\2\2-\u0143\3\2\2\2/\u0159\3\2\2\2\61\u016b\3\2\2\2\63\u0184\3\2\2\2"+ - "\65\u0189\3\2\2\2\67\u018f\3\2\2\29\u0199\3\2\2\2;\u01a9\3\2\2\2=\u01ba"+ - "\3\2\2\2?\u01d3\3\2\2\2A\u01e8\3\2\2\2C\u01eb\3\2\2\2E\u01f2\3\2\2\2G"+ - "\u01f8\3\2\2\2I\u01fc\3\2\2\2K\u0200\3\2\2\2M\u0204\3\2\2\2O\u0208\3\2"+ - "\2\2Q\u020c\3\2\2\2S\u021d\3\2\2\2U\u0221\3\2\2\2W\u024c\3\2\2\2Y\u024e"+ - "\3\2\2\2[\u0250\3\2\2\2]\u0252\3\2\2\2_\u0254\3\2\2\2a\u0256\3\2\2\2c"+ - "\u0258\3\2\2\2e\u025a\3\2\2\2g\u025c\3\2\2\2i\u025e\3\2\2\2k\u0260\3\2"+ - "\2\2m\u0262\3\2\2\2o\u0264\3\2\2\2q\u0266\3\2\2\2s\u0268\3\2\2\2u\u026a"+ - "\3\2\2\2w\u026c\3\2\2\2y\u026e\3\2\2\2{\u0270\3\2\2\2}\u0272\3\2\2\2\177"+ - "\u0274\3\2\2\2\u0081\u0276\3\2\2\2\u0083\u0278\3\2\2\2\u0085\u027a\3\2"+ - "\2\2\u0087\u027c\3\2\2\2\u0089\u027e\3\2\2\2\u008b\u0280\3\2\2\2\u008d"+ - "\u008f\t\2\2\2\u008e\u008d\3\2\2\2\u008f\u0090\3\2\2\2\u0090\u008e\3\2"+ - "\2\2\u0090\u0091\3\2\2\2\u0091\u0092\3\2\2\2\u0092\u0093\b\2\2\2\u0093"+ - "\4\3\2\2\2\u0094\u0095\5[.\2\u0095\u0096\5y=\2\u0096\u0097\5_\60\2\u0097"+ - "\u0098\5W,\2\u0098\u0099\5}?\2\u0099\u009a\5_\60\2\u009a\6\3\2\2\2\u009b"+ - "\u009c\5W,\2\u009c\u009d\5m\67\2\u009d\u009e\5}?\2\u009e\u009f\5_\60\2"+ - "\u009f\u00a0\5y=\2\u00a0\b\3\2\2\2\u00a1\u00a2\5]/\2\u00a2\u00a3\5y=\2"+ - "\u00a3\u00a4\5s:\2\u00a4\u00a5\5u;\2\u00a5\n\3\2\2\2\u00a6\u00a7\5{>\2"+ - "\u00a7\u00a8\5e\63\2\u00a8\u00a9\5s:\2\u00a9\u00aa\5\u0083B\2\u00aa\f"+ - "\3\2\2\2\u00ab\u00ac\5y=\2\u00ac\u00ad\5_\60\2\u00ad\u00ae\5{>\2\u00ae"+ - "\u00af\5s:\2\u00af\u00b0\5\177@\2\u00b0\u00b1\5y=\2\u00b1\u00b2\5[.\2"+ - "\u00b2\u00b3\5_\60\2\u00b3\16\3\2\2\2\u00b4\u00b5\5y=\2\u00b5\u00b6\5"+ - "\177@\2\u00b6\u00b7\5m\67\2\u00b7\u00b8\5_\60\2\u00b8\20\3\2\2\2\u00b9"+ - "\u00ba\5a\61\2\u00ba\u00bb\5y=\2\u00bb\u00bc\5s:\2\u00bc\u00bd\5o8\2\u00bd"+ - "\22\3\2\2\2\u00be\u00bf\5_\60\2\u00bf\u00c0\5q9\2\u00c0\u00c1\5[.\2\u00c1"+ - "\u00c2\5y=\2\u00c2\u00c3\5\u0087D\2\u00c3\u00c4\5u;\2\u00c4\u00c5\5}?"+ - "\2\u00c5\24\3\2\2\2\u00c6\u00c7\5}?\2\u00c7\u00c8\5\u0087D\2\u00c8\u00c9"+ - "\5u;\2\u00c9\u00ca\5_\60\2\u00ca\26\3\2\2\2\u00cb\u00cc\5_\60\2\u00cc"+ - "\u00cd\5q9\2\u00cd\u00ce\5[.\2\u00ce\u00cf\5y=\2\u00cf\u00d0\5\u0087D"+ - "\2\u00d0\u00d1\5u;\2\u00d1\u00d2\5}?\2\u00d2\u00d3\5\u008bF\2\u00d3\u00d4"+ - "\5W,\2\u00d4\u00d5\5m\67\2\u00d5\u00d6\5c\62\2\u00d6\u00d7\5s:\2\u00d7"+ - "\u00d8\5y=\2\u00d8\u00d9\5g\64\2\u00d9\u00da\5}?\2\u00da\u00db\5e\63\2"+ - "\u00db\u00dc\5o8\2\u00dc\30\3\2\2\2\u00dd\u00de\5W,\2\u00de\u00df\5{>"+ - "\2\u00df\u00e0\5{>\2\u00e0\u00e1\5g\64\2\u00e1\u00e2\5{>\2\u00e2\u00e3"+ - "\5}?\2\u00e3\u00e4\5_\60\2\u00e4\u00e5\5]/\2\u00e5\u00e6\5\u008bF\2\u00e6"+ - "\u00e7\5w<\2\u00e7\u00e8\5\177@\2\u00e8\u00e9\5_\60\2\u00e9\u00ea\5y="+ - "\2\u00ea\u00eb\5\u0087D\2\u00eb\u00ec\5\u008bF\2\u00ec\u00ed\5W,\2\u00ed"+ - "\u00ee\5m\67\2\u00ee\u00ef\5c\62\2\u00ef\u00f0\5s:\2\u00f0\u00f1\5y=\2"+ - "\u00f1\u00f2\5g\64\2\u00f2\u00f3\5}?\2\u00f3\u00f4\5e\63\2\u00f4\u00f5"+ - "\5o8\2\u00f5\32\3\2\2\2\u00f6\u00f7\5m\67\2\u00f7\u00f8\5g\64\2\u00f8"+ - "\u00f9\5k\66\2\u00f9\u00fa\5_\60\2\u00fa\u00fb\5\u008bF\2\u00fb\u00fc"+ - "\5w<\2\u00fc\u00fd\5\177@\2\u00fd\u00fe\5_\60\2\u00fe\u00ff\5y=\2\u00ff"+ - "\u0100\5\u0087D\2\u0100\u0101\5\u008bF\2\u0101\u0102\5W,\2\u0102\u0103"+ - "\5m\67\2\u0103\u0104\5c\62\2\u0104\u0105\5s:\2\u0105\u0106\5y=\2\u0106"+ - "\u0107\5g\64\2\u0107\u0108\5}?\2\u0108\u0109\5e\63\2\u0109\u010a\5o8\2"+ - "\u010a\34\3\2\2\2\u010b\u010c\5q9\2\u010c\u010d\5W,\2\u010d\u010e\5o8"+ - "\2\u010e\u010f\5_\60\2\u010f\36\3\2\2\2\u0110\u0111\5u;\2\u0111\u0112"+ - "\5y=\2\u0112\u0113\5s:\2\u0113\u0114\5u;\2\u0114\u0115\5_\60\2\u0115\u0116"+ - "\5y=\2\u0116\u0117\5}?\2\u0117\u0118\5g\64\2\u0118\u0119\5_\60\2\u0119"+ - "\u011a\5{>\2\u011a \3\2\2\2\u011b\u011c\5[.\2\u011c\u011d\5s:\2\u011d"+ - "\u011e\5m\67\2\u011e\u011f\5\177@\2\u011f\u0120\5o8\2\u0120\u0121\5q9"+ - "\2\u0121\"\3\2\2\2\u0122\u0123\5y=\2\u0123\u0124\5\177@\2\u0124\u0125"+ - "\5m\67\2\u0125\u0126\5_\60\2\u0126\u0127\5{>\2\u0127$\3\2\2\2\u0128\u0129"+ - "\5}?\2\u0129\u012a\5W,\2\u012a\u012b\5Y-\2\u012b\u012c\5m\67\2\u012c\u012d"+ - "\5_\60\2\u012d&\3\2\2\2\u012e\u012f\5[.\2\u012f\u0130\5s:\2\u0130\u0131"+ - "\5m\67\2\u0131\u0132\5\177@\2\u0132\u0133\5o8\2\u0133\u0134\5q9\2\u0134"+ - "\u0135\5{>\2\u0135(\3\2\2\2\u0136\u0137\5[.\2\u0137\u0138\5g\64\2\u0138"+ - "\u0139\5u;\2\u0139\u013a\5e\63\2\u013a\u013b\5_\60\2\u013b\u013c\5y=\2"+ - "\u013c*\3\2\2\2\u013d\u013e\5u;\2\u013e\u013f\5m\67\2\u013f\u0140\5W,"+ - "\2\u0140\u0141\5g\64\2\u0141\u0142\5q9\2\u0142,\3\2\2\2\u0143\u0144\5"+ - "W,\2\u0144\u0145\5{>\2\u0145\u0146\5{>\2\u0146\u0147\5g\64\2\u0147\u0148"+ - "\5{>\2\u0148\u0149\5}?\2\u0149\u014a\5_\60\2\u014a\u014b\5]/\2\u014b\u014c"+ - "\5\u008bF\2\u014c\u014d\5w<\2\u014d\u014e\5\177@\2\u014e\u014f\5_\60\2"+ - "\u014f\u0150\5y=\2\u0150\u0151\5\u0087D\2\u0151\u0152\5\u008bF\2\u0152"+ - "\u0153\5[.\2\u0153\u0154\5s:\2\u0154\u0155\5m\67\2\u0155\u0156\5\177@"+ - "\2\u0156\u0157\5o8\2\u0157\u0158\5q9\2\u0158.\3\2\2\2\u0159\u015a\5m\67"+ - "\2\u015a\u015b\5g\64\2\u015b\u015c\5k\66\2\u015c\u015d\5_\60\2\u015d\u015e"+ - "\5\u008bF\2\u015e\u015f\5w<\2\u015f\u0160\5\177@\2\u0160\u0161\5_\60\2"+ - "\u0161\u0162\5y=\2\u0162\u0163\5\u0087D\2\u0163\u0164\5\u008bF\2\u0164"+ - "\u0165\5[.\2\u0165\u0166\5s:\2\u0166\u0167\5m\67\2\u0167\u0168\5\177@"+ - "\2\u0168\u0169\5o8\2\u0169\u016a\5q9\2\u016a\60\3\2\2\2\u016b\u016c\5"+ - "w<\2\u016c\u016d\5\177@\2\u016d\u016e\5_\60\2\u016e\u016f\5y=\2\u016f"+ - "\u0170\5\u0087D\2\u0170\u0171\5\u008bF\2\u0171\u0172\5\u0083B\2\u0172"+ - "\u0173\5g\64\2\u0173\u0174\5}?\2\u0174\u0175\5e\63\2\u0175\u0176\5\u008b"+ - "F\2\u0176\u0177\5[.\2\u0177\u0178\5g\64\2\u0178\u0179\5u;\2\u0179\u017a"+ - "\5e\63\2\u017a\u017b\5_\60\2\u017b\u017c\5y=\2\u017c\u017d\5\u008bF\2"+ - "\u017d\u017e\5[.\2\u017e\u017f\5s:\2\u017f\u0180\5m\67\2\u0180\u0181\5"+ - "\177@\2\u0181\u0182\5o8\2\u0182\u0183\5q9\2\u0183\62\3\2\2\2\u0184\u0185"+ - "\5}?\2\u0185\u0186\5y=\2\u0186\u0187\5\177@\2\u0187\u0188\5_\60\2\u0188"+ - "\64\3\2\2\2\u0189\u018a\5a\61\2\u018a\u018b\5W,\2\u018b\u018c\5m\67\2"+ - "\u018c\u018d\5{>\2\u018d\u018e\5_\60\2\u018e\66\3\2\2\2\u018f\u0190\5"+ - "]/\2\u0190\u0191\5W,\2\u0191\u0192\5}?\2\u0192\u0193\5W,\2\u0193\u0194"+ - "\5\u008bF\2\u0194\u0195\5}?\2\u0195\u0196\5\u0087D\2\u0196\u0197\5u;\2"+ - "\u0197\u0198\5_\60\2\u01988\3\2\2\2\u0199\u019a\5u;\2\u019a\u019b\5m\67"+ - "\2\u019b\u019c\5W,\2\u019c\u019d\5g\64\2\u019d\u019e\5q9\2\u019e\u019f"+ - "\5\u008bF\2\u019f\u01a0\5]/\2\u01a0\u01a1\5W,\2\u01a1\u01a2\5}?\2\u01a2"+ - "\u01a3\5W,\2\u01a3\u01a4\5\u008bF\2\u01a4\u01a5\5}?\2\u01a5\u01a6\5\u0087"+ - "D\2\u01a6\u01a7\5u;\2\u01a7\u01a8\5_\60\2\u01a8:\3\2\2\2\u01a9\u01aa\5"+ - "[.\2\u01aa\u01ab\5g\64\2\u01ab\u01ac\5u;\2\u01ac\u01ad\5e\63\2\u01ad\u01ae"+ - "\5_\60\2\u01ae\u01af\5y=\2\u01af\u01b0\5\u008bF\2\u01b0\u01b1\5]/\2\u01b1"+ - "\u01b2\5W,\2\u01b2\u01b3\5}?\2\u01b3\u01b4\5W,\2\u01b4\u01b5\5\u008bF"+ - "\2\u01b5\u01b6\5}?\2\u01b6\u01b7\5\u0087D\2\u01b7\u01b8\5u;\2\u01b8\u01b9"+ - "\5_\60\2\u01b9<\3\2\2\2\u01ba\u01bb\5W,\2\u01bb\u01bc\5{>\2\u01bc\u01bd"+ - "\5{>\2\u01bd\u01be\5g\64\2\u01be\u01bf\5{>\2\u01bf\u01c0\5}?\2\u01c0\u01c1"+ - "\5_\60\2\u01c1\u01c2\5]/\2\u01c2\u01c3\5\u008bF\2\u01c3\u01c4\5w<\2\u01c4"+ - "\u01c5\5\177@\2\u01c5\u01c6\5_\60\2\u01c6\u01c7\5y=\2\u01c7\u01c8\5\u0087"+ - "D\2\u01c8\u01c9\5\u008bF\2\u01c9\u01ca\5]/\2\u01ca\u01cb\5W,\2\u01cb\u01cc"+ - "\5}?\2\u01cc\u01cd\5W,\2\u01cd\u01ce\5\u008bF\2\u01ce\u01cf\5}?\2\u01cf"+ - "\u01d0\5\u0087D\2\u01d0\u01d1\5u;\2\u01d1\u01d2\5_\60\2\u01d2>\3\2\2\2"+ - "\u01d3\u01d4\5m\67\2\u01d4\u01d5\5g\64\2\u01d5\u01d6\5k\66\2\u01d6\u01d7"+ - "\5_\60\2\u01d7\u01d8\5\u008bF\2\u01d8\u01d9\5w<\2\u01d9\u01da\5\177@\2"+ - "\u01da\u01db\5_\60\2\u01db\u01dc\5y=\2\u01dc\u01dd\5\u0087D\2\u01dd\u01de"+ - "\5\u008bF\2\u01de\u01df\5]/\2\u01df\u01e0\5W,\2\u01e0\u01e1\5}?\2\u01e1"+ - "\u01e2\5W,\2\u01e2\u01e3\5\u008bF\2\u01e3\u01e4\5}?\2\u01e4\u01e5\5\u0087"+ - "D\2\u01e5\u01e6\5u;\2\u01e6\u01e7\5_\60\2\u01e7@\3\2\2\2\u01e8\u01e9\5"+ - "g\64\2\u01e9\u01ea\5a\61\2\u01eaB\3\2\2\2\u01eb\u01ec\5_\60\2\u01ec\u01ed"+ - "\5\u0085C\2\u01ed\u01ee\5g\64\2\u01ee\u01ef\5{>\2\u01ef\u01f0\5}?\2\u01f0"+ - "\u01f1\5{>\2\u01f1D\3\2\2\2\u01f2\u01f3\5[.\2\u01f3\u01f4\5s:\2\u01f4"+ - "\u01f5\5\177@\2\u01f5\u01f6\5q9\2\u01f6\u01f7\5}?\2\u01f7F\3\2\2\2\u01f8"+ - "\u01f9\5o8\2\u01f9\u01fa\5]/\2\u01fa\u01fb\t\3\2\2\u01fbH\3\2\2\2\u01fc"+ - "\u01fd\5W,\2\u01fd\u01fe\5_\60\2\u01fe\u01ff\5{>\2\u01ffJ\3\2\2\2\u0200"+ - "\u0201\5y=\2\u0201\u0202\5[.\2\u0202\u0203\t\4\2\2\u0203L\3\2\2\2\u0204"+ - "\u0205\5{>\2\u0205\u0206\5o8\2\u0206\u0207\t\5\2\2\u0207N\3\2\2\2\u0208"+ - "\u0209\5{>\2\u0209\u020a\5o8\2\u020a\u020b\t\4\2\2\u020bP\3\2\2\2\u020c"+ - "\u020d\5[.\2\u020d\u020e\5e\63\2\u020e\u020f\5W,\2\u020f\u0210\5y=\2\u0210"+ - "\u0211\5\u008bF\2\u0211\u0212\5]/\2\u0212\u0213\5g\64\2\u0213\u0214\5"+ - "c\62\2\u0214\u0215\5_\60\2\u0215\u0216\5{>\2\u0216\u0217\5}?\2\u0217\u0218"+ - "\5\u008bF\2\u0218\u0219\5m\67\2\u0219\u021a\5g\64\2\u021a\u021b\5k\66"+ - "\2\u021b\u021c\5_\60\2\u021cR\3\2\2\2\u021d\u021e\5q9\2\u021e\u021f\5"+ - "s:\2\u021f\u0220\5}?\2\u0220T\3\2\2\2\u0221\u0222\7F\2\2\u0222\u0223\7"+ - "Q\2\2\u0223\u0224\7\"\2\2\u0224\u0225\7P\2\2\u0225\u0226\7Q\2\2\u0226"+ - "\u0227\7V\2\2\u0227\u0228\7\"\2\2\u0228\u0229\7O\2\2\u0229\u022a\7C\2"+ - "\2\u022a\u022b\7V\2\2\u022b\u022c\7E\2\2\u022c\u022d\7J\2\2\u022d\u022e"+ - "\7\"\2\2\u022e\u022f\7C\2\2\u022f\u0230\7P\2\2\u0230\u0231\7[\2\2\u0231"+ - "\u0232\7\"\2\2\u0232\u0233\7V\2\2\u0233\u0234\7J\2\2\u0234\u0235\7K\2"+ - "\2\u0235\u0236\7P\2\2\u0236\u0237\7I\2\2\u0237\u0238\7.\2\2\u0238\u0239"+ - "\7\"\2\2\u0239\u023a\7L\2\2\u023a\u023b\7W\2\2\u023b\u023c\7U\2\2\u023c"+ - "\u023d\7V\2\2\u023d\u023e\7\"\2\2\u023e\u023f\7H\2\2\u023f\u0240\7Q\2"+ - "\2\u0240\u0241\7T\2\2\u0241\u0242\7\"\2\2\u0242\u0243\7I\2\2\u0243\u0244"+ - "\7G\2\2\u0244\u0245\7P\2\2\u0245\u0246\7G\2\2\u0246\u0247\7T\2\2\u0247"+ - "\u0248\7C\2\2\u0248\u0249\7V\2\2\u0249\u024a\7Q\2\2\u024a\u024b\7T\2\2"+ - "\u024bV\3\2\2\2\u024c\u024d\t\6\2\2\u024dX\3\2\2\2\u024e\u024f\t\7\2\2"+ - "\u024fZ\3\2\2\2\u0250\u0251\t\b\2\2\u0251\\\3\2\2\2\u0252\u0253\t\t\2"+ - "\2\u0253^\3\2\2\2\u0254\u0255\t\n\2\2\u0255`\3\2\2\2\u0256\u0257\t\13"+ - "\2\2\u0257b\3\2\2\2\u0258\u0259\t\f\2\2\u0259d\3\2\2\2\u025a\u025b\t\r"+ - "\2\2\u025bf\3\2\2\2\u025c\u025d\t\16\2\2\u025dh\3\2\2\2\u025e\u025f\t"+ - "\17\2\2\u025fj\3\2\2\2\u0260\u0261\t\20\2\2\u0261l\3\2\2\2\u0262\u0263"+ - "\t\21\2\2\u0263n\3\2\2\2\u0264\u0265\t\22\2\2\u0265p\3\2\2\2\u0266\u0267"+ - "\t\23\2\2\u0267r\3\2\2\2\u0268\u0269\t\24\2\2\u0269t\3\2\2\2\u026a\u026b"+ - "\t\25\2\2\u026bv\3\2\2\2\u026c\u026d\t\26\2\2\u026dx\3\2\2\2\u026e\u026f"+ - "\t\27\2\2\u026fz\3\2\2\2\u0270\u0271\t\30\2\2\u0271|\3\2\2\2\u0272\u0273"+ - "\t\31\2\2\u0273~\3\2\2\2\u0274\u0275\t\32\2\2\u0275\u0080\3\2\2\2\u0276"+ - "\u0277\t\33\2\2\u0277\u0082\3\2\2\2\u0278\u0279\t\34\2\2\u0279\u0084\3"+ - "\2\2\2\u027a\u027b\t\35\2\2\u027b\u0086\3\2\2\2\u027c\u027d\t\36\2\2\u027d"+ - "\u0088\3\2\2\2\u027e\u027f\t\37\2\2\u027f\u008a\3\2\2\2\u0280\u0281\7"+ - "a\2\2\u0281\u008c\3\2\2\2\4\2\u0090\3\b\2\2"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Keyword.tokens b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Keyword.tokens deleted file mode 100644 index a974a747..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Keyword.tokens +++ /dev/null @@ -1,43 +0,0 @@ -WS=1 -CREATE=2 -ALTER=3 -DROP=4 -SHOW=5 -RESOURCE=6 -RULE=7 -FROM=8 -ENCRYPT=9 -TYPE=10 -ENCRYPT_ALGORITHM=11 -ASSISTED_QUERY_ALGORITHM=12 -LIKE_QUERY_ALGORITHM=13 -NAME=14 -PROPERTIES=15 -COLUMN=16 -RULES=17 -TABLE=18 -COLUMNS=19 -CIPHER=20 -PLAIN=21 -ASSISTED_QUERY_COLUMN=22 -LIKE_QUERY_COLUMN=23 -QUERY_WITH_CIPHER_COLUMN=24 -TRUE=25 -FALSE=26 -DATA_TYPE=27 -PLAIN_DATA_TYPE=28 -CIPHER_DATA_TYPE=29 -ASSISTED_QUERY_DATA_TYPE=30 -LIKE_QUERY_DATA_TYPE=31 -IF=32 -EXISTS=33 -COUNT=34 -MD5=35 -AES=36 -RC4=37 -SM3=38 -SM4=39 -CHAR_DIGEST_LIKE=40 -NOT=41 -FOR_GENERATOR=42 -'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=42 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Literals.interp b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Literals.interp deleted file mode 100644 index af532573..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Literals.interp +++ /dev/null @@ -1,191 +0,0 @@ -token literal names: -null -null -null -null -null -null -null -null -'DO NOT MATCH ANY THING, JUST FOR GENERATOR' -'&&' -'||' -'!' -'~' -'|' -'&' -'<<' -'>>' -'^' -'%' -':' -'+' -'-' -'*' -'/' -'\\' -'.' -'.*' -'<=>' -'==' -'=' -null -'>' -'>=' -'<' -'<=' -'#' -'(' -')' -'{' -'}' -'[' -']' -',' -'"' -'\'' -'`' -'?' -'@' -';' -'->>' - -token symbolic names: -null -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ -FOR_GENERATOR -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ - -rule names: -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ -FOR_GENERATOR -A -B -C -D -E -F -G -H -I -J -K -L -M -N -O -P -Q -R -S -T -U -V -W -X -Y -Z -UL_ -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ - -channel names: -DEFAULT_TOKEN_CHANNEL -HIDDEN - -mode names: -DEFAULT_MODE - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 51, 466, 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, 3, 2, 7, 2, 157, 10, 2, 12, 2, 14, 2, 160, 11, 2, 3, 2, 6, 2, 163, 10, 2, 13, 2, 14, 2, 164, 3, 2, 7, 2, 168, 10, 2, 12, 2, 14, 2, 171, 11, 2, 3, 2, 3, 2, 6, 2, 175, 10, 2, 13, 2, 14, 2, 176, 3, 2, 3, 2, 5, 2, 181, 10, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 189, 10, 3, 12, 3, 14, 3, 192, 11, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 202, 10, 3, 12, 3, 14, 3, 205, 11, 3, 3, 3, 3, 3, 5, 3, 209, 10, 3, 3, 4, 6, 4, 212, 10, 4, 13, 4, 14, 4, 213, 3, 5, 3, 5, 3, 6, 5, 6, 219, 10, 6, 3, 6, 5, 6, 222, 10, 6, 3, 6, 3, 6, 3, 6, 3, 6, 5, 6, 228, 10, 6, 3, 6, 3, 6, 5, 6, 232, 10, 6, 3, 7, 3, 7, 3, 7, 3, 7, 6, 7, 238, 10, 7, 13, 7, 14, 7, 239, 3, 7, 3, 7, 3, 7, 6, 7, 245, 10, 7, 13, 7, 14, 7, 246, 3, 7, 3, 7, 5, 7, 251, 10, 7, 3, 8, 3, 8, 3, 8, 3, 8, 6, 8, 257, 10, 8, 13, 8, 14, 8, 258, 3, 8, 3, 8, 3, 8, 6, 8, 264, 10, 8, 13, 8, 14, 8, 265, 3, 8, 3, 8, 5, 8, 270, 10, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 3, 18, 3, 18, 3, 19, 3, 19, 3, 20, 3, 20, 3, 21, 3, 21, 3, 22, 3, 22, 3, 23, 3, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 37, 3, 38, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 43, 3, 43, 3, 43, 3, 44, 3, 44, 3, 44, 3, 45, 3, 45, 3, 46, 3, 46, 3, 47, 3, 47, 3, 48, 3, 48, 3, 49, 3, 49, 3, 50, 3, 50, 3, 51, 3, 51, 3, 52, 3, 52, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 5, 58, 423, 10, 58, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 64, 3, 64, 3, 65, 3, 65, 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, 72, 3, 72, 3, 73, 3, 73, 3, 74, 3, 74, 3, 75, 3, 75, 3, 76, 3, 76, 3, 77, 3, 77, 3, 77, 3, 77, 4, 158, 164, 2, 78, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 2, 21, 2, 23, 2, 25, 2, 27, 2, 29, 2, 31, 2, 33, 2, 35, 2, 37, 2, 39, 2, 41, 2, 43, 2, 45, 2, 47, 2, 49, 2, 51, 2, 53, 2, 55, 2, 57, 2, 59, 2, 61, 2, 63, 2, 65, 2, 67, 2, 69, 2, 71, 2, 73, 11, 75, 12, 77, 13, 79, 14, 81, 15, 83, 16, 85, 17, 87, 18, 89, 19, 91, 20, 93, 21, 95, 22, 97, 23, 99, 24, 101, 25, 103, 26, 105, 27, 107, 28, 109, 29, 111, 30, 113, 31, 115, 32, 117, 33, 119, 34, 121, 35, 123, 36, 125, 37, 127, 38, 129, 39, 131, 40, 133, 41, 135, 42, 137, 43, 139, 44, 141, 45, 143, 46, 145, 47, 147, 48, 149, 49, 151, 50, 153, 51, 3, 2, 35, 7, 2, 38, 38, 50, 59, 67, 92, 97, 97, 99, 124, 6, 2, 38, 38, 67, 92, 97, 97, 99, 124, 3, 2, 98, 98, 4, 2, 36, 36, 94, 94, 4, 2, 41, 41, 94, 94, 3, 2, 50, 59, 5, 2, 50, 59, 67, 72, 99, 104, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 2, 463, 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, 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, 3, 180, 3, 2, 2, 2, 5, 208, 3, 2, 2, 2, 7, 211, 3, 2, 2, 2, 9, 215, 3, 2, 2, 2, 11, 218, 3, 2, 2, 2, 13, 250, 3, 2, 2, 2, 15, 269, 3, 2, 2, 2, 17, 271, 3, 2, 2, 2, 19, 314, 3, 2, 2, 2, 21, 316, 3, 2, 2, 2, 23, 318, 3, 2, 2, 2, 25, 320, 3, 2, 2, 2, 27, 322, 3, 2, 2, 2, 29, 324, 3, 2, 2, 2, 31, 326, 3, 2, 2, 2, 33, 328, 3, 2, 2, 2, 35, 330, 3, 2, 2, 2, 37, 332, 3, 2, 2, 2, 39, 334, 3, 2, 2, 2, 41, 336, 3, 2, 2, 2, 43, 338, 3, 2, 2, 2, 45, 340, 3, 2, 2, 2, 47, 342, 3, 2, 2, 2, 49, 344, 3, 2, 2, 2, 51, 346, 3, 2, 2, 2, 53, 348, 3, 2, 2, 2, 55, 350, 3, 2, 2, 2, 57, 352, 3, 2, 2, 2, 59, 354, 3, 2, 2, 2, 61, 356, 3, 2, 2, 2, 63, 358, 3, 2, 2, 2, 65, 360, 3, 2, 2, 2, 67, 362, 3, 2, 2, 2, 69, 364, 3, 2, 2, 2, 71, 366, 3, 2, 2, 2, 73, 368, 3, 2, 2, 2, 75, 371, 3, 2, 2, 2, 77, 374, 3, 2, 2, 2, 79, 376, 3, 2, 2, 2, 81, 378, 3, 2, 2, 2, 83, 380, 3, 2, 2, 2, 85, 382, 3, 2, 2, 2, 87, 385, 3, 2, 2, 2, 89, 388, 3, 2, 2, 2, 91, 390, 3, 2, 2, 2, 93, 392, 3, 2, 2, 2, 95, 394, 3, 2, 2, 2, 97, 396, 3, 2, 2, 2, 99, 398, 3, 2, 2, 2, 101, 400, 3, 2, 2, 2, 103, 402, 3, 2, 2, 2, 105, 404, 3, 2, 2, 2, 107, 406, 3, 2, 2, 2, 109, 409, 3, 2, 2, 2, 111, 413, 3, 2, 2, 2, 113, 416, 3, 2, 2, 2, 115, 422, 3, 2, 2, 2, 117, 424, 3, 2, 2, 2, 119, 426, 3, 2, 2, 2, 121, 429, 3, 2, 2, 2, 123, 431, 3, 2, 2, 2, 125, 434, 3, 2, 2, 2, 127, 436, 3, 2, 2, 2, 129, 438, 3, 2, 2, 2, 131, 440, 3, 2, 2, 2, 133, 442, 3, 2, 2, 2, 135, 444, 3, 2, 2, 2, 137, 446, 3, 2, 2, 2, 139, 448, 3, 2, 2, 2, 141, 450, 3, 2, 2, 2, 143, 452, 3, 2, 2, 2, 145, 454, 3, 2, 2, 2, 147, 456, 3, 2, 2, 2, 149, 458, 3, 2, 2, 2, 151, 460, 3, 2, 2, 2, 153, 462, 3, 2, 2, 2, 155, 157, 9, 2, 2, 2, 156, 155, 3, 2, 2, 2, 157, 160, 3, 2, 2, 2, 158, 159, 3, 2, 2, 2, 158, 156, 3, 2, 2, 2, 159, 162, 3, 2, 2, 2, 160, 158, 3, 2, 2, 2, 161, 163, 9, 3, 2, 2, 162, 161, 3, 2, 2, 2, 163, 164, 3, 2, 2, 2, 164, 165, 3, 2, 2, 2, 164, 162, 3, 2, 2, 2, 165, 169, 3, 2, 2, 2, 166, 168, 9, 2, 2, 2, 167, 166, 3, 2, 2, 2, 168, 171, 3, 2, 2, 2, 169, 167, 3, 2, 2, 2, 169, 170, 3, 2, 2, 2, 170, 181, 3, 2, 2, 2, 171, 169, 3, 2, 2, 2, 172, 174, 5, 145, 73, 2, 173, 175, 10, 4, 2, 2, 174, 173, 3, 2, 2, 2, 175, 176, 3, 2, 2, 2, 176, 174, 3, 2, 2, 2, 176, 177, 3, 2, 2, 2, 177, 178, 3, 2, 2, 2, 178, 179, 5, 145, 73, 2, 179, 181, 3, 2, 2, 2, 180, 158, 3, 2, 2, 2, 180, 172, 3, 2, 2, 2, 181, 4, 3, 2, 2, 2, 182, 190, 5, 141, 71, 2, 183, 184, 7, 94, 2, 2, 184, 189, 11, 2, 2, 2, 185, 186, 7, 36, 2, 2, 186, 189, 7, 36, 2, 2, 187, 189, 10, 5, 2, 2, 188, 183, 3, 2, 2, 2, 188, 185, 3, 2, 2, 2, 188, 187, 3, 2, 2, 2, 189, 192, 3, 2, 2, 2, 190, 188, 3, 2, 2, 2, 190, 191, 3, 2, 2, 2, 191, 193, 3, 2, 2, 2, 192, 190, 3, 2, 2, 2, 193, 194, 5, 141, 71, 2, 194, 209, 3, 2, 2, 2, 195, 203, 5, 143, 72, 2, 196, 197, 7, 94, 2, 2, 197, 202, 11, 2, 2, 2, 198, 199, 7, 41, 2, 2, 199, 202, 7, 41, 2, 2, 200, 202, 10, 6, 2, 2, 201, 196, 3, 2, 2, 2, 201, 198, 3, 2, 2, 2, 201, 200, 3, 2, 2, 2, 202, 205, 3, 2, 2, 2, 203, 201, 3, 2, 2, 2, 203, 204, 3, 2, 2, 2, 204, 206, 3, 2, 2, 2, 205, 203, 3, 2, 2, 2, 206, 207, 5, 143, 72, 2, 207, 209, 3, 2, 2, 2, 208, 182, 3, 2, 2, 2, 208, 195, 3, 2, 2, 2, 209, 6, 3, 2, 2, 2, 210, 212, 9, 7, 2, 2, 211, 210, 3, 2, 2, 2, 212, 213, 3, 2, 2, 2, 213, 211, 3, 2, 2, 2, 213, 214, 3, 2, 2, 2, 214, 8, 3, 2, 2, 2, 215, 216, 9, 8, 2, 2, 216, 10, 3, 2, 2, 2, 217, 219, 5, 7, 4, 2, 218, 217, 3, 2, 2, 2, 218, 219, 3, 2, 2, 2, 219, 221, 3, 2, 2, 2, 220, 222, 5, 105, 53, 2, 221, 220, 3, 2, 2, 2, 221, 222, 3, 2, 2, 2, 222, 223, 3, 2, 2, 2, 223, 231, 5, 7, 4, 2, 224, 227, 5, 27, 14, 2, 225, 228, 5, 95, 48, 2, 226, 228, 5, 97, 49, 2, 227, 225, 3, 2, 2, 2, 227, 226, 3, 2, 2, 2, 227, 228, 3, 2, 2, 2, 228, 229, 3, 2, 2, 2, 229, 230, 5, 7, 4, 2, 230, 232, 3, 2, 2, 2, 231, 224, 3, 2, 2, 2, 231, 232, 3, 2, 2, 2, 232, 12, 3, 2, 2, 2, 233, 234, 7, 50, 2, 2, 234, 235, 7, 122, 2, 2, 235, 237, 3, 2, 2, 2, 236, 238, 5, 9, 5, 2, 237, 236, 3, 2, 2, 2, 238, 239, 3, 2, 2, 2, 239, 237, 3, 2, 2, 2, 239, 240, 3, 2, 2, 2, 240, 251, 3, 2, 2, 2, 241, 242, 7, 90, 2, 2, 242, 244, 5, 143, 72, 2, 243, 245, 5, 9, 5, 2, 244, 243, 3, 2, 2, 2, 245, 246, 3, 2, 2, 2, 246, 244, 3, 2, 2, 2, 246, 247, 3, 2, 2, 2, 247, 248, 3, 2, 2, 2, 248, 249, 5, 143, 72, 2, 249, 251, 3, 2, 2, 2, 250, 233, 3, 2, 2, 2, 250, 241, 3, 2, 2, 2, 251, 14, 3, 2, 2, 2, 252, 253, 7, 50, 2, 2, 253, 254, 7, 100, 2, 2, 254, 256, 3, 2, 2, 2, 255, 257, 4, 50, 51, 2, 256, 255, 3, 2, 2, 2, 257, 258, 3, 2, 2, 2, 258, 256, 3, 2, 2, 2, 258, 259, 3, 2, 2, 2, 259, 270, 3, 2, 2, 2, 260, 261, 5, 21, 11, 2, 261, 263, 5, 143, 72, 2, 262, 264, 4, 50, 51, 2, 263, 262, 3, 2, 2, 2, 264, 265, 3, 2, 2, 2, 265, 263, 3, 2, 2, 2, 265, 266, 3, 2, 2, 2, 266, 267, 3, 2, 2, 2, 267, 268, 5, 143, 72, 2, 268, 270, 3, 2, 2, 2, 269, 252, 3, 2, 2, 2, 269, 260, 3, 2, 2, 2, 270, 16, 3, 2, 2, 2, 271, 272, 7, 70, 2, 2, 272, 273, 7, 81, 2, 2, 273, 274, 7, 34, 2, 2, 274, 275, 7, 80, 2, 2, 275, 276, 7, 81, 2, 2, 276, 277, 7, 86, 2, 2, 277, 278, 7, 34, 2, 2, 278, 279, 7, 79, 2, 2, 279, 280, 7, 67, 2, 2, 280, 281, 7, 86, 2, 2, 281, 282, 7, 69, 2, 2, 282, 283, 7, 74, 2, 2, 283, 284, 7, 34, 2, 2, 284, 285, 7, 67, 2, 2, 285, 286, 7, 80, 2, 2, 286, 287, 7, 91, 2, 2, 287, 288, 7, 34, 2, 2, 288, 289, 7, 86, 2, 2, 289, 290, 7, 74, 2, 2, 290, 291, 7, 75, 2, 2, 291, 292, 7, 80, 2, 2, 292, 293, 7, 73, 2, 2, 293, 294, 7, 46, 2, 2, 294, 295, 7, 34, 2, 2, 295, 296, 7, 76, 2, 2, 296, 297, 7, 87, 2, 2, 297, 298, 7, 85, 2, 2, 298, 299, 7, 86, 2, 2, 299, 300, 7, 34, 2, 2, 300, 301, 7, 72, 2, 2, 301, 302, 7, 81, 2, 2, 302, 303, 7, 84, 2, 2, 303, 304, 7, 34, 2, 2, 304, 305, 7, 73, 2, 2, 305, 306, 7, 71, 2, 2, 306, 307, 7, 80, 2, 2, 307, 308, 7, 71, 2, 2, 308, 309, 7, 84, 2, 2, 309, 310, 7, 67, 2, 2, 310, 311, 7, 86, 2, 2, 311, 312, 7, 81, 2, 2, 312, 313, 7, 84, 2, 2, 313, 18, 3, 2, 2, 2, 314, 315, 9, 9, 2, 2, 315, 20, 3, 2, 2, 2, 316, 317, 9, 10, 2, 2, 317, 22, 3, 2, 2, 2, 318, 319, 9, 11, 2, 2, 319, 24, 3, 2, 2, 2, 320, 321, 9, 12, 2, 2, 321, 26, 3, 2, 2, 2, 322, 323, 9, 13, 2, 2, 323, 28, 3, 2, 2, 2, 324, 325, 9, 14, 2, 2, 325, 30, 3, 2, 2, 2, 326, 327, 9, 15, 2, 2, 327, 32, 3, 2, 2, 2, 328, 329, 9, 16, 2, 2, 329, 34, 3, 2, 2, 2, 330, 331, 9, 17, 2, 2, 331, 36, 3, 2, 2, 2, 332, 333, 9, 18, 2, 2, 333, 38, 3, 2, 2, 2, 334, 335, 9, 19, 2, 2, 335, 40, 3, 2, 2, 2, 336, 337, 9, 20, 2, 2, 337, 42, 3, 2, 2, 2, 338, 339, 9, 21, 2, 2, 339, 44, 3, 2, 2, 2, 340, 341, 9, 22, 2, 2, 341, 46, 3, 2, 2, 2, 342, 343, 9, 23, 2, 2, 343, 48, 3, 2, 2, 2, 344, 345, 9, 24, 2, 2, 345, 50, 3, 2, 2, 2, 346, 347, 9, 25, 2, 2, 347, 52, 3, 2, 2, 2, 348, 349, 9, 26, 2, 2, 349, 54, 3, 2, 2, 2, 350, 351, 9, 27, 2, 2, 351, 56, 3, 2, 2, 2, 352, 353, 9, 28, 2, 2, 353, 58, 3, 2, 2, 2, 354, 355, 9, 29, 2, 2, 355, 60, 3, 2, 2, 2, 356, 357, 9, 30, 2, 2, 357, 62, 3, 2, 2, 2, 358, 359, 9, 31, 2, 2, 359, 64, 3, 2, 2, 2, 360, 361, 9, 32, 2, 2, 361, 66, 3, 2, 2, 2, 362, 363, 9, 33, 2, 2, 363, 68, 3, 2, 2, 2, 364, 365, 9, 34, 2, 2, 365, 70, 3, 2, 2, 2, 366, 367, 7, 97, 2, 2, 367, 72, 3, 2, 2, 2, 368, 369, 7, 40, 2, 2, 369, 370, 7, 40, 2, 2, 370, 74, 3, 2, 2, 2, 371, 372, 7, 126, 2, 2, 372, 373, 7, 126, 2, 2, 373, 76, 3, 2, 2, 2, 374, 375, 7, 35, 2, 2, 375, 78, 3, 2, 2, 2, 376, 377, 7, 128, 2, 2, 377, 80, 3, 2, 2, 2, 378, 379, 7, 126, 2, 2, 379, 82, 3, 2, 2, 2, 380, 381, 7, 40, 2, 2, 381, 84, 3, 2, 2, 2, 382, 383, 7, 62, 2, 2, 383, 384, 7, 62, 2, 2, 384, 86, 3, 2, 2, 2, 385, 386, 7, 64, 2, 2, 386, 387, 7, 64, 2, 2, 387, 88, 3, 2, 2, 2, 388, 389, 7, 96, 2, 2, 389, 90, 3, 2, 2, 2, 390, 391, 7, 39, 2, 2, 391, 92, 3, 2, 2, 2, 392, 393, 7, 60, 2, 2, 393, 94, 3, 2, 2, 2, 394, 395, 7, 45, 2, 2, 395, 96, 3, 2, 2, 2, 396, 397, 7, 47, 2, 2, 397, 98, 3, 2, 2, 2, 398, 399, 7, 44, 2, 2, 399, 100, 3, 2, 2, 2, 400, 401, 7, 49, 2, 2, 401, 102, 3, 2, 2, 2, 402, 403, 7, 94, 2, 2, 403, 104, 3, 2, 2, 2, 404, 405, 7, 48, 2, 2, 405, 106, 3, 2, 2, 2, 406, 407, 7, 48, 2, 2, 407, 408, 7, 44, 2, 2, 408, 108, 3, 2, 2, 2, 409, 410, 7, 62, 2, 2, 410, 411, 7, 63, 2, 2, 411, 412, 7, 64, 2, 2, 412, 110, 3, 2, 2, 2, 413, 414, 7, 63, 2, 2, 414, 415, 7, 63, 2, 2, 415, 112, 3, 2, 2, 2, 416, 417, 7, 63, 2, 2, 417, 114, 3, 2, 2, 2, 418, 419, 7, 62, 2, 2, 419, 423, 7, 64, 2, 2, 420, 421, 7, 35, 2, 2, 421, 423, 7, 63, 2, 2, 422, 418, 3, 2, 2, 2, 422, 420, 3, 2, 2, 2, 423, 116, 3, 2, 2, 2, 424, 425, 7, 64, 2, 2, 425, 118, 3, 2, 2, 2, 426, 427, 7, 64, 2, 2, 427, 428, 7, 63, 2, 2, 428, 120, 3, 2, 2, 2, 429, 430, 7, 62, 2, 2, 430, 122, 3, 2, 2, 2, 431, 432, 7, 62, 2, 2, 432, 433, 7, 63, 2, 2, 433, 124, 3, 2, 2, 2, 434, 435, 7, 37, 2, 2, 435, 126, 3, 2, 2, 2, 436, 437, 7, 42, 2, 2, 437, 128, 3, 2, 2, 2, 438, 439, 7, 43, 2, 2, 439, 130, 3, 2, 2, 2, 440, 441, 7, 125, 2, 2, 441, 132, 3, 2, 2, 2, 442, 443, 7, 127, 2, 2, 443, 134, 3, 2, 2, 2, 444, 445, 7, 93, 2, 2, 445, 136, 3, 2, 2, 2, 446, 447, 7, 95, 2, 2, 447, 138, 3, 2, 2, 2, 448, 449, 7, 46, 2, 2, 449, 140, 3, 2, 2, 2, 450, 451, 7, 36, 2, 2, 451, 142, 3, 2, 2, 2, 452, 453, 7, 41, 2, 2, 453, 144, 3, 2, 2, 2, 454, 455, 7, 98, 2, 2, 455, 146, 3, 2, 2, 2, 456, 457, 7, 65, 2, 2, 457, 148, 3, 2, 2, 2, 458, 459, 7, 66, 2, 2, 459, 150, 3, 2, 2, 2, 460, 461, 7, 61, 2, 2, 461, 152, 3, 2, 2, 2, 462, 463, 7, 47, 2, 2, 463, 464, 7, 64, 2, 2, 464, 465, 7, 64, 2, 2, 465, 154, 3, 2, 2, 2, 25, 2, 158, 164, 169, 176, 180, 188, 190, 201, 203, 208, 213, 218, 221, 227, 231, 239, 246, 250, 258, 265, 269, 422, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Literals.java b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Literals.java deleted file mode 100644 index 9e7880e9..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Literals.java +++ /dev/null @@ -1,298 +0,0 @@ -// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/encrypt/Literals.g4 by ANTLR 4.9.2 -import org.antlr.v4.runtime.Lexer; -import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.TokenStream; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.misc.*; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class Literals extends Lexer { - static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - IDENTIFIER_=1, STRING_=2, INT_=3, HEX_=4, NUMBER_=5, HEXDIGIT_=6, BITNUM_=7, - FOR_GENERATOR=8, AND_=9, OR_=10, NOT_=11, TILDE_=12, VERTICALBAR_=13, - AMPERSAND_=14, SIGNEDLEFTSHIFT_=15, SIGNEDRIGHTSHIFT_=16, CARET_=17, MOD_=18, - COLON_=19, PLUS_=20, MINUS_=21, ASTERISK_=22, SLASH_=23, BACKSLASH_=24, - DOT_=25, DOTASTERISK_=26, SAFEEQ_=27, DEQ_=28, EQ_=29, NEQ_=30, GT_=31, - GTE_=32, LT_=33, LTE_=34, POUND_=35, LP_=36, RP_=37, LBE_=38, RBE_=39, - LBT_=40, RBT_=41, COMMA_=42, DQ_=43, SQ_=44, BQ_=45, QUESTION_=46, AT_=47, - SEMI_=48, JSONSEPARATOR_=49; - public static String[] channelNames = { - "DEFAULT_TOKEN_CHANNEL", "HIDDEN" - }; - - public static String[] modeNames = { - "DEFAULT_MODE" - }; - - private static String[] makeRuleNames() { - return new String[] { - "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_", - "FOR_GENERATOR", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", - "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", - "Z", "UL_", "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", - "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", - "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", - "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", - "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", - "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, null, null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'", - "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", "'%'", - "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", "'=='", - "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", "'{'", - "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", "';'", - "'->>'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", - "BITNUM_", "FOR_GENERATOR", "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", - "AMPERSAND_", "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", - "COLON_", "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", - "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", - "LTE_", "POUND_", "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", - "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - - public Literals(CharStream input) { - super(input); - _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - @Override - public String getGrammarFileName() { return "Literals.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public String[] getChannelNames() { return channelNames; } - - @Override - public String[] getModeNames() { return modeNames; } - - @Override - public ATN getATN() { return _ATN; } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2\63\u01d2\b\1\4\2"+ - "\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4"+ - "\13\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22"+ - "\t\22\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31"+ - "\t\31\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t"+ - " \4!\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t"+ - "+\4,\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64"+ - "\t\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t"+ - "=\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4"+ - "I\tI\4J\tJ\4K\tK\4L\tL\4M\tM\3\2\7\2\u009d\n\2\f\2\16\2\u00a0\13\2\3\2"+ - "\6\2\u00a3\n\2\r\2\16\2\u00a4\3\2\7\2\u00a8\n\2\f\2\16\2\u00ab\13\2\3"+ - "\2\3\2\6\2\u00af\n\2\r\2\16\2\u00b0\3\2\3\2\5\2\u00b5\n\2\3\3\3\3\3\3"+ - "\3\3\3\3\3\3\7\3\u00bd\n\3\f\3\16\3\u00c0\13\3\3\3\3\3\3\3\3\3\3\3\3\3"+ - "\3\3\3\3\7\3\u00ca\n\3\f\3\16\3\u00cd\13\3\3\3\3\3\5\3\u00d1\n\3\3\4\6"+ - "\4\u00d4\n\4\r\4\16\4\u00d5\3\5\3\5\3\6\5\6\u00db\n\6\3\6\5\6\u00de\n"+ - "\6\3\6\3\6\3\6\3\6\5\6\u00e4\n\6\3\6\3\6\5\6\u00e8\n\6\3\7\3\7\3\7\3\7"+ - "\6\7\u00ee\n\7\r\7\16\7\u00ef\3\7\3\7\3\7\6\7\u00f5\n\7\r\7\16\7\u00f6"+ - "\3\7\3\7\5\7\u00fb\n\7\3\b\3\b\3\b\3\b\6\b\u0101\n\b\r\b\16\b\u0102\3"+ - "\b\3\b\3\b\6\b\u0108\n\b\r\b\16\b\u0109\3\b\3\b\5\b\u010e\n\b\3\t\3\t"+ - "\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3"+ - "\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t"+ - "\3\t\3\t\3\t\3\t\3\t\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3"+ - "\17\3\17\3\20\3\20\3\21\3\21\3\22\3\22\3\23\3\23\3\24\3\24\3\25\3\25\3"+ - "\26\3\26\3\27\3\27\3\30\3\30\3\31\3\31\3\32\3\32\3\33\3\33\3\34\3\34\3"+ - "\35\3\35\3\36\3\36\3\37\3\37\3 \3 \3!\3!\3\"\3\"\3#\3#\3$\3$\3%\3%\3%"+ - "\3&\3&\3&\3\'\3\'\3(\3(\3)\3)\3*\3*\3+\3+\3+\3,\3,\3,\3-\3-\3.\3.\3/\3"+ - "/\3\60\3\60\3\61\3\61\3\62\3\62\3\63\3\63\3\64\3\64\3\65\3\65\3\66\3\66"+ - "\3\66\3\67\3\67\3\67\3\67\38\38\38\39\39\3:\3:\3:\3:\5:\u01a7\n:\3;\3"+ - ";\3<\3<\3<\3=\3=\3>\3>\3>\3?\3?\3@\3@\3A\3A\3B\3B\3C\3C\3D\3D\3E\3E\3"+ - "F\3F\3G\3G\3H\3H\3I\3I\3J\3J\3K\3K\3L\3L\3M\3M\3M\3M\4\u009e\u00a4\2N"+ - "\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23\2\25\2\27\2\31\2\33\2\35\2\37\2"+ - "!\2#\2%\2\'\2)\2+\2-\2/\2\61\2\63\2\65\2\67\29\2;\2=\2?\2A\2C\2E\2G\2"+ - "I\13K\fM\rO\16Q\17S\20U\21W\22Y\23[\24]\25_\26a\27c\30e\31g\32i\33k\34"+ - "m\35o\36q\37s u!w\"y#{$}%\177&\u0081\'\u0083(\u0085)\u0087*\u0089+\u008b"+ - ",\u008d-\u008f.\u0091/\u0093\60\u0095\61\u0097\62\u0099\63\3\2#\7\2&&"+ - "\62;C\\aac|\6\2&&C\\aac|\3\2bb\4\2$$^^\4\2))^^\3\2\62;\5\2\62;CHch\4\2"+ - "CCcc\4\2DDdd\4\2EEee\4\2FFff\4\2GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4"+ - "\2LLll\4\2MMmm\4\2NNnn\4\2OOoo\4\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4\2TTt"+ - "t\4\2UUuu\4\2VVvv\4\2WWww\4\2XXxx\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\||\2"+ - "\u01cf\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2"+ - "\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2\2\2\2I\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2"+ - "\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2["+ - "\3\2\2\2\2]\3\2\2\2\2_\3\2\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3\2"+ - "\2\2\2i\3\2\2\2\2k\3\2\2\2\2m\3\2\2\2\2o\3\2\2\2\2q\3\2\2\2\2s\3\2\2\2"+ - "\2u\3\2\2\2\2w\3\2\2\2\2y\3\2\2\2\2{\3\2\2\2\2}\3\2\2\2\2\177\3\2\2\2"+ - "\2\u0081\3\2\2\2\2\u0083\3\2\2\2\2\u0085\3\2\2\2\2\u0087\3\2\2\2\2\u0089"+ - "\3\2\2\2\2\u008b\3\2\2\2\2\u008d\3\2\2\2\2\u008f\3\2\2\2\2\u0091\3\2\2"+ - "\2\2\u0093\3\2\2\2\2\u0095\3\2\2\2\2\u0097\3\2\2\2\2\u0099\3\2\2\2\3\u00b4"+ - "\3\2\2\2\5\u00d0\3\2\2\2\7\u00d3\3\2\2\2\t\u00d7\3\2\2\2\13\u00da\3\2"+ - "\2\2\r\u00fa\3\2\2\2\17\u010d\3\2\2\2\21\u010f\3\2\2\2\23\u013a\3\2\2"+ - "\2\25\u013c\3\2\2\2\27\u013e\3\2\2\2\31\u0140\3\2\2\2\33\u0142\3\2\2\2"+ - "\35\u0144\3\2\2\2\37\u0146\3\2\2\2!\u0148\3\2\2\2#\u014a\3\2\2\2%\u014c"+ - "\3\2\2\2\'\u014e\3\2\2\2)\u0150\3\2\2\2+\u0152\3\2\2\2-\u0154\3\2\2\2"+ - "/\u0156\3\2\2\2\61\u0158\3\2\2\2\63\u015a\3\2\2\2\65\u015c\3\2\2\2\67"+ - "\u015e\3\2\2\29\u0160\3\2\2\2;\u0162\3\2\2\2=\u0164\3\2\2\2?\u0166\3\2"+ - "\2\2A\u0168\3\2\2\2C\u016a\3\2\2\2E\u016c\3\2\2\2G\u016e\3\2\2\2I\u0170"+ - "\3\2\2\2K\u0173\3\2\2\2M\u0176\3\2\2\2O\u0178\3\2\2\2Q\u017a\3\2\2\2S"+ - "\u017c\3\2\2\2U\u017e\3\2\2\2W\u0181\3\2\2\2Y\u0184\3\2\2\2[\u0186\3\2"+ - "\2\2]\u0188\3\2\2\2_\u018a\3\2\2\2a\u018c\3\2\2\2c\u018e\3\2\2\2e\u0190"+ - "\3\2\2\2g\u0192\3\2\2\2i\u0194\3\2\2\2k\u0196\3\2\2\2m\u0199\3\2\2\2o"+ - "\u019d\3\2\2\2q\u01a0\3\2\2\2s\u01a6\3\2\2\2u\u01a8\3\2\2\2w\u01aa\3\2"+ - "\2\2y\u01ad\3\2\2\2{\u01af\3\2\2\2}\u01b2\3\2\2\2\177\u01b4\3\2\2\2\u0081"+ - "\u01b6\3\2\2\2\u0083\u01b8\3\2\2\2\u0085\u01ba\3\2\2\2\u0087\u01bc\3\2"+ - "\2\2\u0089\u01be\3\2\2\2\u008b\u01c0\3\2\2\2\u008d\u01c2\3\2\2\2\u008f"+ - "\u01c4\3\2\2\2\u0091\u01c6\3\2\2\2\u0093\u01c8\3\2\2\2\u0095\u01ca\3\2"+ - "\2\2\u0097\u01cc\3\2\2\2\u0099\u01ce\3\2\2\2\u009b\u009d\t\2\2\2\u009c"+ - "\u009b\3\2\2\2\u009d\u00a0\3\2\2\2\u009e\u009f\3\2\2\2\u009e\u009c\3\2"+ - "\2\2\u009f\u00a2\3\2\2\2\u00a0\u009e\3\2\2\2\u00a1\u00a3\t\3\2\2\u00a2"+ - "\u00a1\3\2\2\2\u00a3\u00a4\3\2\2\2\u00a4\u00a5\3\2\2\2\u00a4\u00a2\3\2"+ - "\2\2\u00a5\u00a9\3\2\2\2\u00a6\u00a8\t\2\2\2\u00a7\u00a6\3\2\2\2\u00a8"+ - "\u00ab\3\2\2\2\u00a9\u00a7\3\2\2\2\u00a9\u00aa\3\2\2\2\u00aa\u00b5\3\2"+ - "\2\2\u00ab\u00a9\3\2\2\2\u00ac\u00ae\5\u0091I\2\u00ad\u00af\n\4\2\2\u00ae"+ - "\u00ad\3\2\2\2\u00af\u00b0\3\2\2\2\u00b0\u00ae\3\2\2\2\u00b0\u00b1\3\2"+ - "\2\2\u00b1\u00b2\3\2\2\2\u00b2\u00b3\5\u0091I\2\u00b3\u00b5\3\2\2\2\u00b4"+ - "\u009e\3\2\2\2\u00b4\u00ac\3\2\2\2\u00b5\4\3\2\2\2\u00b6\u00be\5\u008d"+ - "G\2\u00b7\u00b8\7^\2\2\u00b8\u00bd\13\2\2\2\u00b9\u00ba\7$\2\2\u00ba\u00bd"+ - "\7$\2\2\u00bb\u00bd\n\5\2\2\u00bc\u00b7\3\2\2\2\u00bc\u00b9\3\2\2\2\u00bc"+ - "\u00bb\3\2\2\2\u00bd\u00c0\3\2\2\2\u00be\u00bc\3\2\2\2\u00be\u00bf\3\2"+ - "\2\2\u00bf\u00c1\3\2\2\2\u00c0\u00be\3\2\2\2\u00c1\u00c2\5\u008dG\2\u00c2"+ - "\u00d1\3\2\2\2\u00c3\u00cb\5\u008fH\2\u00c4\u00c5\7^\2\2\u00c5\u00ca\13"+ - "\2\2\2\u00c6\u00c7\7)\2\2\u00c7\u00ca\7)\2\2\u00c8\u00ca\n\6\2\2\u00c9"+ - "\u00c4\3\2\2\2\u00c9\u00c6\3\2\2\2\u00c9\u00c8\3\2\2\2\u00ca\u00cd\3\2"+ - "\2\2\u00cb\u00c9\3\2\2\2\u00cb\u00cc\3\2\2\2\u00cc\u00ce\3\2\2\2\u00cd"+ - "\u00cb\3\2\2\2\u00ce\u00cf\5\u008fH\2\u00cf\u00d1\3\2\2\2\u00d0\u00b6"+ - "\3\2\2\2\u00d0\u00c3\3\2\2\2\u00d1\6\3\2\2\2\u00d2\u00d4\t\7\2\2\u00d3"+ - "\u00d2\3\2\2\2\u00d4\u00d5\3\2\2\2\u00d5\u00d3\3\2\2\2\u00d5\u00d6\3\2"+ - "\2\2\u00d6\b\3\2\2\2\u00d7\u00d8\t\b\2\2\u00d8\n\3\2\2\2\u00d9\u00db\5"+ - "\7\4\2\u00da\u00d9\3\2\2\2\u00da\u00db\3\2\2\2\u00db\u00dd\3\2\2\2\u00dc"+ - "\u00de\5i\65\2\u00dd\u00dc\3\2\2\2\u00dd\u00de\3\2\2\2\u00de\u00df\3\2"+ - "\2\2\u00df\u00e7\5\7\4\2\u00e0\u00e3\5\33\16\2\u00e1\u00e4\5_\60\2\u00e2"+ - "\u00e4\5a\61\2\u00e3\u00e1\3\2\2\2\u00e3\u00e2\3\2\2\2\u00e3\u00e4\3\2"+ - "\2\2\u00e4\u00e5\3\2\2\2\u00e5\u00e6\5\7\4\2\u00e6\u00e8\3\2\2\2\u00e7"+ - "\u00e0\3\2\2\2\u00e7\u00e8\3\2\2\2\u00e8\f\3\2\2\2\u00e9\u00ea\7\62\2"+ - "\2\u00ea\u00eb\7z\2\2\u00eb\u00ed\3\2\2\2\u00ec\u00ee\5\t\5\2\u00ed\u00ec"+ - "\3\2\2\2\u00ee\u00ef\3\2\2\2\u00ef\u00ed\3\2\2\2\u00ef\u00f0\3\2\2\2\u00f0"+ - "\u00fb\3\2\2\2\u00f1\u00f2\7Z\2\2\u00f2\u00f4\5\u008fH\2\u00f3\u00f5\5"+ - "\t\5\2\u00f4\u00f3\3\2\2\2\u00f5\u00f6\3\2\2\2\u00f6\u00f4\3\2\2\2\u00f6"+ - "\u00f7\3\2\2\2\u00f7\u00f8\3\2\2\2\u00f8\u00f9\5\u008fH\2\u00f9\u00fb"+ - "\3\2\2\2\u00fa\u00e9\3\2\2\2\u00fa\u00f1\3\2\2\2\u00fb\16\3\2\2\2\u00fc"+ - "\u00fd\7\62\2\2\u00fd\u00fe\7d\2\2\u00fe\u0100\3\2\2\2\u00ff\u0101\4\62"+ - "\63\2\u0100\u00ff\3\2\2\2\u0101\u0102\3\2\2\2\u0102\u0100\3\2\2\2\u0102"+ - "\u0103\3\2\2\2\u0103\u010e\3\2\2\2\u0104\u0105\5\25\13\2\u0105\u0107\5"+ - "\u008fH\2\u0106\u0108\4\62\63\2\u0107\u0106\3\2\2\2\u0108\u0109\3\2\2"+ - "\2\u0109\u0107\3\2\2\2\u0109\u010a\3\2\2\2\u010a\u010b\3\2\2\2\u010b\u010c"+ - "\5\u008fH\2\u010c\u010e\3\2\2\2\u010d\u00fc\3\2\2\2\u010d\u0104\3\2\2"+ - "\2\u010e\20\3\2\2\2\u010f\u0110\7F\2\2\u0110\u0111\7Q\2\2\u0111\u0112"+ - "\7\"\2\2\u0112\u0113\7P\2\2\u0113\u0114\7Q\2\2\u0114\u0115\7V\2\2\u0115"+ - "\u0116\7\"\2\2\u0116\u0117\7O\2\2\u0117\u0118\7C\2\2\u0118\u0119\7V\2"+ - "\2\u0119\u011a\7E\2\2\u011a\u011b\7J\2\2\u011b\u011c\7\"\2\2\u011c\u011d"+ - "\7C\2\2\u011d\u011e\7P\2\2\u011e\u011f\7[\2\2\u011f\u0120\7\"\2\2\u0120"+ - "\u0121\7V\2\2\u0121\u0122\7J\2\2\u0122\u0123\7K\2\2\u0123\u0124\7P\2\2"+ - "\u0124\u0125\7I\2\2\u0125\u0126\7.\2\2\u0126\u0127\7\"\2\2\u0127\u0128"+ - "\7L\2\2\u0128\u0129\7W\2\2\u0129\u012a\7U\2\2\u012a\u012b\7V\2\2\u012b"+ - "\u012c\7\"\2\2\u012c\u012d\7H\2\2\u012d\u012e\7Q\2\2\u012e\u012f\7T\2"+ - "\2\u012f\u0130\7\"\2\2\u0130\u0131\7I\2\2\u0131\u0132\7G\2\2\u0132\u0133"+ - "\7P\2\2\u0133\u0134\7G\2\2\u0134\u0135\7T\2\2\u0135\u0136\7C\2\2\u0136"+ - "\u0137\7V\2\2\u0137\u0138\7Q\2\2\u0138\u0139\7T\2\2\u0139\22\3\2\2\2\u013a"+ - "\u013b\t\t\2\2\u013b\24\3\2\2\2\u013c\u013d\t\n\2\2\u013d\26\3\2\2\2\u013e"+ - "\u013f\t\13\2\2\u013f\30\3\2\2\2\u0140\u0141\t\f\2\2\u0141\32\3\2\2\2"+ - "\u0142\u0143\t\r\2\2\u0143\34\3\2\2\2\u0144\u0145\t\16\2\2\u0145\36\3"+ - "\2\2\2\u0146\u0147\t\17\2\2\u0147 \3\2\2\2\u0148\u0149\t\20\2\2\u0149"+ - "\"\3\2\2\2\u014a\u014b\t\21\2\2\u014b$\3\2\2\2\u014c\u014d\t\22\2\2\u014d"+ - "&\3\2\2\2\u014e\u014f\t\23\2\2\u014f(\3\2\2\2\u0150\u0151\t\24\2\2\u0151"+ - "*\3\2\2\2\u0152\u0153\t\25\2\2\u0153,\3\2\2\2\u0154\u0155\t\26\2\2\u0155"+ - ".\3\2\2\2\u0156\u0157\t\27\2\2\u0157\60\3\2\2\2\u0158\u0159\t\30\2\2\u0159"+ - "\62\3\2\2\2\u015a\u015b\t\31\2\2\u015b\64\3\2\2\2\u015c\u015d\t\32\2\2"+ - "\u015d\66\3\2\2\2\u015e\u015f\t\33\2\2\u015f8\3\2\2\2\u0160\u0161\t\34"+ - "\2\2\u0161:\3\2\2\2\u0162\u0163\t\35\2\2\u0163<\3\2\2\2\u0164\u0165\t"+ - "\36\2\2\u0165>\3\2\2\2\u0166\u0167\t\37\2\2\u0167@\3\2\2\2\u0168\u0169"+ - "\t \2\2\u0169B\3\2\2\2\u016a\u016b\t!\2\2\u016bD\3\2\2\2\u016c\u016d\t"+ - "\"\2\2\u016dF\3\2\2\2\u016e\u016f\7a\2\2\u016fH\3\2\2\2\u0170\u0171\7"+ - "(\2\2\u0171\u0172\7(\2\2\u0172J\3\2\2\2\u0173\u0174\7~\2\2\u0174\u0175"+ - "\7~\2\2\u0175L\3\2\2\2\u0176\u0177\7#\2\2\u0177N\3\2\2\2\u0178\u0179\7"+ - "\u0080\2\2\u0179P\3\2\2\2\u017a\u017b\7~\2\2\u017bR\3\2\2\2\u017c\u017d"+ - "\7(\2\2\u017dT\3\2\2\2\u017e\u017f\7>\2\2\u017f\u0180\7>\2\2\u0180V\3"+ - "\2\2\2\u0181\u0182\7@\2\2\u0182\u0183\7@\2\2\u0183X\3\2\2\2\u0184\u0185"+ - "\7`\2\2\u0185Z\3\2\2\2\u0186\u0187\7\'\2\2\u0187\\\3\2\2\2\u0188\u0189"+ - "\7<\2\2\u0189^\3\2\2\2\u018a\u018b\7-\2\2\u018b`\3\2\2\2\u018c\u018d\7"+ - "/\2\2\u018db\3\2\2\2\u018e\u018f\7,\2\2\u018fd\3\2\2\2\u0190\u0191\7\61"+ - "\2\2\u0191f\3\2\2\2\u0192\u0193\7^\2\2\u0193h\3\2\2\2\u0194\u0195\7\60"+ - "\2\2\u0195j\3\2\2\2\u0196\u0197\7\60\2\2\u0197\u0198\7,\2\2\u0198l\3\2"+ - "\2\2\u0199\u019a\7>\2\2\u019a\u019b\7?\2\2\u019b\u019c\7@\2\2\u019cn\3"+ - "\2\2\2\u019d\u019e\7?\2\2\u019e\u019f\7?\2\2\u019fp\3\2\2\2\u01a0\u01a1"+ - "\7?\2\2\u01a1r\3\2\2\2\u01a2\u01a3\7>\2\2\u01a3\u01a7\7@\2\2\u01a4\u01a5"+ - "\7#\2\2\u01a5\u01a7\7?\2\2\u01a6\u01a2\3\2\2\2\u01a6\u01a4\3\2\2\2\u01a7"+ - "t\3\2\2\2\u01a8\u01a9\7@\2\2\u01a9v\3\2\2\2\u01aa\u01ab\7@\2\2\u01ab\u01ac"+ - "\7?\2\2\u01acx\3\2\2\2\u01ad\u01ae\7>\2\2\u01aez\3\2\2\2\u01af\u01b0\7"+ - ">\2\2\u01b0\u01b1\7?\2\2\u01b1|\3\2\2\2\u01b2\u01b3\7%\2\2\u01b3~\3\2"+ - "\2\2\u01b4\u01b5\7*\2\2\u01b5\u0080\3\2\2\2\u01b6\u01b7\7+\2\2\u01b7\u0082"+ - "\3\2\2\2\u01b8\u01b9\7}\2\2\u01b9\u0084\3\2\2\2\u01ba\u01bb\7\177\2\2"+ - "\u01bb\u0086\3\2\2\2\u01bc\u01bd\7]\2\2\u01bd\u0088\3\2\2\2\u01be\u01bf"+ - "\7_\2\2\u01bf\u008a\3\2\2\2\u01c0\u01c1\7.\2\2\u01c1\u008c\3\2\2\2\u01c2"+ - "\u01c3\7$\2\2\u01c3\u008e\3\2\2\2\u01c4\u01c5\7)\2\2\u01c5\u0090\3\2\2"+ - "\2\u01c6\u01c7\7b\2\2\u01c7\u0092\3\2\2\2\u01c8\u01c9\7A\2\2\u01c9\u0094"+ - "\3\2\2\2\u01ca\u01cb\7B\2\2\u01cb\u0096\3\2\2\2\u01cc\u01cd\7=\2\2\u01cd"+ - "\u0098\3\2\2\2\u01ce\u01cf\7/\2\2\u01cf\u01d0\7@\2\2\u01d0\u01d1\7@\2"+ - "\2\u01d1\u009a\3\2\2\2\31\2\u009e\u00a4\u00a9\u00b0\u00b4\u00bc\u00be"+ - "\u00c9\u00cb\u00d0\u00d5\u00da\u00dd\u00e3\u00e7\u00ef\u00f6\u00fa\u0102"+ - "\u0109\u010d\u01a6\2"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Literals.tokens b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Literals.tokens deleted file mode 100644 index d01c01fa..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Literals.tokens +++ /dev/null @@ -1,90 +0,0 @@ -IDENTIFIER_=1 -STRING_=2 -INT_=3 -HEX_=4 -NUMBER_=5 -HEXDIGIT_=6 -BITNUM_=7 -FOR_GENERATOR=8 -AND_=9 -OR_=10 -NOT_=11 -TILDE_=12 -VERTICALBAR_=13 -AMPERSAND_=14 -SIGNEDLEFTSHIFT_=15 -SIGNEDRIGHTSHIFT_=16 -CARET_=17 -MOD_=18 -COLON_=19 -PLUS_=20 -MINUS_=21 -ASTERISK_=22 -SLASH_=23 -BACKSLASH_=24 -DOT_=25 -DOTASTERISK_=26 -SAFEEQ_=27 -DEQ_=28 -EQ_=29 -NEQ_=30 -GT_=31 -GTE_=32 -LT_=33 -LTE_=34 -POUND_=35 -LP_=36 -RP_=37 -LBE_=38 -RBE_=39 -LBT_=40 -RBT_=41 -COMMA_=42 -DQ_=43 -SQ_=44 -BQ_=45 -QUESTION_=46 -AT_=47 -SEMI_=48 -JSONSEPARATOR_=49 -'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=8 -'&&'=9 -'||'=10 -'!'=11 -'~'=12 -'|'=13 -'&'=14 -'<<'=15 -'>>'=16 -'^'=17 -'%'=18 -':'=19 -'+'=20 -'-'=21 -'*'=22 -'/'=23 -'\\'=24 -'.'=25 -'.*'=26 -'<=>'=27 -'=='=28 -'='=29 -'>'=31 -'>='=32 -'<'=33 -'<='=34 -'#'=35 -'('=36 -')'=37 -'{'=38 -'}'=39 -'['=40 -']'=41 -','=42 -'"'=43 -'\''=44 -'`'=45 -'?'=46 -'@'=47 -';'=48 -'->>'=49 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatement.interp b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatement.interp deleted file mode 100644 index 12fab528..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatement.interp +++ /dev/null @@ -1,225 +0,0 @@ -token literal names: -null -'&&' -'||' -'!' -'~' -'|' -'&' -'<<' -'>>' -'^' -'%' -':' -'+' -'-' -'*' -'/' -'\\' -'.' -'.*' -'<=>' -'==' -'=' -null -'>' -'>=' -'<' -'<=' -'#' -'(' -')' -'{' -'}' -'[' -']' -',' -'"' -'\'' -'`' -'?' -'@' -';' -'->>' -'_' -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -'DO NOT MATCH ANY THING, JUST FOR GENERATOR' -null -null -null -null -null -null -null - -token symbolic names: -null -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ -WS -CREATE -ALTER -DROP -SHOW -RESOURCE -RULE -FROM -ENCRYPT -TYPE -ENCRYPT_ALGORITHM -ASSISTED_QUERY_ALGORITHM -LIKE_QUERY_ALGORITHM -NAME -PROPERTIES -COLUMN -RULES -TABLE -COLUMNS -CIPHER -PLAIN -ASSISTED_QUERY_COLUMN -LIKE_QUERY_COLUMN -QUERY_WITH_CIPHER_COLUMN -TRUE -FALSE -DATA_TYPE -PLAIN_DATA_TYPE -CIPHER_DATA_TYPE -ASSISTED_QUERY_DATA_TYPE -LIKE_QUERY_DATA_TYPE -IF -EXISTS -COUNT -MD5 -AES -RC4 -SM3 -SM4 -CHAR_DIGEST_LIKE -NOT -FOR_GENERATOR -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ - -rule names: -createEncryptRule -alterEncryptRule -dropEncryptRule -encryptRuleDefinition -resourceDefinition -resourceName -encryptColumnDefinition -columnDefinition -columnName -dataType -plainColumnDefinition -plainColumnName -cipherColumnDefinition -cipherColumnName -assistedQueryColumnDefinition -assistedQueryColumnName -likeQueryColumnDefinition -likeQueryColumnName -encryptAlgorithm -assistedQueryAlgorithm -likeQueryAlgorithm -queryWithCipherColumn -ifExists -ifNotExists -literal -algorithmDefinition -algorithmTypeName -buildinAlgorithmTypeName -propertiesDefinition -properties -property -tableName - - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 93, 300, 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, 3, 2, 3, 2, 3, 2, 3, 2, 5, 2, 71, 10, 2, 3, 2, 3, 2, 3, 2, 7, 2, 76, 10, 2, 12, 2, 14, 2, 79, 11, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 87, 10, 3, 12, 3, 14, 3, 90, 11, 3, 3, 4, 3, 4, 3, 4, 3, 4, 5, 4, 96, 10, 4, 3, 4, 3, 4, 3, 4, 7, 4, 101, 10, 4, 12, 4, 14, 4, 104, 11, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 5, 5, 111, 10, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 7, 5, 118, 10, 5, 12, 5, 14, 5, 121, 11, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 5, 5, 128, 10, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 8, 5, 8, 142, 10, 8, 3, 8, 3, 8, 3, 8, 3, 8, 5, 8, 148, 10, 8, 3, 8, 3, 8, 5, 8, 152, 10, 8, 3, 8, 3, 8, 3, 8, 3, 8, 5, 8, 158, 10, 8, 3, 8, 3, 8, 5, 8, 162, 10, 8, 3, 8, 3, 8, 3, 8, 3, 8, 5, 8, 168, 10, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 5, 9, 179, 10, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 5, 12, 192, 10, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 5, 14, 203, 10, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 5, 16, 214, 10, 16, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 5, 18, 225, 10, 18, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 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, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 5, 26, 255, 10, 26, 3, 26, 3, 26, 3, 26, 5, 26, 260, 10, 26, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 5, 27, 269, 10, 27, 3, 27, 3, 27, 3, 28, 3, 28, 5, 28, 275, 10, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 30, 5, 30, 282, 10, 30, 3, 30, 3, 30, 3, 31, 3, 31, 3, 31, 7, 31, 289, 10, 31, 12, 31, 14, 31, 292, 11, 31, 3, 32, 3, 32, 3, 32, 3, 32, 3, 33, 3, 33, 3, 33, 2, 2, 34, 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, 2, 4, 3, 2, 69, 70, 3, 2, 79, 84, 2, 294, 2, 66, 3, 2, 2, 2, 4, 80, 3, 2, 2, 2, 6, 91, 3, 2, 2, 2, 8, 105, 3, 2, 2, 2, 10, 131, 3, 2, 2, 2, 12, 135, 3, 2, 2, 2, 14, 137, 3, 2, 2, 2, 16, 171, 3, 2, 2, 2, 18, 180, 3, 2, 2, 2, 20, 182, 3, 2, 2, 2, 22, 184, 3, 2, 2, 2, 24, 193, 3, 2, 2, 2, 26, 195, 3, 2, 2, 2, 28, 204, 3, 2, 2, 2, 30, 206, 3, 2, 2, 2, 32, 215, 3, 2, 2, 2, 34, 217, 3, 2, 2, 2, 36, 226, 3, 2, 2, 2, 38, 228, 3, 2, 2, 2, 40, 233, 3, 2, 2, 2, 42, 238, 3, 2, 2, 2, 44, 243, 3, 2, 2, 2, 46, 245, 3, 2, 2, 2, 48, 248, 3, 2, 2, 2, 50, 259, 3, 2, 2, 2, 52, 261, 3, 2, 2, 2, 54, 274, 3, 2, 2, 2, 56, 276, 3, 2, 2, 2, 58, 278, 3, 2, 2, 2, 60, 285, 3, 2, 2, 2, 62, 293, 3, 2, 2, 2, 64, 297, 3, 2, 2, 2, 66, 67, 7, 46, 2, 2, 67, 68, 7, 53, 2, 2, 68, 70, 7, 51, 2, 2, 69, 71, 5, 48, 25, 2, 70, 69, 3, 2, 2, 2, 70, 71, 3, 2, 2, 2, 71, 72, 3, 2, 2, 2, 72, 77, 5, 8, 5, 2, 73, 74, 7, 36, 2, 2, 74, 76, 5, 8, 5, 2, 75, 73, 3, 2, 2, 2, 76, 79, 3, 2, 2, 2, 77, 75, 3, 2, 2, 2, 77, 78, 3, 2, 2, 2, 78, 3, 3, 2, 2, 2, 79, 77, 3, 2, 2, 2, 80, 81, 7, 47, 2, 2, 81, 82, 7, 53, 2, 2, 82, 83, 7, 51, 2, 2, 83, 88, 5, 8, 5, 2, 84, 85, 7, 36, 2, 2, 85, 87, 5, 8, 5, 2, 86, 84, 3, 2, 2, 2, 87, 90, 3, 2, 2, 2, 88, 86, 3, 2, 2, 2, 88, 89, 3, 2, 2, 2, 89, 5, 3, 2, 2, 2, 90, 88, 3, 2, 2, 2, 91, 92, 7, 48, 2, 2, 92, 93, 7, 53, 2, 2, 93, 95, 7, 51, 2, 2, 94, 96, 5, 46, 24, 2, 95, 94, 3, 2, 2, 2, 95, 96, 3, 2, 2, 2, 96, 97, 3, 2, 2, 2, 97, 102, 5, 64, 33, 2, 98, 99, 7, 36, 2, 2, 99, 101, 5, 64, 33, 2, 100, 98, 3, 2, 2, 2, 101, 104, 3, 2, 2, 2, 102, 100, 3, 2, 2, 2, 102, 103, 3, 2, 2, 2, 103, 7, 3, 2, 2, 2, 104, 102, 3, 2, 2, 2, 105, 106, 5, 64, 33, 2, 106, 110, 7, 30, 2, 2, 107, 108, 5, 10, 6, 2, 108, 109, 7, 36, 2, 2, 109, 111, 3, 2, 2, 2, 110, 107, 3, 2, 2, 2, 110, 111, 3, 2, 2, 2, 111, 112, 3, 2, 2, 2, 112, 113, 7, 63, 2, 2, 113, 114, 7, 30, 2, 2, 114, 119, 5, 14, 8, 2, 115, 116, 7, 36, 2, 2, 116, 118, 5, 14, 8, 2, 117, 115, 3, 2, 2, 2, 118, 121, 3, 2, 2, 2, 119, 117, 3, 2, 2, 2, 119, 120, 3, 2, 2, 2, 120, 122, 3, 2, 2, 2, 121, 119, 3, 2, 2, 2, 122, 127, 7, 31, 2, 2, 123, 124, 7, 36, 2, 2, 124, 125, 7, 68, 2, 2, 125, 126, 7, 23, 2, 2, 126, 128, 5, 44, 23, 2, 127, 123, 3, 2, 2, 2, 127, 128, 3, 2, 2, 2, 128, 129, 3, 2, 2, 2, 129, 130, 7, 31, 2, 2, 130, 9, 3, 2, 2, 2, 131, 132, 7, 50, 2, 2, 132, 133, 7, 23, 2, 2, 133, 134, 5, 12, 7, 2, 134, 11, 3, 2, 2, 2, 135, 136, 7, 87, 2, 2, 136, 13, 3, 2, 2, 2, 137, 138, 7, 30, 2, 2, 138, 141, 5, 16, 9, 2, 139, 140, 7, 36, 2, 2, 140, 142, 5, 22, 12, 2, 141, 139, 3, 2, 2, 2, 141, 142, 3, 2, 2, 2, 142, 143, 3, 2, 2, 2, 143, 144, 7, 36, 2, 2, 144, 147, 5, 26, 14, 2, 145, 146, 7, 36, 2, 2, 146, 148, 5, 30, 16, 2, 147, 145, 3, 2, 2, 2, 147, 148, 3, 2, 2, 2, 148, 151, 3, 2, 2, 2, 149, 150, 7, 36, 2, 2, 150, 152, 5, 34, 18, 2, 151, 149, 3, 2, 2, 2, 151, 152, 3, 2, 2, 2, 152, 153, 3, 2, 2, 2, 153, 154, 7, 36, 2, 2, 154, 157, 5, 38, 20, 2, 155, 156, 7, 36, 2, 2, 156, 158, 5, 40, 21, 2, 157, 155, 3, 2, 2, 2, 157, 158, 3, 2, 2, 2, 158, 161, 3, 2, 2, 2, 159, 160, 7, 36, 2, 2, 160, 162, 5, 42, 22, 2, 161, 159, 3, 2, 2, 2, 161, 162, 3, 2, 2, 2, 162, 167, 3, 2, 2, 2, 163, 164, 7, 36, 2, 2, 164, 165, 7, 68, 2, 2, 165, 166, 7, 23, 2, 2, 166, 168, 5, 44, 23, 2, 167, 163, 3, 2, 2, 2, 167, 168, 3, 2, 2, 2, 168, 169, 3, 2, 2, 2, 169, 170, 7, 31, 2, 2, 170, 15, 3, 2, 2, 2, 171, 172, 7, 58, 2, 2, 172, 173, 7, 23, 2, 2, 173, 178, 5, 18, 10, 2, 174, 175, 7, 36, 2, 2, 175, 176, 7, 71, 2, 2, 176, 177, 7, 23, 2, 2, 177, 179, 5, 20, 11, 2, 178, 174, 3, 2, 2, 2, 178, 179, 3, 2, 2, 2, 179, 17, 3, 2, 2, 2, 180, 181, 7, 87, 2, 2, 181, 19, 3, 2, 2, 2, 182, 183, 7, 88, 2, 2, 183, 21, 3, 2, 2, 2, 184, 185, 7, 65, 2, 2, 185, 186, 7, 23, 2, 2, 186, 191, 5, 24, 13, 2, 187, 188, 7, 36, 2, 2, 188, 189, 7, 72, 2, 2, 189, 190, 7, 23, 2, 2, 190, 192, 5, 20, 11, 2, 191, 187, 3, 2, 2, 2, 191, 192, 3, 2, 2, 2, 192, 23, 3, 2, 2, 2, 193, 194, 7, 87, 2, 2, 194, 25, 3, 2, 2, 2, 195, 196, 7, 64, 2, 2, 196, 197, 7, 23, 2, 2, 197, 202, 5, 28, 15, 2, 198, 199, 7, 36, 2, 2, 199, 200, 7, 73, 2, 2, 200, 201, 7, 23, 2, 2, 201, 203, 5, 20, 11, 2, 202, 198, 3, 2, 2, 2, 202, 203, 3, 2, 2, 2, 203, 27, 3, 2, 2, 2, 204, 205, 7, 87, 2, 2, 205, 29, 3, 2, 2, 2, 206, 207, 7, 66, 2, 2, 207, 208, 7, 23, 2, 2, 208, 213, 5, 32, 17, 2, 209, 210, 7, 36, 2, 2, 210, 211, 7, 74, 2, 2, 211, 212, 7, 23, 2, 2, 212, 214, 5, 20, 11, 2, 213, 209, 3, 2, 2, 2, 213, 214, 3, 2, 2, 2, 214, 31, 3, 2, 2, 2, 215, 216, 7, 87, 2, 2, 216, 33, 3, 2, 2, 2, 217, 218, 7, 67, 2, 2, 218, 219, 7, 23, 2, 2, 219, 224, 5, 36, 19, 2, 220, 221, 7, 36, 2, 2, 221, 222, 7, 75, 2, 2, 222, 223, 7, 23, 2, 2, 223, 225, 5, 20, 11, 2, 224, 220, 3, 2, 2, 2, 224, 225, 3, 2, 2, 2, 225, 35, 3, 2, 2, 2, 226, 227, 7, 87, 2, 2, 227, 37, 3, 2, 2, 2, 228, 229, 7, 55, 2, 2, 229, 230, 7, 30, 2, 2, 230, 231, 5, 52, 27, 2, 231, 232, 7, 31, 2, 2, 232, 39, 3, 2, 2, 2, 233, 234, 7, 56, 2, 2, 234, 235, 7, 30, 2, 2, 235, 236, 5, 52, 27, 2, 236, 237, 7, 31, 2, 2, 237, 41, 3, 2, 2, 2, 238, 239, 7, 57, 2, 2, 239, 240, 7, 30, 2, 2, 240, 241, 5, 52, 27, 2, 241, 242, 7, 31, 2, 2, 242, 43, 3, 2, 2, 2, 243, 244, 9, 2, 2, 2, 244, 45, 3, 2, 2, 2, 245, 246, 7, 76, 2, 2, 246, 247, 7, 77, 2, 2, 247, 47, 3, 2, 2, 2, 248, 249, 7, 76, 2, 2, 249, 250, 7, 85, 2, 2, 250, 251, 7, 77, 2, 2, 251, 49, 3, 2, 2, 2, 252, 260, 7, 88, 2, 2, 253, 255, 7, 15, 2, 2, 254, 253, 3, 2, 2, 2, 254, 255, 3, 2, 2, 2, 255, 256, 3, 2, 2, 2, 256, 260, 7, 89, 2, 2, 257, 260, 7, 69, 2, 2, 258, 260, 7, 70, 2, 2, 259, 252, 3, 2, 2, 2, 259, 254, 3, 2, 2, 2, 259, 257, 3, 2, 2, 2, 259, 258, 3, 2, 2, 2, 260, 51, 3, 2, 2, 2, 261, 262, 7, 54, 2, 2, 262, 263, 7, 30, 2, 2, 263, 264, 7, 58, 2, 2, 264, 265, 7, 23, 2, 2, 265, 268, 5, 54, 28, 2, 266, 267, 7, 36, 2, 2, 267, 269, 5, 58, 30, 2, 268, 266, 3, 2, 2, 2, 268, 269, 3, 2, 2, 2, 269, 270, 3, 2, 2, 2, 270, 271, 7, 31, 2, 2, 271, 53, 3, 2, 2, 2, 272, 275, 5, 56, 29, 2, 273, 275, 7, 88, 2, 2, 274, 272, 3, 2, 2, 2, 274, 273, 3, 2, 2, 2, 275, 55, 3, 2, 2, 2, 276, 277, 9, 3, 2, 2, 277, 57, 3, 2, 2, 2, 278, 279, 7, 59, 2, 2, 279, 281, 7, 30, 2, 2, 280, 282, 5, 60, 31, 2, 281, 280, 3, 2, 2, 2, 281, 282, 3, 2, 2, 2, 282, 283, 3, 2, 2, 2, 283, 284, 7, 31, 2, 2, 284, 59, 3, 2, 2, 2, 285, 290, 5, 62, 32, 2, 286, 287, 7, 36, 2, 2, 287, 289, 5, 62, 32, 2, 288, 286, 3, 2, 2, 2, 289, 292, 3, 2, 2, 2, 290, 288, 3, 2, 2, 2, 290, 291, 3, 2, 2, 2, 291, 61, 3, 2, 2, 2, 292, 290, 3, 2, 2, 2, 293, 294, 7, 88, 2, 2, 294, 295, 7, 23, 2, 2, 295, 296, 5, 50, 26, 2, 296, 63, 3, 2, 2, 2, 297, 298, 7, 87, 2, 2, 298, 65, 3, 2, 2, 2, 27, 70, 77, 88, 95, 102, 110, 119, 127, 141, 147, 151, 157, 161, 167, 178, 191, 202, 213, 224, 254, 259, 268, 274, 281, 290] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatement.tokens b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatement.tokens deleted file mode 100644 index 00b61d0c..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatement.tokens +++ /dev/null @@ -1,133 +0,0 @@ -AND_=1 -OR_=2 -NOT_=3 -TILDE_=4 -VERTICALBAR_=5 -AMPERSAND_=6 -SIGNEDLEFTSHIFT_=7 -SIGNEDRIGHTSHIFT_=8 -CARET_=9 -MOD_=10 -COLON_=11 -PLUS_=12 -MINUS_=13 -ASTERISK_=14 -SLASH_=15 -BACKSLASH_=16 -DOT_=17 -DOTASTERISK_=18 -SAFEEQ_=19 -DEQ_=20 -EQ_=21 -NEQ_=22 -GT_=23 -GTE_=24 -LT_=25 -LTE_=26 -POUND_=27 -LP_=28 -RP_=29 -LBE_=30 -RBE_=31 -LBT_=32 -RBT_=33 -COMMA_=34 -DQ_=35 -SQ_=36 -BQ_=37 -QUESTION_=38 -AT_=39 -SEMI_=40 -JSONSEPARATOR_=41 -UL_=42 -WS=43 -CREATE=44 -ALTER=45 -DROP=46 -SHOW=47 -RESOURCE=48 -RULE=49 -FROM=50 -ENCRYPT=51 -TYPE=52 -ENCRYPT_ALGORITHM=53 -ASSISTED_QUERY_ALGORITHM=54 -LIKE_QUERY_ALGORITHM=55 -NAME=56 -PROPERTIES=57 -COLUMN=58 -RULES=59 -TABLE=60 -COLUMNS=61 -CIPHER=62 -PLAIN=63 -ASSISTED_QUERY_COLUMN=64 -LIKE_QUERY_COLUMN=65 -QUERY_WITH_CIPHER_COLUMN=66 -TRUE=67 -FALSE=68 -DATA_TYPE=69 -PLAIN_DATA_TYPE=70 -CIPHER_DATA_TYPE=71 -ASSISTED_QUERY_DATA_TYPE=72 -LIKE_QUERY_DATA_TYPE=73 -IF=74 -EXISTS=75 -COUNT=76 -MD5=77 -AES=78 -RC4=79 -SM3=80 -SM4=81 -CHAR_DIGEST_LIKE=82 -NOT=83 -FOR_GENERATOR=84 -IDENTIFIER_=85 -STRING_=86 -INT_=87 -HEX_=88 -NUMBER_=89 -HEXDIGIT_=90 -BITNUM_=91 -'&&'=1 -'||'=2 -'!'=3 -'~'=4 -'|'=5 -'&'=6 -'<<'=7 -'>>'=8 -'^'=9 -'%'=10 -':'=11 -'+'=12 -'-'=13 -'*'=14 -'/'=15 -'\\'=16 -'.'=17 -'.*'=18 -'<=>'=19 -'=='=20 -'='=21 -'>'=23 -'>='=24 -'<'=25 -'<='=26 -'#'=27 -'('=28 -')'=29 -'{'=30 -'}'=31 -'['=32 -']'=33 -','=34 -'"'=35 -'\''=36 -'`'=37 -'?'=38 -'@'=39 -';'=40 -'->>'=41 -'_'=42 -'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=84 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementLexer.interp b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementLexer.interp deleted file mode 100644 index 86422baa..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementLexer.interp +++ /dev/null @@ -1,316 +0,0 @@ -token literal names: -null -'&&' -'||' -'!' -'~' -'|' -'&' -'<<' -'>>' -'^' -'%' -':' -'+' -'-' -'*' -'/' -'\\' -'.' -'.*' -'<=>' -'==' -'=' -null -'>' -'>=' -'<' -'<=' -'#' -'(' -')' -'{' -'}' -'[' -']' -',' -'"' -'\'' -'`' -'?' -'@' -';' -'->>' -'_' -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -'DO NOT MATCH ANY THING, JUST FOR GENERATOR' -null -null -null -null -null -null -null - -token symbolic names: -null -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ -WS -CREATE -ALTER -DROP -SHOW -RESOURCE -RULE -FROM -ENCRYPT -TYPE -ENCRYPT_ALGORITHM -ASSISTED_QUERY_ALGORITHM -LIKE_QUERY_ALGORITHM -NAME -PROPERTIES -COLUMN -RULES -TABLE -COLUMNS -CIPHER -PLAIN -ASSISTED_QUERY_COLUMN -LIKE_QUERY_COLUMN -QUERY_WITH_CIPHER_COLUMN -TRUE -FALSE -DATA_TYPE -PLAIN_DATA_TYPE -CIPHER_DATA_TYPE -ASSISTED_QUERY_DATA_TYPE -LIKE_QUERY_DATA_TYPE -IF -EXISTS -COUNT -MD5 -AES -RC4 -SM3 -SM4 -CHAR_DIGEST_LIKE -NOT -FOR_GENERATOR -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ - -rule names: -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ -WS -CREATE -ALTER -DROP -SHOW -RESOURCE -RULE -FROM -ENCRYPT -TYPE -ENCRYPT_ALGORITHM -ASSISTED_QUERY_ALGORITHM -LIKE_QUERY_ALGORITHM -NAME -PROPERTIES -COLUMN -RULES -TABLE -COLUMNS -CIPHER -PLAIN -ASSISTED_QUERY_COLUMN -LIKE_QUERY_COLUMN -QUERY_WITH_CIPHER_COLUMN -TRUE -FALSE -DATA_TYPE -PLAIN_DATA_TYPE -CIPHER_DATA_TYPE -ASSISTED_QUERY_DATA_TYPE -LIKE_QUERY_DATA_TYPE -IF -EXISTS -COUNT -MD5 -AES -RC4 -SM3 -SM4 -CHAR_DIGEST_LIKE -NOT -FOR_GENERATOR -A -B -C -D -E -F -G -H -I -J -K -L -M -N -O -P -Q -R -S -T -U -V -W -X -Y -Z -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ - -channel names: -DEFAULT_TOKEN_CHANNEL -HIDDEN - -mode names: -DEFAULT_MODE - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 93, 952, 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, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 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, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 292, 10, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 44, 6, 44, 339, 10, 44, 13, 44, 14, 44, 340, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 75, 3, 75, 3, 75, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 78, 3, 78, 3, 78, 3, 78, 3, 79, 3, 79, 3, 79, 3, 79, 3, 80, 3, 80, 3, 80, 3, 80, 3, 81, 3, 81, 3, 81, 3, 81, 3, 82, 3, 82, 3, 82, 3, 82, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 84, 3, 84, 3, 84, 3, 84, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 86, 3, 86, 3, 87, 3, 87, 3, 88, 3, 88, 3, 89, 3, 89, 3, 90, 3, 90, 3, 91, 3, 91, 3, 92, 3, 92, 3, 93, 3, 93, 3, 94, 3, 94, 3, 95, 3, 95, 3, 96, 3, 96, 3, 97, 3, 97, 3, 98, 3, 98, 3, 99, 3, 99, 3, 100, 3, 100, 3, 101, 3, 101, 3, 102, 3, 102, 3, 103, 3, 103, 3, 104, 3, 104, 3, 105, 3, 105, 3, 106, 3, 106, 3, 107, 3, 107, 3, 108, 3, 108, 3, 109, 3, 109, 3, 110, 3, 110, 3, 111, 3, 111, 3, 112, 7, 112, 838, 10, 112, 12, 112, 14, 112, 841, 11, 112, 3, 112, 6, 112, 844, 10, 112, 13, 112, 14, 112, 845, 3, 112, 7, 112, 849, 10, 112, 12, 112, 14, 112, 852, 11, 112, 3, 112, 3, 112, 6, 112, 856, 10, 112, 13, 112, 14, 112, 857, 3, 112, 3, 112, 5, 112, 862, 10, 112, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 7, 113, 870, 10, 113, 12, 113, 14, 113, 873, 11, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 7, 113, 883, 10, 113, 12, 113, 14, 113, 886, 11, 113, 3, 113, 3, 113, 5, 113, 890, 10, 113, 3, 114, 6, 114, 893, 10, 114, 13, 114, 14, 114, 894, 3, 115, 3, 115, 3, 116, 5, 116, 900, 10, 116, 3, 116, 5, 116, 903, 10, 116, 3, 116, 3, 116, 3, 116, 3, 116, 5, 116, 909, 10, 116, 3, 116, 3, 116, 5, 116, 913, 10, 116, 3, 117, 3, 117, 3, 117, 3, 117, 6, 117, 919, 10, 117, 13, 117, 14, 117, 920, 3, 117, 3, 117, 3, 117, 6, 117, 926, 10, 117, 13, 117, 14, 117, 927, 3, 117, 3, 117, 5, 117, 932, 10, 117, 3, 118, 3, 118, 3, 118, 3, 118, 6, 118, 938, 10, 118, 13, 118, 14, 118, 939, 3, 118, 3, 118, 3, 118, 6, 118, 945, 10, 118, 13, 118, 14, 118, 946, 3, 118, 3, 118, 5, 118, 951, 10, 118, 4, 839, 845, 2, 119, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, 91, 47, 93, 48, 95, 49, 97, 50, 99, 51, 101, 52, 103, 53, 105, 54, 107, 55, 109, 56, 111, 57, 113, 58, 115, 59, 117, 60, 119, 61, 121, 62, 123, 63, 125, 64, 127, 65, 129, 66, 131, 67, 133, 68, 135, 69, 137, 70, 139, 71, 141, 72, 143, 73, 145, 74, 147, 75, 149, 76, 151, 77, 153, 78, 155, 79, 157, 80, 159, 81, 161, 82, 163, 83, 165, 84, 167, 85, 169, 86, 171, 2, 173, 2, 175, 2, 177, 2, 179, 2, 181, 2, 183, 2, 185, 2, 187, 2, 189, 2, 191, 2, 193, 2, 195, 2, 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, 87, 225, 88, 227, 89, 229, 90, 231, 91, 233, 92, 235, 93, 3, 2, 39, 5, 2, 11, 12, 15, 15, 34, 34, 3, 2, 55, 55, 3, 2, 54, 54, 3, 2, 53, 53, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 7, 2, 38, 38, 50, 59, 67, 92, 97, 97, 99, 124, 6, 2, 38, 38, 67, 92, 97, 97, 99, 124, 3, 2, 98, 98, 4, 2, 36, 36, 94, 94, 4, 2, 41, 41, 94, 94, 3, 2, 50, 59, 5, 2, 50, 59, 67, 72, 99, 104, 2, 951, 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, 223, 3, 2, 2, 2, 2, 225, 3, 2, 2, 2, 2, 227, 3, 2, 2, 2, 2, 229, 3, 2, 2, 2, 2, 231, 3, 2, 2, 2, 2, 233, 3, 2, 2, 2, 2, 235, 3, 2, 2, 2, 3, 237, 3, 2, 2, 2, 5, 240, 3, 2, 2, 2, 7, 243, 3, 2, 2, 2, 9, 245, 3, 2, 2, 2, 11, 247, 3, 2, 2, 2, 13, 249, 3, 2, 2, 2, 15, 251, 3, 2, 2, 2, 17, 254, 3, 2, 2, 2, 19, 257, 3, 2, 2, 2, 21, 259, 3, 2, 2, 2, 23, 261, 3, 2, 2, 2, 25, 263, 3, 2, 2, 2, 27, 265, 3, 2, 2, 2, 29, 267, 3, 2, 2, 2, 31, 269, 3, 2, 2, 2, 33, 271, 3, 2, 2, 2, 35, 273, 3, 2, 2, 2, 37, 275, 3, 2, 2, 2, 39, 278, 3, 2, 2, 2, 41, 282, 3, 2, 2, 2, 43, 285, 3, 2, 2, 2, 45, 291, 3, 2, 2, 2, 47, 293, 3, 2, 2, 2, 49, 295, 3, 2, 2, 2, 51, 298, 3, 2, 2, 2, 53, 300, 3, 2, 2, 2, 55, 303, 3, 2, 2, 2, 57, 305, 3, 2, 2, 2, 59, 307, 3, 2, 2, 2, 61, 309, 3, 2, 2, 2, 63, 311, 3, 2, 2, 2, 65, 313, 3, 2, 2, 2, 67, 315, 3, 2, 2, 2, 69, 317, 3, 2, 2, 2, 71, 319, 3, 2, 2, 2, 73, 321, 3, 2, 2, 2, 75, 323, 3, 2, 2, 2, 77, 325, 3, 2, 2, 2, 79, 327, 3, 2, 2, 2, 81, 329, 3, 2, 2, 2, 83, 331, 3, 2, 2, 2, 85, 335, 3, 2, 2, 2, 87, 338, 3, 2, 2, 2, 89, 344, 3, 2, 2, 2, 91, 351, 3, 2, 2, 2, 93, 357, 3, 2, 2, 2, 95, 362, 3, 2, 2, 2, 97, 367, 3, 2, 2, 2, 99, 376, 3, 2, 2, 2, 101, 381, 3, 2, 2, 2, 103, 386, 3, 2, 2, 2, 105, 394, 3, 2, 2, 2, 107, 399, 3, 2, 2, 2, 109, 417, 3, 2, 2, 2, 111, 442, 3, 2, 2, 2, 113, 463, 3, 2, 2, 2, 115, 468, 3, 2, 2, 2, 117, 479, 3, 2, 2, 2, 119, 486, 3, 2, 2, 2, 121, 492, 3, 2, 2, 2, 123, 498, 3, 2, 2, 2, 125, 506, 3, 2, 2, 2, 127, 513, 3, 2, 2, 2, 129, 519, 3, 2, 2, 2, 131, 541, 3, 2, 2, 2, 133, 559, 3, 2, 2, 2, 135, 584, 3, 2, 2, 2, 137, 589, 3, 2, 2, 2, 139, 595, 3, 2, 2, 2, 141, 605, 3, 2, 2, 2, 143, 621, 3, 2, 2, 2, 145, 638, 3, 2, 2, 2, 147, 663, 3, 2, 2, 2, 149, 684, 3, 2, 2, 2, 151, 687, 3, 2, 2, 2, 153, 694, 3, 2, 2, 2, 155, 700, 3, 2, 2, 2, 157, 704, 3, 2, 2, 2, 159, 708, 3, 2, 2, 2, 161, 712, 3, 2, 2, 2, 163, 716, 3, 2, 2, 2, 165, 720, 3, 2, 2, 2, 167, 737, 3, 2, 2, 2, 169, 741, 3, 2, 2, 2, 171, 784, 3, 2, 2, 2, 173, 786, 3, 2, 2, 2, 175, 788, 3, 2, 2, 2, 177, 790, 3, 2, 2, 2, 179, 792, 3, 2, 2, 2, 181, 794, 3, 2, 2, 2, 183, 796, 3, 2, 2, 2, 185, 798, 3, 2, 2, 2, 187, 800, 3, 2, 2, 2, 189, 802, 3, 2, 2, 2, 191, 804, 3, 2, 2, 2, 193, 806, 3, 2, 2, 2, 195, 808, 3, 2, 2, 2, 197, 810, 3, 2, 2, 2, 199, 812, 3, 2, 2, 2, 201, 814, 3, 2, 2, 2, 203, 816, 3, 2, 2, 2, 205, 818, 3, 2, 2, 2, 207, 820, 3, 2, 2, 2, 209, 822, 3, 2, 2, 2, 211, 824, 3, 2, 2, 2, 213, 826, 3, 2, 2, 2, 215, 828, 3, 2, 2, 2, 217, 830, 3, 2, 2, 2, 219, 832, 3, 2, 2, 2, 221, 834, 3, 2, 2, 2, 223, 861, 3, 2, 2, 2, 225, 889, 3, 2, 2, 2, 227, 892, 3, 2, 2, 2, 229, 896, 3, 2, 2, 2, 231, 899, 3, 2, 2, 2, 233, 931, 3, 2, 2, 2, 235, 950, 3, 2, 2, 2, 237, 238, 7, 40, 2, 2, 238, 239, 7, 40, 2, 2, 239, 4, 3, 2, 2, 2, 240, 241, 7, 126, 2, 2, 241, 242, 7, 126, 2, 2, 242, 6, 3, 2, 2, 2, 243, 244, 7, 35, 2, 2, 244, 8, 3, 2, 2, 2, 245, 246, 7, 128, 2, 2, 246, 10, 3, 2, 2, 2, 247, 248, 7, 126, 2, 2, 248, 12, 3, 2, 2, 2, 249, 250, 7, 40, 2, 2, 250, 14, 3, 2, 2, 2, 251, 252, 7, 62, 2, 2, 252, 253, 7, 62, 2, 2, 253, 16, 3, 2, 2, 2, 254, 255, 7, 64, 2, 2, 255, 256, 7, 64, 2, 2, 256, 18, 3, 2, 2, 2, 257, 258, 7, 96, 2, 2, 258, 20, 3, 2, 2, 2, 259, 260, 7, 39, 2, 2, 260, 22, 3, 2, 2, 2, 261, 262, 7, 60, 2, 2, 262, 24, 3, 2, 2, 2, 263, 264, 7, 45, 2, 2, 264, 26, 3, 2, 2, 2, 265, 266, 7, 47, 2, 2, 266, 28, 3, 2, 2, 2, 267, 268, 7, 44, 2, 2, 268, 30, 3, 2, 2, 2, 269, 270, 7, 49, 2, 2, 270, 32, 3, 2, 2, 2, 271, 272, 7, 94, 2, 2, 272, 34, 3, 2, 2, 2, 273, 274, 7, 48, 2, 2, 274, 36, 3, 2, 2, 2, 275, 276, 7, 48, 2, 2, 276, 277, 7, 44, 2, 2, 277, 38, 3, 2, 2, 2, 278, 279, 7, 62, 2, 2, 279, 280, 7, 63, 2, 2, 280, 281, 7, 64, 2, 2, 281, 40, 3, 2, 2, 2, 282, 283, 7, 63, 2, 2, 283, 284, 7, 63, 2, 2, 284, 42, 3, 2, 2, 2, 285, 286, 7, 63, 2, 2, 286, 44, 3, 2, 2, 2, 287, 288, 7, 62, 2, 2, 288, 292, 7, 64, 2, 2, 289, 290, 7, 35, 2, 2, 290, 292, 7, 63, 2, 2, 291, 287, 3, 2, 2, 2, 291, 289, 3, 2, 2, 2, 292, 46, 3, 2, 2, 2, 293, 294, 7, 64, 2, 2, 294, 48, 3, 2, 2, 2, 295, 296, 7, 64, 2, 2, 296, 297, 7, 63, 2, 2, 297, 50, 3, 2, 2, 2, 298, 299, 7, 62, 2, 2, 299, 52, 3, 2, 2, 2, 300, 301, 7, 62, 2, 2, 301, 302, 7, 63, 2, 2, 302, 54, 3, 2, 2, 2, 303, 304, 7, 37, 2, 2, 304, 56, 3, 2, 2, 2, 305, 306, 7, 42, 2, 2, 306, 58, 3, 2, 2, 2, 307, 308, 7, 43, 2, 2, 308, 60, 3, 2, 2, 2, 309, 310, 7, 125, 2, 2, 310, 62, 3, 2, 2, 2, 311, 312, 7, 127, 2, 2, 312, 64, 3, 2, 2, 2, 313, 314, 7, 93, 2, 2, 314, 66, 3, 2, 2, 2, 315, 316, 7, 95, 2, 2, 316, 68, 3, 2, 2, 2, 317, 318, 7, 46, 2, 2, 318, 70, 3, 2, 2, 2, 319, 320, 7, 36, 2, 2, 320, 72, 3, 2, 2, 2, 321, 322, 7, 41, 2, 2, 322, 74, 3, 2, 2, 2, 323, 324, 7, 98, 2, 2, 324, 76, 3, 2, 2, 2, 325, 326, 7, 65, 2, 2, 326, 78, 3, 2, 2, 2, 327, 328, 7, 66, 2, 2, 328, 80, 3, 2, 2, 2, 329, 330, 7, 61, 2, 2, 330, 82, 3, 2, 2, 2, 331, 332, 7, 47, 2, 2, 332, 333, 7, 64, 2, 2, 333, 334, 7, 64, 2, 2, 334, 84, 3, 2, 2, 2, 335, 336, 7, 97, 2, 2, 336, 86, 3, 2, 2, 2, 337, 339, 9, 2, 2, 2, 338, 337, 3, 2, 2, 2, 339, 340, 3, 2, 2, 2, 340, 338, 3, 2, 2, 2, 340, 341, 3, 2, 2, 2, 341, 342, 3, 2, 2, 2, 342, 343, 8, 44, 2, 2, 343, 88, 3, 2, 2, 2, 344, 345, 5, 175, 88, 2, 345, 346, 5, 205, 103, 2, 346, 347, 5, 179, 90, 2, 347, 348, 5, 171, 86, 2, 348, 349, 5, 209, 105, 2, 349, 350, 5, 179, 90, 2, 350, 90, 3, 2, 2, 2, 351, 352, 5, 171, 86, 2, 352, 353, 5, 193, 97, 2, 353, 354, 5, 209, 105, 2, 354, 355, 5, 179, 90, 2, 355, 356, 5, 205, 103, 2, 356, 92, 3, 2, 2, 2, 357, 358, 5, 177, 89, 2, 358, 359, 5, 205, 103, 2, 359, 360, 5, 199, 100, 2, 360, 361, 5, 201, 101, 2, 361, 94, 3, 2, 2, 2, 362, 363, 5, 207, 104, 2, 363, 364, 5, 185, 93, 2, 364, 365, 5, 199, 100, 2, 365, 366, 5, 215, 108, 2, 366, 96, 3, 2, 2, 2, 367, 368, 5, 205, 103, 2, 368, 369, 5, 179, 90, 2, 369, 370, 5, 207, 104, 2, 370, 371, 5, 199, 100, 2, 371, 372, 5, 211, 106, 2, 372, 373, 5, 205, 103, 2, 373, 374, 5, 175, 88, 2, 374, 375, 5, 179, 90, 2, 375, 98, 3, 2, 2, 2, 376, 377, 5, 205, 103, 2, 377, 378, 5, 211, 106, 2, 378, 379, 5, 193, 97, 2, 379, 380, 5, 179, 90, 2, 380, 100, 3, 2, 2, 2, 381, 382, 5, 181, 91, 2, 382, 383, 5, 205, 103, 2, 383, 384, 5, 199, 100, 2, 384, 385, 5, 195, 98, 2, 385, 102, 3, 2, 2, 2, 386, 387, 5, 179, 90, 2, 387, 388, 5, 197, 99, 2, 388, 389, 5, 175, 88, 2, 389, 390, 5, 205, 103, 2, 390, 391, 5, 219, 110, 2, 391, 392, 5, 201, 101, 2, 392, 393, 5, 209, 105, 2, 393, 104, 3, 2, 2, 2, 394, 395, 5, 209, 105, 2, 395, 396, 5, 219, 110, 2, 396, 397, 5, 201, 101, 2, 397, 398, 5, 179, 90, 2, 398, 106, 3, 2, 2, 2, 399, 400, 5, 179, 90, 2, 400, 401, 5, 197, 99, 2, 401, 402, 5, 175, 88, 2, 402, 403, 5, 205, 103, 2, 403, 404, 5, 219, 110, 2, 404, 405, 5, 201, 101, 2, 405, 406, 5, 209, 105, 2, 406, 407, 5, 85, 43, 2, 407, 408, 5, 171, 86, 2, 408, 409, 5, 193, 97, 2, 409, 410, 5, 183, 92, 2, 410, 411, 5, 199, 100, 2, 411, 412, 5, 205, 103, 2, 412, 413, 5, 187, 94, 2, 413, 414, 5, 209, 105, 2, 414, 415, 5, 185, 93, 2, 415, 416, 5, 195, 98, 2, 416, 108, 3, 2, 2, 2, 417, 418, 5, 171, 86, 2, 418, 419, 5, 207, 104, 2, 419, 420, 5, 207, 104, 2, 420, 421, 5, 187, 94, 2, 421, 422, 5, 207, 104, 2, 422, 423, 5, 209, 105, 2, 423, 424, 5, 179, 90, 2, 424, 425, 5, 177, 89, 2, 425, 426, 5, 85, 43, 2, 426, 427, 5, 203, 102, 2, 427, 428, 5, 211, 106, 2, 428, 429, 5, 179, 90, 2, 429, 430, 5, 205, 103, 2, 430, 431, 5, 219, 110, 2, 431, 432, 5, 85, 43, 2, 432, 433, 5, 171, 86, 2, 433, 434, 5, 193, 97, 2, 434, 435, 5, 183, 92, 2, 435, 436, 5, 199, 100, 2, 436, 437, 5, 205, 103, 2, 437, 438, 5, 187, 94, 2, 438, 439, 5, 209, 105, 2, 439, 440, 5, 185, 93, 2, 440, 441, 5, 195, 98, 2, 441, 110, 3, 2, 2, 2, 442, 443, 5, 193, 97, 2, 443, 444, 5, 187, 94, 2, 444, 445, 5, 191, 96, 2, 445, 446, 5, 179, 90, 2, 446, 447, 5, 85, 43, 2, 447, 448, 5, 203, 102, 2, 448, 449, 5, 211, 106, 2, 449, 450, 5, 179, 90, 2, 450, 451, 5, 205, 103, 2, 451, 452, 5, 219, 110, 2, 452, 453, 5, 85, 43, 2, 453, 454, 5, 171, 86, 2, 454, 455, 5, 193, 97, 2, 455, 456, 5, 183, 92, 2, 456, 457, 5, 199, 100, 2, 457, 458, 5, 205, 103, 2, 458, 459, 5, 187, 94, 2, 459, 460, 5, 209, 105, 2, 460, 461, 5, 185, 93, 2, 461, 462, 5, 195, 98, 2, 462, 112, 3, 2, 2, 2, 463, 464, 5, 197, 99, 2, 464, 465, 5, 171, 86, 2, 465, 466, 5, 195, 98, 2, 466, 467, 5, 179, 90, 2, 467, 114, 3, 2, 2, 2, 468, 469, 5, 201, 101, 2, 469, 470, 5, 205, 103, 2, 470, 471, 5, 199, 100, 2, 471, 472, 5, 201, 101, 2, 472, 473, 5, 179, 90, 2, 473, 474, 5, 205, 103, 2, 474, 475, 5, 209, 105, 2, 475, 476, 5, 187, 94, 2, 476, 477, 5, 179, 90, 2, 477, 478, 5, 207, 104, 2, 478, 116, 3, 2, 2, 2, 479, 480, 5, 175, 88, 2, 480, 481, 5, 199, 100, 2, 481, 482, 5, 193, 97, 2, 482, 483, 5, 211, 106, 2, 483, 484, 5, 195, 98, 2, 484, 485, 5, 197, 99, 2, 485, 118, 3, 2, 2, 2, 486, 487, 5, 205, 103, 2, 487, 488, 5, 211, 106, 2, 488, 489, 5, 193, 97, 2, 489, 490, 5, 179, 90, 2, 490, 491, 5, 207, 104, 2, 491, 120, 3, 2, 2, 2, 492, 493, 5, 209, 105, 2, 493, 494, 5, 171, 86, 2, 494, 495, 5, 173, 87, 2, 495, 496, 5, 193, 97, 2, 496, 497, 5, 179, 90, 2, 497, 122, 3, 2, 2, 2, 498, 499, 5, 175, 88, 2, 499, 500, 5, 199, 100, 2, 500, 501, 5, 193, 97, 2, 501, 502, 5, 211, 106, 2, 502, 503, 5, 195, 98, 2, 503, 504, 5, 197, 99, 2, 504, 505, 5, 207, 104, 2, 505, 124, 3, 2, 2, 2, 506, 507, 5, 175, 88, 2, 507, 508, 5, 187, 94, 2, 508, 509, 5, 201, 101, 2, 509, 510, 5, 185, 93, 2, 510, 511, 5, 179, 90, 2, 511, 512, 5, 205, 103, 2, 512, 126, 3, 2, 2, 2, 513, 514, 5, 201, 101, 2, 514, 515, 5, 193, 97, 2, 515, 516, 5, 171, 86, 2, 516, 517, 5, 187, 94, 2, 517, 518, 5, 197, 99, 2, 518, 128, 3, 2, 2, 2, 519, 520, 5, 171, 86, 2, 520, 521, 5, 207, 104, 2, 521, 522, 5, 207, 104, 2, 522, 523, 5, 187, 94, 2, 523, 524, 5, 207, 104, 2, 524, 525, 5, 209, 105, 2, 525, 526, 5, 179, 90, 2, 526, 527, 5, 177, 89, 2, 527, 528, 5, 85, 43, 2, 528, 529, 5, 203, 102, 2, 529, 530, 5, 211, 106, 2, 530, 531, 5, 179, 90, 2, 531, 532, 5, 205, 103, 2, 532, 533, 5, 219, 110, 2, 533, 534, 5, 85, 43, 2, 534, 535, 5, 175, 88, 2, 535, 536, 5, 199, 100, 2, 536, 537, 5, 193, 97, 2, 537, 538, 5, 211, 106, 2, 538, 539, 5, 195, 98, 2, 539, 540, 5, 197, 99, 2, 540, 130, 3, 2, 2, 2, 541, 542, 5, 193, 97, 2, 542, 543, 5, 187, 94, 2, 543, 544, 5, 191, 96, 2, 544, 545, 5, 179, 90, 2, 545, 546, 5, 85, 43, 2, 546, 547, 5, 203, 102, 2, 547, 548, 5, 211, 106, 2, 548, 549, 5, 179, 90, 2, 549, 550, 5, 205, 103, 2, 550, 551, 5, 219, 110, 2, 551, 552, 5, 85, 43, 2, 552, 553, 5, 175, 88, 2, 553, 554, 5, 199, 100, 2, 554, 555, 5, 193, 97, 2, 555, 556, 5, 211, 106, 2, 556, 557, 5, 195, 98, 2, 557, 558, 5, 197, 99, 2, 558, 132, 3, 2, 2, 2, 559, 560, 5, 203, 102, 2, 560, 561, 5, 211, 106, 2, 561, 562, 5, 179, 90, 2, 562, 563, 5, 205, 103, 2, 563, 564, 5, 219, 110, 2, 564, 565, 5, 85, 43, 2, 565, 566, 5, 215, 108, 2, 566, 567, 5, 187, 94, 2, 567, 568, 5, 209, 105, 2, 568, 569, 5, 185, 93, 2, 569, 570, 5, 85, 43, 2, 570, 571, 5, 175, 88, 2, 571, 572, 5, 187, 94, 2, 572, 573, 5, 201, 101, 2, 573, 574, 5, 185, 93, 2, 574, 575, 5, 179, 90, 2, 575, 576, 5, 205, 103, 2, 576, 577, 5, 85, 43, 2, 577, 578, 5, 175, 88, 2, 578, 579, 5, 199, 100, 2, 579, 580, 5, 193, 97, 2, 580, 581, 5, 211, 106, 2, 581, 582, 5, 195, 98, 2, 582, 583, 5, 197, 99, 2, 583, 134, 3, 2, 2, 2, 584, 585, 5, 209, 105, 2, 585, 586, 5, 205, 103, 2, 586, 587, 5, 211, 106, 2, 587, 588, 5, 179, 90, 2, 588, 136, 3, 2, 2, 2, 589, 590, 5, 181, 91, 2, 590, 591, 5, 171, 86, 2, 591, 592, 5, 193, 97, 2, 592, 593, 5, 207, 104, 2, 593, 594, 5, 179, 90, 2, 594, 138, 3, 2, 2, 2, 595, 596, 5, 177, 89, 2, 596, 597, 5, 171, 86, 2, 597, 598, 5, 209, 105, 2, 598, 599, 5, 171, 86, 2, 599, 600, 5, 85, 43, 2, 600, 601, 5, 209, 105, 2, 601, 602, 5, 219, 110, 2, 602, 603, 5, 201, 101, 2, 603, 604, 5, 179, 90, 2, 604, 140, 3, 2, 2, 2, 605, 606, 5, 201, 101, 2, 606, 607, 5, 193, 97, 2, 607, 608, 5, 171, 86, 2, 608, 609, 5, 187, 94, 2, 609, 610, 5, 197, 99, 2, 610, 611, 5, 85, 43, 2, 611, 612, 5, 177, 89, 2, 612, 613, 5, 171, 86, 2, 613, 614, 5, 209, 105, 2, 614, 615, 5, 171, 86, 2, 615, 616, 5, 85, 43, 2, 616, 617, 5, 209, 105, 2, 617, 618, 5, 219, 110, 2, 618, 619, 5, 201, 101, 2, 619, 620, 5, 179, 90, 2, 620, 142, 3, 2, 2, 2, 621, 622, 5, 175, 88, 2, 622, 623, 5, 187, 94, 2, 623, 624, 5, 201, 101, 2, 624, 625, 5, 185, 93, 2, 625, 626, 5, 179, 90, 2, 626, 627, 5, 205, 103, 2, 627, 628, 5, 85, 43, 2, 628, 629, 5, 177, 89, 2, 629, 630, 5, 171, 86, 2, 630, 631, 5, 209, 105, 2, 631, 632, 5, 171, 86, 2, 632, 633, 5, 85, 43, 2, 633, 634, 5, 209, 105, 2, 634, 635, 5, 219, 110, 2, 635, 636, 5, 201, 101, 2, 636, 637, 5, 179, 90, 2, 637, 144, 3, 2, 2, 2, 638, 639, 5, 171, 86, 2, 639, 640, 5, 207, 104, 2, 640, 641, 5, 207, 104, 2, 641, 642, 5, 187, 94, 2, 642, 643, 5, 207, 104, 2, 643, 644, 5, 209, 105, 2, 644, 645, 5, 179, 90, 2, 645, 646, 5, 177, 89, 2, 646, 647, 5, 85, 43, 2, 647, 648, 5, 203, 102, 2, 648, 649, 5, 211, 106, 2, 649, 650, 5, 179, 90, 2, 650, 651, 5, 205, 103, 2, 651, 652, 5, 219, 110, 2, 652, 653, 5, 85, 43, 2, 653, 654, 5, 177, 89, 2, 654, 655, 5, 171, 86, 2, 655, 656, 5, 209, 105, 2, 656, 657, 5, 171, 86, 2, 657, 658, 5, 85, 43, 2, 658, 659, 5, 209, 105, 2, 659, 660, 5, 219, 110, 2, 660, 661, 5, 201, 101, 2, 661, 662, 5, 179, 90, 2, 662, 146, 3, 2, 2, 2, 663, 664, 5, 193, 97, 2, 664, 665, 5, 187, 94, 2, 665, 666, 5, 191, 96, 2, 666, 667, 5, 179, 90, 2, 667, 668, 5, 85, 43, 2, 668, 669, 5, 203, 102, 2, 669, 670, 5, 211, 106, 2, 670, 671, 5, 179, 90, 2, 671, 672, 5, 205, 103, 2, 672, 673, 5, 219, 110, 2, 673, 674, 5, 85, 43, 2, 674, 675, 5, 177, 89, 2, 675, 676, 5, 171, 86, 2, 676, 677, 5, 209, 105, 2, 677, 678, 5, 171, 86, 2, 678, 679, 5, 85, 43, 2, 679, 680, 5, 209, 105, 2, 680, 681, 5, 219, 110, 2, 681, 682, 5, 201, 101, 2, 682, 683, 5, 179, 90, 2, 683, 148, 3, 2, 2, 2, 684, 685, 5, 187, 94, 2, 685, 686, 5, 181, 91, 2, 686, 150, 3, 2, 2, 2, 687, 688, 5, 179, 90, 2, 688, 689, 5, 217, 109, 2, 689, 690, 5, 187, 94, 2, 690, 691, 5, 207, 104, 2, 691, 692, 5, 209, 105, 2, 692, 693, 5, 207, 104, 2, 693, 152, 3, 2, 2, 2, 694, 695, 5, 175, 88, 2, 695, 696, 5, 199, 100, 2, 696, 697, 5, 211, 106, 2, 697, 698, 5, 197, 99, 2, 698, 699, 5, 209, 105, 2, 699, 154, 3, 2, 2, 2, 700, 701, 5, 195, 98, 2, 701, 702, 5, 177, 89, 2, 702, 703, 9, 3, 2, 2, 703, 156, 3, 2, 2, 2, 704, 705, 5, 171, 86, 2, 705, 706, 5, 179, 90, 2, 706, 707, 5, 207, 104, 2, 707, 158, 3, 2, 2, 2, 708, 709, 5, 205, 103, 2, 709, 710, 5, 175, 88, 2, 710, 711, 9, 4, 2, 2, 711, 160, 3, 2, 2, 2, 712, 713, 5, 207, 104, 2, 713, 714, 5, 195, 98, 2, 714, 715, 9, 5, 2, 2, 715, 162, 3, 2, 2, 2, 716, 717, 5, 207, 104, 2, 717, 718, 5, 195, 98, 2, 718, 719, 9, 4, 2, 2, 719, 164, 3, 2, 2, 2, 720, 721, 5, 175, 88, 2, 721, 722, 5, 185, 93, 2, 722, 723, 5, 171, 86, 2, 723, 724, 5, 205, 103, 2, 724, 725, 5, 85, 43, 2, 725, 726, 5, 177, 89, 2, 726, 727, 5, 187, 94, 2, 727, 728, 5, 183, 92, 2, 728, 729, 5, 179, 90, 2, 729, 730, 5, 207, 104, 2, 730, 731, 5, 209, 105, 2, 731, 732, 5, 85, 43, 2, 732, 733, 5, 193, 97, 2, 733, 734, 5, 187, 94, 2, 734, 735, 5, 191, 96, 2, 735, 736, 5, 179, 90, 2, 736, 166, 3, 2, 2, 2, 737, 738, 5, 197, 99, 2, 738, 739, 5, 199, 100, 2, 739, 740, 5, 209, 105, 2, 740, 168, 3, 2, 2, 2, 741, 742, 7, 70, 2, 2, 742, 743, 7, 81, 2, 2, 743, 744, 7, 34, 2, 2, 744, 745, 7, 80, 2, 2, 745, 746, 7, 81, 2, 2, 746, 747, 7, 86, 2, 2, 747, 748, 7, 34, 2, 2, 748, 749, 7, 79, 2, 2, 749, 750, 7, 67, 2, 2, 750, 751, 7, 86, 2, 2, 751, 752, 7, 69, 2, 2, 752, 753, 7, 74, 2, 2, 753, 754, 7, 34, 2, 2, 754, 755, 7, 67, 2, 2, 755, 756, 7, 80, 2, 2, 756, 757, 7, 91, 2, 2, 757, 758, 7, 34, 2, 2, 758, 759, 7, 86, 2, 2, 759, 760, 7, 74, 2, 2, 760, 761, 7, 75, 2, 2, 761, 762, 7, 80, 2, 2, 762, 763, 7, 73, 2, 2, 763, 764, 7, 46, 2, 2, 764, 765, 7, 34, 2, 2, 765, 766, 7, 76, 2, 2, 766, 767, 7, 87, 2, 2, 767, 768, 7, 85, 2, 2, 768, 769, 7, 86, 2, 2, 769, 770, 7, 34, 2, 2, 770, 771, 7, 72, 2, 2, 771, 772, 7, 81, 2, 2, 772, 773, 7, 84, 2, 2, 773, 774, 7, 34, 2, 2, 774, 775, 7, 73, 2, 2, 775, 776, 7, 71, 2, 2, 776, 777, 7, 80, 2, 2, 777, 778, 7, 71, 2, 2, 778, 779, 7, 84, 2, 2, 779, 780, 7, 67, 2, 2, 780, 781, 7, 86, 2, 2, 781, 782, 7, 81, 2, 2, 782, 783, 7, 84, 2, 2, 783, 170, 3, 2, 2, 2, 784, 785, 9, 6, 2, 2, 785, 172, 3, 2, 2, 2, 786, 787, 9, 7, 2, 2, 787, 174, 3, 2, 2, 2, 788, 789, 9, 8, 2, 2, 789, 176, 3, 2, 2, 2, 790, 791, 9, 9, 2, 2, 791, 178, 3, 2, 2, 2, 792, 793, 9, 10, 2, 2, 793, 180, 3, 2, 2, 2, 794, 795, 9, 11, 2, 2, 795, 182, 3, 2, 2, 2, 796, 797, 9, 12, 2, 2, 797, 184, 3, 2, 2, 2, 798, 799, 9, 13, 2, 2, 799, 186, 3, 2, 2, 2, 800, 801, 9, 14, 2, 2, 801, 188, 3, 2, 2, 2, 802, 803, 9, 15, 2, 2, 803, 190, 3, 2, 2, 2, 804, 805, 9, 16, 2, 2, 805, 192, 3, 2, 2, 2, 806, 807, 9, 17, 2, 2, 807, 194, 3, 2, 2, 2, 808, 809, 9, 18, 2, 2, 809, 196, 3, 2, 2, 2, 810, 811, 9, 19, 2, 2, 811, 198, 3, 2, 2, 2, 812, 813, 9, 20, 2, 2, 813, 200, 3, 2, 2, 2, 814, 815, 9, 21, 2, 2, 815, 202, 3, 2, 2, 2, 816, 817, 9, 22, 2, 2, 817, 204, 3, 2, 2, 2, 818, 819, 9, 23, 2, 2, 819, 206, 3, 2, 2, 2, 820, 821, 9, 24, 2, 2, 821, 208, 3, 2, 2, 2, 822, 823, 9, 25, 2, 2, 823, 210, 3, 2, 2, 2, 824, 825, 9, 26, 2, 2, 825, 212, 3, 2, 2, 2, 826, 827, 9, 27, 2, 2, 827, 214, 3, 2, 2, 2, 828, 829, 9, 28, 2, 2, 829, 216, 3, 2, 2, 2, 830, 831, 9, 29, 2, 2, 831, 218, 3, 2, 2, 2, 832, 833, 9, 30, 2, 2, 833, 220, 3, 2, 2, 2, 834, 835, 9, 31, 2, 2, 835, 222, 3, 2, 2, 2, 836, 838, 9, 32, 2, 2, 837, 836, 3, 2, 2, 2, 838, 841, 3, 2, 2, 2, 839, 840, 3, 2, 2, 2, 839, 837, 3, 2, 2, 2, 840, 843, 3, 2, 2, 2, 841, 839, 3, 2, 2, 2, 842, 844, 9, 33, 2, 2, 843, 842, 3, 2, 2, 2, 844, 845, 3, 2, 2, 2, 845, 846, 3, 2, 2, 2, 845, 843, 3, 2, 2, 2, 846, 850, 3, 2, 2, 2, 847, 849, 9, 32, 2, 2, 848, 847, 3, 2, 2, 2, 849, 852, 3, 2, 2, 2, 850, 848, 3, 2, 2, 2, 850, 851, 3, 2, 2, 2, 851, 862, 3, 2, 2, 2, 852, 850, 3, 2, 2, 2, 853, 855, 5, 75, 38, 2, 854, 856, 10, 34, 2, 2, 855, 854, 3, 2, 2, 2, 856, 857, 3, 2, 2, 2, 857, 855, 3, 2, 2, 2, 857, 858, 3, 2, 2, 2, 858, 859, 3, 2, 2, 2, 859, 860, 5, 75, 38, 2, 860, 862, 3, 2, 2, 2, 861, 839, 3, 2, 2, 2, 861, 853, 3, 2, 2, 2, 862, 224, 3, 2, 2, 2, 863, 871, 5, 71, 36, 2, 864, 865, 7, 94, 2, 2, 865, 870, 11, 2, 2, 2, 866, 867, 7, 36, 2, 2, 867, 870, 7, 36, 2, 2, 868, 870, 10, 35, 2, 2, 869, 864, 3, 2, 2, 2, 869, 866, 3, 2, 2, 2, 869, 868, 3, 2, 2, 2, 870, 873, 3, 2, 2, 2, 871, 869, 3, 2, 2, 2, 871, 872, 3, 2, 2, 2, 872, 874, 3, 2, 2, 2, 873, 871, 3, 2, 2, 2, 874, 875, 5, 71, 36, 2, 875, 890, 3, 2, 2, 2, 876, 884, 5, 73, 37, 2, 877, 878, 7, 94, 2, 2, 878, 883, 11, 2, 2, 2, 879, 880, 7, 41, 2, 2, 880, 883, 7, 41, 2, 2, 881, 883, 10, 36, 2, 2, 882, 877, 3, 2, 2, 2, 882, 879, 3, 2, 2, 2, 882, 881, 3, 2, 2, 2, 883, 886, 3, 2, 2, 2, 884, 882, 3, 2, 2, 2, 884, 885, 3, 2, 2, 2, 885, 887, 3, 2, 2, 2, 886, 884, 3, 2, 2, 2, 887, 888, 5, 73, 37, 2, 888, 890, 3, 2, 2, 2, 889, 863, 3, 2, 2, 2, 889, 876, 3, 2, 2, 2, 890, 226, 3, 2, 2, 2, 891, 893, 9, 37, 2, 2, 892, 891, 3, 2, 2, 2, 893, 894, 3, 2, 2, 2, 894, 892, 3, 2, 2, 2, 894, 895, 3, 2, 2, 2, 895, 228, 3, 2, 2, 2, 896, 897, 9, 38, 2, 2, 897, 230, 3, 2, 2, 2, 898, 900, 5, 227, 114, 2, 899, 898, 3, 2, 2, 2, 899, 900, 3, 2, 2, 2, 900, 902, 3, 2, 2, 2, 901, 903, 5, 35, 18, 2, 902, 901, 3, 2, 2, 2, 902, 903, 3, 2, 2, 2, 903, 904, 3, 2, 2, 2, 904, 912, 5, 227, 114, 2, 905, 908, 5, 179, 90, 2, 906, 909, 5, 25, 13, 2, 907, 909, 5, 27, 14, 2, 908, 906, 3, 2, 2, 2, 908, 907, 3, 2, 2, 2, 908, 909, 3, 2, 2, 2, 909, 910, 3, 2, 2, 2, 910, 911, 5, 227, 114, 2, 911, 913, 3, 2, 2, 2, 912, 905, 3, 2, 2, 2, 912, 913, 3, 2, 2, 2, 913, 232, 3, 2, 2, 2, 914, 915, 7, 50, 2, 2, 915, 916, 7, 122, 2, 2, 916, 918, 3, 2, 2, 2, 917, 919, 5, 229, 115, 2, 918, 917, 3, 2, 2, 2, 919, 920, 3, 2, 2, 2, 920, 918, 3, 2, 2, 2, 920, 921, 3, 2, 2, 2, 921, 932, 3, 2, 2, 2, 922, 923, 7, 90, 2, 2, 923, 925, 5, 73, 37, 2, 924, 926, 5, 229, 115, 2, 925, 924, 3, 2, 2, 2, 926, 927, 3, 2, 2, 2, 927, 925, 3, 2, 2, 2, 927, 928, 3, 2, 2, 2, 928, 929, 3, 2, 2, 2, 929, 930, 5, 73, 37, 2, 930, 932, 3, 2, 2, 2, 931, 914, 3, 2, 2, 2, 931, 922, 3, 2, 2, 2, 932, 234, 3, 2, 2, 2, 933, 934, 7, 50, 2, 2, 934, 935, 7, 100, 2, 2, 935, 937, 3, 2, 2, 2, 936, 938, 4, 50, 51, 2, 937, 936, 3, 2, 2, 2, 938, 939, 3, 2, 2, 2, 939, 937, 3, 2, 2, 2, 939, 940, 3, 2, 2, 2, 940, 951, 3, 2, 2, 2, 941, 942, 5, 173, 87, 2, 942, 944, 5, 73, 37, 2, 943, 945, 4, 50, 51, 2, 944, 943, 3, 2, 2, 2, 945, 946, 3, 2, 2, 2, 946, 944, 3, 2, 2, 2, 946, 947, 3, 2, 2, 2, 947, 948, 3, 2, 2, 2, 948, 949, 5, 73, 37, 2, 949, 951, 3, 2, 2, 2, 950, 933, 3, 2, 2, 2, 950, 941, 3, 2, 2, 2, 951, 236, 3, 2, 2, 2, 26, 2, 291, 340, 839, 845, 850, 857, 861, 869, 871, 882, 884, 889, 894, 899, 902, 908, 912, 920, 927, 931, 939, 946, 950, 3, 8, 2, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementLexer.java b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementLexer.java deleted file mode 100644 index 0809d21d..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementLexer.java +++ /dev/null @@ -1,495 +0,0 @@ -// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/encrypt/RDLStatement.g4 by ANTLR 4.9.2 -import org.antlr.v4.runtime.Lexer; -import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.TokenStream; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.misc.*; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class RDLStatementLexer extends Lexer { - static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, - SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, - ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, - DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, - LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, - SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, - WS=43, CREATE=44, ALTER=45, DROP=46, SHOW=47, RESOURCE=48, RULE=49, FROM=50, - ENCRYPT=51, TYPE=52, ENCRYPT_ALGORITHM=53, ASSISTED_QUERY_ALGORITHM=54, - LIKE_QUERY_ALGORITHM=55, NAME=56, PROPERTIES=57, COLUMN=58, RULES=59, - TABLE=60, COLUMNS=61, CIPHER=62, PLAIN=63, ASSISTED_QUERY_COLUMN=64, LIKE_QUERY_COLUMN=65, - QUERY_WITH_CIPHER_COLUMN=66, TRUE=67, FALSE=68, DATA_TYPE=69, PLAIN_DATA_TYPE=70, - CIPHER_DATA_TYPE=71, ASSISTED_QUERY_DATA_TYPE=72, LIKE_QUERY_DATA_TYPE=73, - IF=74, EXISTS=75, COUNT=76, MD5=77, AES=78, RC4=79, SM3=80, SM4=81, CHAR_DIGEST_LIKE=82, - NOT=83, FOR_GENERATOR=84, IDENTIFIER_=85, STRING_=86, INT_=87, HEX_=88, - NUMBER_=89, HEXDIGIT_=90, BITNUM_=91; - public static String[] channelNames = { - "DEFAULT_TOKEN_CHANNEL", "HIDDEN" - }; - - public static String[] modeNames = { - "DEFAULT_MODE" - }; - - private static String[] makeRuleNames() { - return new String[] { - "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", - "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", - "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", - "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", - "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", - "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "CREATE", "ALTER", "DROP", "SHOW", - "RESOURCE", "RULE", "FROM", "ENCRYPT", "TYPE", "ENCRYPT_ALGORITHM", "ASSISTED_QUERY_ALGORITHM", - "LIKE_QUERY_ALGORITHM", "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", - "COLUMNS", "CIPHER", "PLAIN", "ASSISTED_QUERY_COLUMN", "LIKE_QUERY_COLUMN", - "QUERY_WITH_CIPHER_COLUMN", "TRUE", "FALSE", "DATA_TYPE", "PLAIN_DATA_TYPE", - "CIPHER_DATA_TYPE", "ASSISTED_QUERY_DATA_TYPE", "LIKE_QUERY_DATA_TYPE", - "IF", "EXISTS", "COUNT", "MD5", "AES", "RC4", "SM3", "SM4", "CHAR_DIGEST_LIKE", - "NOT", "FOR_GENERATOR", "A", "B", "C", "D", "E", "F", "G", "H", "I", - "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", - "X", "Y", "Z", "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", - "BITNUM_" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", - "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", - "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", - "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", - "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", - "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", - "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", - "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", - "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", - "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "CREATE", - "ALTER", "DROP", "SHOW", "RESOURCE", "RULE", "FROM", "ENCRYPT", "TYPE", - "ENCRYPT_ALGORITHM", "ASSISTED_QUERY_ALGORITHM", "LIKE_QUERY_ALGORITHM", - "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", "COLUMNS", "CIPHER", - "PLAIN", "ASSISTED_QUERY_COLUMN", "LIKE_QUERY_COLUMN", "QUERY_WITH_CIPHER_COLUMN", - "TRUE", "FALSE", "DATA_TYPE", "PLAIN_DATA_TYPE", "CIPHER_DATA_TYPE", - "ASSISTED_QUERY_DATA_TYPE", "LIKE_QUERY_DATA_TYPE", "IF", "EXISTS", "COUNT", - "MD5", "AES", "RC4", "SM3", "SM4", "CHAR_DIGEST_LIKE", "NOT", "FOR_GENERATOR", - "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - - public RDLStatementLexer(CharStream input) { - super(input); - _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - @Override - public String getGrammarFileName() { return "RDLStatement.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public String[] getChannelNames() { return channelNames; } - - @Override - public String[] getModeNames() { return modeNames; } - - @Override - public ATN getATN() { return _ATN; } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2]\u03b8\b\1\4\2\t"+ - "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ - "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ - "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ - "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ - "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ - ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ - "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ - "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+ - "\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+ - "\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+ - "`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\4k\t"+ - "k\4l\tl\4m\tm\4n\tn\4o\to\4p\tp\4q\tq\4r\tr\4s\ts\4t\tt\4u\tu\4v\tv\3"+ - "\2\3\2\3\2\3\3\3\3\3\3\3\4\3\4\3\5\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\t"+ - "\3\t\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3\17\3\17\3\20\3"+ - "\20\3\21\3\21\3\22\3\22\3\23\3\23\3\23\3\24\3\24\3\24\3\24\3\25\3\25\3"+ - "\25\3\26\3\26\3\27\3\27\3\27\3\27\5\27\u0124\n\27\3\30\3\30\3\31\3\31"+ - "\3\31\3\32\3\32\3\33\3\33\3\33\3\34\3\34\3\35\3\35\3\36\3\36\3\37\3\37"+ - "\3 \3 \3!\3!\3\"\3\"\3#\3#\3$\3$\3%\3%\3&\3&\3\'\3\'\3(\3(\3)\3)\3*\3"+ - "*\3*\3*\3+\3+\3,\6,\u0153\n,\r,\16,\u0154\3,\3,\3-\3-\3-\3-\3-\3-\3-\3"+ - ".\3.\3.\3.\3.\3.\3/\3/\3/\3/\3/\3\60\3\60\3\60\3\60\3\60\3\61\3\61\3\61"+ - "\3\61\3\61\3\61\3\61\3\61\3\61\3\62\3\62\3\62\3\62\3\62\3\63\3\63\3\63"+ - "\3\63\3\63\3\64\3\64\3\64\3\64\3\64\3\64\3\64\3\64\3\65\3\65\3\65\3\65"+ - "\3\65\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66"+ - "\3\66\3\66\3\66\3\66\3\66\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67"+ - "\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67"+ - "\3\67\3\67\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\3"+ - "8\38\39\39\39\39\39\3:\3:\3:\3:\3:\3:\3:\3:\3:\3:\3:\3;\3;\3;\3;\3;\3"+ - ";\3;\3<\3<\3<\3<\3<\3<\3=\3=\3=\3=\3=\3=\3>\3>\3>\3>\3>\3>\3>\3>\3?\3"+ - "?\3?\3?\3?\3?\3?\3@\3@\3@\3@\3@\3@\3A\3A\3A\3A\3A\3A\3A\3A\3A\3A\3A\3"+ - "A\3A\3A\3A\3A\3A\3A\3A\3A\3A\3A\3B\3B\3B\3B\3B\3B\3B\3B\3B\3B\3B\3B\3"+ - "B\3B\3B\3B\3B\3B\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3"+ - "C\3C\3C\3C\3C\3C\3C\3C\3D\3D\3D\3D\3D\3E\3E\3E\3E\3E\3E\3F\3F\3F\3F\3"+ - "F\3F\3F\3F\3F\3F\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3H\3"+ - "H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3I\3I\3I\3I\3I\3I\3I\3"+ - "I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3J\3J\3J\3J\3J\3"+ - "J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3K\3K\3K\3L\3L\3L\3L\3"+ - "L\3L\3L\3M\3M\3M\3M\3M\3M\3N\3N\3N\3N\3O\3O\3O\3O\3P\3P\3P\3P\3Q\3Q\3"+ - "Q\3Q\3R\3R\3R\3R\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3S\3"+ - "T\3T\3T\3T\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3"+ - "U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3U\3"+ - "U\3V\3V\3W\3W\3X\3X\3Y\3Y\3Z\3Z\3[\3[\3\\\3\\\3]\3]\3^\3^\3_\3_\3`\3`"+ - "\3a\3a\3b\3b\3c\3c\3d\3d\3e\3e\3f\3f\3g\3g\3h\3h\3i\3i\3j\3j\3k\3k\3l"+ - "\3l\3m\3m\3n\3n\3o\3o\3p\7p\u0346\np\fp\16p\u0349\13p\3p\6p\u034c\np\r"+ - "p\16p\u034d\3p\7p\u0351\np\fp\16p\u0354\13p\3p\3p\6p\u0358\np\rp\16p\u0359"+ - "\3p\3p\5p\u035e\np\3q\3q\3q\3q\3q\3q\7q\u0366\nq\fq\16q\u0369\13q\3q\3"+ - "q\3q\3q\3q\3q\3q\3q\7q\u0373\nq\fq\16q\u0376\13q\3q\3q\5q\u037a\nq\3r"+ - "\6r\u037d\nr\rr\16r\u037e\3s\3s\3t\5t\u0384\nt\3t\5t\u0387\nt\3t\3t\3"+ - "t\3t\5t\u038d\nt\3t\3t\5t\u0391\nt\3u\3u\3u\3u\6u\u0397\nu\ru\16u\u0398"+ - "\3u\3u\3u\6u\u039e\nu\ru\16u\u039f\3u\3u\5u\u03a4\nu\3v\3v\3v\3v\6v\u03aa"+ - "\nv\rv\16v\u03ab\3v\3v\3v\6v\u03b1\nv\rv\16v\u03b2\3v\3v\5v\u03b7\nv\4"+ - "\u0347\u034d\2w\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r\31"+ - "\16\33\17\35\20\37\21!\22#\23%\24\'\25)\26+\27-\30/\31\61\32\63\33\65"+ - "\34\67\359\36;\37= ?!A\"C#E$G%I&K\'M(O)Q*S+U,W-Y.[/]\60_\61a\62c\63e\64"+ - "g\65i\66k\67m8o9q:s;u{?}@\177A\u0081B\u0083C\u0085D\u0087E\u0089"+ - "F\u008bG\u008dH\u008fI\u0091J\u0093K\u0095L\u0097M\u0099N\u009bO\u009d"+ - "P\u009fQ\u00a1R\u00a3S\u00a5T\u00a7U\u00a9V\u00ab\2\u00ad\2\u00af\2\u00b1"+ - "\2\u00b3\2\u00b5\2\u00b7\2\u00b9\2\u00bb\2\u00bd\2\u00bf\2\u00c1\2\u00c3"+ - "\2\u00c5\2\u00c7\2\u00c9\2\u00cb\2\u00cd\2\u00cf\2\u00d1\2\u00d3\2\u00d5"+ - "\2\u00d7\2\u00d9\2\u00db\2\u00dd\2\u00dfW\u00e1X\u00e3Y\u00e5Z\u00e7["+ - "\u00e9\\\u00eb]\3\2\'\5\2\13\f\17\17\"\"\3\2\67\67\3\2\66\66\3\2\65\65"+ - "\4\2CCcc\4\2DDdd\4\2EEee\4\2FFff\4\2GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2K"+ - "Kkk\4\2LLll\4\2MMmm\4\2NNnn\4\2OOoo\4\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4"+ - "\2TTtt\4\2UUuu\4\2VVvv\4\2WWww\4\2XXxx\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\"+ - "||\7\2&&\62;C\\aac|\6\2&&C\\aac|\3\2bb\4\2$$^^\4\2))^^\3\2\62;\5\2\62"+ - ";CHch\2\u03b7\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2"+ - "\2\2\2\r\3\2\2\2\2\17\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\31\3\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2"+ - "\2\2\2#\3\2\2\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2"+ - "\2\2/\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\29\3"+ - "\2\2\2\2;\3\2\2\2\2=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2"+ - "\2\2G\3\2\2\2\2I\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2"+ - "S\3\2\2\2\2U\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3"+ - "\2\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3\2\2\2\2i\3\2\2\2\2k\3\2\2"+ - "\2\2m\3\2\2\2\2o\3\2\2\2\2q\3\2\2\2\2s\3\2\2\2\2u\3\2\2\2\2w\3\2\2\2\2"+ - "y\3\2\2\2\2{\3\2\2\2\2}\3\2\2\2\2\177\3\2\2\2\2\u0081\3\2\2\2\2\u0083"+ - "\3\2\2\2\2\u0085\3\2\2\2\2\u0087\3\2\2\2\2\u0089\3\2\2\2\2\u008b\3\2\2"+ - "\2\2\u008d\3\2\2\2\2\u008f\3\2\2\2\2\u0091\3\2\2\2\2\u0093\3\2\2\2\2\u0095"+ - "\3\2\2\2\2\u0097\3\2\2\2\2\u0099\3\2\2\2\2\u009b\3\2\2\2\2\u009d\3\2\2"+ - "\2\2\u009f\3\2\2\2\2\u00a1\3\2\2\2\2\u00a3\3\2\2\2\2\u00a5\3\2\2\2\2\u00a7"+ - "\3\2\2\2\2\u00a9\3\2\2\2\2\u00df\3\2\2\2\2\u00e1\3\2\2\2\2\u00e3\3\2\2"+ - "\2\2\u00e5\3\2\2\2\2\u00e7\3\2\2\2\2\u00e9\3\2\2\2\2\u00eb\3\2\2\2\3\u00ed"+ - "\3\2\2\2\5\u00f0\3\2\2\2\7\u00f3\3\2\2\2\t\u00f5\3\2\2\2\13\u00f7\3\2"+ - "\2\2\r\u00f9\3\2\2\2\17\u00fb\3\2\2\2\21\u00fe\3\2\2\2\23\u0101\3\2\2"+ - "\2\25\u0103\3\2\2\2\27\u0105\3\2\2\2\31\u0107\3\2\2\2\33\u0109\3\2\2\2"+ - "\35\u010b\3\2\2\2\37\u010d\3\2\2\2!\u010f\3\2\2\2#\u0111\3\2\2\2%\u0113"+ - "\3\2\2\2\'\u0116\3\2\2\2)\u011a\3\2\2\2+\u011d\3\2\2\2-\u0123\3\2\2\2"+ - "/\u0125\3\2\2\2\61\u0127\3\2\2\2\63\u012a\3\2\2\2\65\u012c\3\2\2\2\67"+ - "\u012f\3\2\2\29\u0131\3\2\2\2;\u0133\3\2\2\2=\u0135\3\2\2\2?\u0137\3\2"+ - "\2\2A\u0139\3\2\2\2C\u013b\3\2\2\2E\u013d\3\2\2\2G\u013f\3\2\2\2I\u0141"+ - "\3\2\2\2K\u0143\3\2\2\2M\u0145\3\2\2\2O\u0147\3\2\2\2Q\u0149\3\2\2\2S"+ - "\u014b\3\2\2\2U\u014f\3\2\2\2W\u0152\3\2\2\2Y\u0158\3\2\2\2[\u015f\3\2"+ - "\2\2]\u0165\3\2\2\2_\u016a\3\2\2\2a\u016f\3\2\2\2c\u0178\3\2\2\2e\u017d"+ - "\3\2\2\2g\u0182\3\2\2\2i\u018a\3\2\2\2k\u018f\3\2\2\2m\u01a1\3\2\2\2o"+ - "\u01ba\3\2\2\2q\u01cf\3\2\2\2s\u01d4\3\2\2\2u\u01df\3\2\2\2w\u01e6\3\2"+ - "\2\2y\u01ec\3\2\2\2{\u01f2\3\2\2\2}\u01fa\3\2\2\2\177\u0201\3\2\2\2\u0081"+ - "\u0207\3\2\2\2\u0083\u021d\3\2\2\2\u0085\u022f\3\2\2\2\u0087\u0248\3\2"+ - "\2\2\u0089\u024d\3\2\2\2\u008b\u0253\3\2\2\2\u008d\u025d\3\2\2\2\u008f"+ - "\u026d\3\2\2\2\u0091\u027e\3\2\2\2\u0093\u0297\3\2\2\2\u0095\u02ac\3\2"+ - "\2\2\u0097\u02af\3\2\2\2\u0099\u02b6\3\2\2\2\u009b\u02bc\3\2\2\2\u009d"+ - "\u02c0\3\2\2\2\u009f\u02c4\3\2\2\2\u00a1\u02c8\3\2\2\2\u00a3\u02cc\3\2"+ - "\2\2\u00a5\u02d0\3\2\2\2\u00a7\u02e1\3\2\2\2\u00a9\u02e5\3\2\2\2\u00ab"+ - "\u0310\3\2\2\2\u00ad\u0312\3\2\2\2\u00af\u0314\3\2\2\2\u00b1\u0316\3\2"+ - "\2\2\u00b3\u0318\3\2\2\2\u00b5\u031a\3\2\2\2\u00b7\u031c\3\2\2\2\u00b9"+ - "\u031e\3\2\2\2\u00bb\u0320\3\2\2\2\u00bd\u0322\3\2\2\2\u00bf\u0324\3\2"+ - "\2\2\u00c1\u0326\3\2\2\2\u00c3\u0328\3\2\2\2\u00c5\u032a\3\2\2\2\u00c7"+ - "\u032c\3\2\2\2\u00c9\u032e\3\2\2\2\u00cb\u0330\3\2\2\2\u00cd\u0332\3\2"+ - "\2\2\u00cf\u0334\3\2\2\2\u00d1\u0336\3\2\2\2\u00d3\u0338\3\2\2\2\u00d5"+ - "\u033a\3\2\2\2\u00d7\u033c\3\2\2\2\u00d9\u033e\3\2\2\2\u00db\u0340\3\2"+ - "\2\2\u00dd\u0342\3\2\2\2\u00df\u035d\3\2\2\2\u00e1\u0379\3\2\2\2\u00e3"+ - "\u037c\3\2\2\2\u00e5\u0380\3\2\2\2\u00e7\u0383\3\2\2\2\u00e9\u03a3\3\2"+ - "\2\2\u00eb\u03b6\3\2\2\2\u00ed\u00ee\7(\2\2\u00ee\u00ef\7(\2\2\u00ef\4"+ - "\3\2\2\2\u00f0\u00f1\7~\2\2\u00f1\u00f2\7~\2\2\u00f2\6\3\2\2\2\u00f3\u00f4"+ - "\7#\2\2\u00f4\b\3\2\2\2\u00f5\u00f6\7\u0080\2\2\u00f6\n\3\2\2\2\u00f7"+ - "\u00f8\7~\2\2\u00f8\f\3\2\2\2\u00f9\u00fa\7(\2\2\u00fa\16\3\2\2\2\u00fb"+ - "\u00fc\7>\2\2\u00fc\u00fd\7>\2\2\u00fd\20\3\2\2\2\u00fe\u00ff\7@\2\2\u00ff"+ - "\u0100\7@\2\2\u0100\22\3\2\2\2\u0101\u0102\7`\2\2\u0102\24\3\2\2\2\u0103"+ - "\u0104\7\'\2\2\u0104\26\3\2\2\2\u0105\u0106\7<\2\2\u0106\30\3\2\2\2\u0107"+ - "\u0108\7-\2\2\u0108\32\3\2\2\2\u0109\u010a\7/\2\2\u010a\34\3\2\2\2\u010b"+ - "\u010c\7,\2\2\u010c\36\3\2\2\2\u010d\u010e\7\61\2\2\u010e \3\2\2\2\u010f"+ - "\u0110\7^\2\2\u0110\"\3\2\2\2\u0111\u0112\7\60\2\2\u0112$\3\2\2\2\u0113"+ - "\u0114\7\60\2\2\u0114\u0115\7,\2\2\u0115&\3\2\2\2\u0116\u0117\7>\2\2\u0117"+ - "\u0118\7?\2\2\u0118\u0119\7@\2\2\u0119(\3\2\2\2\u011a\u011b\7?\2\2\u011b"+ - "\u011c\7?\2\2\u011c*\3\2\2\2\u011d\u011e\7?\2\2\u011e,\3\2\2\2\u011f\u0120"+ - "\7>\2\2\u0120\u0124\7@\2\2\u0121\u0122\7#\2\2\u0122\u0124\7?\2\2\u0123"+ - "\u011f\3\2\2\2\u0123\u0121\3\2\2\2\u0124.\3\2\2\2\u0125\u0126\7@\2\2\u0126"+ - "\60\3\2\2\2\u0127\u0128\7@\2\2\u0128\u0129\7?\2\2\u0129\62\3\2\2\2\u012a"+ - "\u012b\7>\2\2\u012b\64\3\2\2\2\u012c\u012d\7>\2\2\u012d\u012e\7?\2\2\u012e"+ - "\66\3\2\2\2\u012f\u0130\7%\2\2\u01308\3\2\2\2\u0131\u0132\7*\2\2\u0132"+ - ":\3\2\2\2\u0133\u0134\7+\2\2\u0134<\3\2\2\2\u0135\u0136\7}\2\2\u0136>"+ - "\3\2\2\2\u0137\u0138\7\177\2\2\u0138@\3\2\2\2\u0139\u013a\7]\2\2\u013a"+ - "B\3\2\2\2\u013b\u013c\7_\2\2\u013cD\3\2\2\2\u013d\u013e\7.\2\2\u013eF"+ - "\3\2\2\2\u013f\u0140\7$\2\2\u0140H\3\2\2\2\u0141\u0142\7)\2\2\u0142J\3"+ - "\2\2\2\u0143\u0144\7b\2\2\u0144L\3\2\2\2\u0145\u0146\7A\2\2\u0146N\3\2"+ - "\2\2\u0147\u0148\7B\2\2\u0148P\3\2\2\2\u0149\u014a\7=\2\2\u014aR\3\2\2"+ - "\2\u014b\u014c\7/\2\2\u014c\u014d\7@\2\2\u014d\u014e\7@\2\2\u014eT\3\2"+ - "\2\2\u014f\u0150\7a\2\2\u0150V\3\2\2\2\u0151\u0153\t\2\2\2\u0152\u0151"+ - "\3\2\2\2\u0153\u0154\3\2\2\2\u0154\u0152\3\2\2\2\u0154\u0155\3\2\2\2\u0155"+ - "\u0156\3\2\2\2\u0156\u0157\b,\2\2\u0157X\3\2\2\2\u0158\u0159\5\u00afX"+ - "\2\u0159\u015a\5\u00cdg\2\u015a\u015b\5\u00b3Z\2\u015b\u015c\5\u00abV"+ - "\2\u015c\u015d\5\u00d1i\2\u015d\u015e\5\u00b3Z\2\u015eZ\3\2\2\2\u015f"+ - "\u0160\5\u00abV\2\u0160\u0161\5\u00c1a\2\u0161\u0162\5\u00d1i\2\u0162"+ - "\u0163\5\u00b3Z\2\u0163\u0164\5\u00cdg\2\u0164\\\3\2\2\2\u0165\u0166\5"+ - "\u00b1Y\2\u0166\u0167\5\u00cdg\2\u0167\u0168\5\u00c7d\2\u0168\u0169\5"+ - "\u00c9e\2\u0169^\3\2\2\2\u016a\u016b\5\u00cfh\2\u016b\u016c\5\u00b9]\2"+ - "\u016c\u016d\5\u00c7d\2\u016d\u016e\5\u00d7l\2\u016e`\3\2\2\2\u016f\u0170"+ - "\5\u00cdg\2\u0170\u0171\5\u00b3Z\2\u0171\u0172\5\u00cfh\2\u0172\u0173"+ - "\5\u00c7d\2\u0173\u0174\5\u00d3j\2\u0174\u0175\5\u00cdg\2\u0175\u0176"+ - "\5\u00afX\2\u0176\u0177\5\u00b3Z\2\u0177b\3\2\2\2\u0178\u0179\5\u00cd"+ - "g\2\u0179\u017a\5\u00d3j\2\u017a\u017b\5\u00c1a\2\u017b\u017c\5\u00b3"+ - "Z\2\u017cd\3\2\2\2\u017d\u017e\5\u00b5[\2\u017e\u017f\5\u00cdg\2\u017f"+ - "\u0180\5\u00c7d\2\u0180\u0181\5\u00c3b\2\u0181f\3\2\2\2\u0182\u0183\5"+ - "\u00b3Z\2\u0183\u0184\5\u00c5c\2\u0184\u0185\5\u00afX\2\u0185\u0186\5"+ - "\u00cdg\2\u0186\u0187\5\u00dbn\2\u0187\u0188\5\u00c9e\2\u0188\u0189\5"+ - "\u00d1i\2\u0189h\3\2\2\2\u018a\u018b\5\u00d1i\2\u018b\u018c\5\u00dbn\2"+ - "\u018c\u018d\5\u00c9e\2\u018d\u018e\5\u00b3Z\2\u018ej\3\2\2\2\u018f\u0190"+ - "\5\u00b3Z\2\u0190\u0191\5\u00c5c\2\u0191\u0192\5\u00afX\2\u0192\u0193"+ - "\5\u00cdg\2\u0193\u0194\5\u00dbn\2\u0194\u0195\5\u00c9e\2\u0195\u0196"+ - "\5\u00d1i\2\u0196\u0197\5U+\2\u0197\u0198\5\u00abV\2\u0198\u0199\5\u00c1"+ - "a\2\u0199\u019a\5\u00b7\\\2\u019a\u019b\5\u00c7d\2\u019b\u019c\5\u00cd"+ - "g\2\u019c\u019d\5\u00bb^\2\u019d\u019e\5\u00d1i\2\u019e\u019f\5\u00b9"+ - "]\2\u019f\u01a0\5\u00c3b\2\u01a0l\3\2\2\2\u01a1\u01a2\5\u00abV\2\u01a2"+ - "\u01a3\5\u00cfh\2\u01a3\u01a4\5\u00cfh\2\u01a4\u01a5\5\u00bb^\2\u01a5"+ - "\u01a6\5\u00cfh\2\u01a6\u01a7\5\u00d1i\2\u01a7\u01a8\5\u00b3Z\2\u01a8"+ - "\u01a9\5\u00b1Y\2\u01a9\u01aa\5U+\2\u01aa\u01ab\5\u00cbf\2\u01ab\u01ac"+ - "\5\u00d3j\2\u01ac\u01ad\5\u00b3Z\2\u01ad\u01ae\5\u00cdg\2\u01ae\u01af"+ - "\5\u00dbn\2\u01af\u01b0\5U+\2\u01b0\u01b1\5\u00abV\2\u01b1\u01b2\5\u00c1"+ - "a\2\u01b2\u01b3\5\u00b7\\\2\u01b3\u01b4\5\u00c7d\2\u01b4\u01b5\5\u00cd"+ - "g\2\u01b5\u01b6\5\u00bb^\2\u01b6\u01b7\5\u00d1i\2\u01b7\u01b8\5\u00b9"+ - "]\2\u01b8\u01b9\5\u00c3b\2\u01b9n\3\2\2\2\u01ba\u01bb\5\u00c1a\2\u01bb"+ - "\u01bc\5\u00bb^\2\u01bc\u01bd\5\u00bf`\2\u01bd\u01be\5\u00b3Z\2\u01be"+ - "\u01bf\5U+\2\u01bf\u01c0\5\u00cbf\2\u01c0\u01c1\5\u00d3j\2\u01c1\u01c2"+ - "\5\u00b3Z\2\u01c2\u01c3\5\u00cdg\2\u01c3\u01c4\5\u00dbn\2\u01c4\u01c5"+ - "\5U+\2\u01c5\u01c6\5\u00abV\2\u01c6\u01c7\5\u00c1a\2\u01c7\u01c8\5\u00b7"+ - "\\\2\u01c8\u01c9\5\u00c7d\2\u01c9\u01ca\5\u00cdg\2\u01ca\u01cb\5\u00bb"+ - "^\2\u01cb\u01cc\5\u00d1i\2\u01cc\u01cd\5\u00b9]\2\u01cd\u01ce\5\u00c3"+ - "b\2\u01cep\3\2\2\2\u01cf\u01d0\5\u00c5c\2\u01d0\u01d1\5\u00abV\2\u01d1"+ - "\u01d2\5\u00c3b\2\u01d2\u01d3\5\u00b3Z\2\u01d3r\3\2\2\2\u01d4\u01d5\5"+ - "\u00c9e\2\u01d5\u01d6\5\u00cdg\2\u01d6\u01d7\5\u00c7d\2\u01d7\u01d8\5"+ - "\u00c9e\2\u01d8\u01d9\5\u00b3Z\2\u01d9\u01da\5\u00cdg\2\u01da\u01db\5"+ - "\u00d1i\2\u01db\u01dc\5\u00bb^\2\u01dc\u01dd\5\u00b3Z\2\u01dd\u01de\5"+ - "\u00cfh\2\u01det\3\2\2\2\u01df\u01e0\5\u00afX\2\u01e0\u01e1\5\u00c7d\2"+ - "\u01e1\u01e2\5\u00c1a\2\u01e2\u01e3\5\u00d3j\2\u01e3\u01e4\5\u00c3b\2"+ - "\u01e4\u01e5\5\u00c5c\2\u01e5v\3\2\2\2\u01e6\u01e7\5\u00cdg\2\u01e7\u01e8"+ - "\5\u00d3j\2\u01e8\u01e9\5\u00c1a\2\u01e9\u01ea\5\u00b3Z\2\u01ea\u01eb"+ - "\5\u00cfh\2\u01ebx\3\2\2\2\u01ec\u01ed\5\u00d1i\2\u01ed\u01ee\5\u00ab"+ - "V\2\u01ee\u01ef\5\u00adW\2\u01ef\u01f0\5\u00c1a\2\u01f0\u01f1\5\u00b3"+ - "Z\2\u01f1z\3\2\2\2\u01f2\u01f3\5\u00afX\2\u01f3\u01f4\5\u00c7d\2\u01f4"+ - "\u01f5\5\u00c1a\2\u01f5\u01f6\5\u00d3j\2\u01f6\u01f7\5\u00c3b\2\u01f7"+ - "\u01f8\5\u00c5c\2\u01f8\u01f9\5\u00cfh\2\u01f9|\3\2\2\2\u01fa\u01fb\5"+ - "\u00afX\2\u01fb\u01fc\5\u00bb^\2\u01fc\u01fd\5\u00c9e\2\u01fd\u01fe\5"+ - "\u00b9]\2\u01fe\u01ff\5\u00b3Z\2\u01ff\u0200\5\u00cdg\2\u0200~\3\2\2\2"+ - "\u0201\u0202\5\u00c9e\2\u0202\u0203\5\u00c1a\2\u0203\u0204\5\u00abV\2"+ - "\u0204\u0205\5\u00bb^\2\u0205\u0206\5\u00c5c\2\u0206\u0080\3\2\2\2\u0207"+ - "\u0208\5\u00abV\2\u0208\u0209\5\u00cfh\2\u0209\u020a\5\u00cfh\2\u020a"+ - "\u020b\5\u00bb^\2\u020b\u020c\5\u00cfh\2\u020c\u020d\5\u00d1i\2\u020d"+ - "\u020e\5\u00b3Z\2\u020e\u020f\5\u00b1Y\2\u020f\u0210\5U+\2\u0210\u0211"+ - "\5\u00cbf\2\u0211\u0212\5\u00d3j\2\u0212\u0213\5\u00b3Z\2\u0213\u0214"+ - "\5\u00cdg\2\u0214\u0215\5\u00dbn\2\u0215\u0216\5U+\2\u0216\u0217\5\u00af"+ - "X\2\u0217\u0218\5\u00c7d\2\u0218\u0219\5\u00c1a\2\u0219\u021a\5\u00d3"+ - "j\2\u021a\u021b\5\u00c3b\2\u021b\u021c\5\u00c5c\2\u021c\u0082\3\2\2\2"+ - "\u021d\u021e\5\u00c1a\2\u021e\u021f\5\u00bb^\2\u021f\u0220\5\u00bf`\2"+ - "\u0220\u0221\5\u00b3Z\2\u0221\u0222\5U+\2\u0222\u0223\5\u00cbf\2\u0223"+ - "\u0224\5\u00d3j\2\u0224\u0225\5\u00b3Z\2\u0225\u0226\5\u00cdg\2\u0226"+ - "\u0227\5\u00dbn\2\u0227\u0228\5U+\2\u0228\u0229\5\u00afX\2\u0229\u022a"+ - "\5\u00c7d\2\u022a\u022b\5\u00c1a\2\u022b\u022c\5\u00d3j\2\u022c\u022d"+ - "\5\u00c3b\2\u022d\u022e\5\u00c5c\2\u022e\u0084\3\2\2\2\u022f\u0230\5\u00cb"+ - "f\2\u0230\u0231\5\u00d3j\2\u0231\u0232\5\u00b3Z\2\u0232\u0233\5\u00cd"+ - "g\2\u0233\u0234\5\u00dbn\2\u0234\u0235\5U+\2\u0235\u0236\5\u00d7l\2\u0236"+ - "\u0237\5\u00bb^\2\u0237\u0238\5\u00d1i\2\u0238\u0239\5\u00b9]\2\u0239"+ - "\u023a\5U+\2\u023a\u023b\5\u00afX\2\u023b\u023c\5\u00bb^\2\u023c\u023d"+ - "\5\u00c9e\2\u023d\u023e\5\u00b9]\2\u023e\u023f\5\u00b3Z\2\u023f\u0240"+ - "\5\u00cdg\2\u0240\u0241\5U+\2\u0241\u0242\5\u00afX\2\u0242\u0243\5\u00c7"+ - "d\2\u0243\u0244\5\u00c1a\2\u0244\u0245\5\u00d3j\2\u0245\u0246\5\u00c3"+ - "b\2\u0246\u0247\5\u00c5c\2\u0247\u0086\3\2\2\2\u0248\u0249\5\u00d1i\2"+ - "\u0249\u024a\5\u00cdg\2\u024a\u024b\5\u00d3j\2\u024b\u024c\5\u00b3Z\2"+ - "\u024c\u0088\3\2\2\2\u024d\u024e\5\u00b5[\2\u024e\u024f\5\u00abV\2\u024f"+ - "\u0250\5\u00c1a\2\u0250\u0251\5\u00cfh\2\u0251\u0252\5\u00b3Z\2\u0252"+ - "\u008a\3\2\2\2\u0253\u0254\5\u00b1Y\2\u0254\u0255\5\u00abV\2\u0255\u0256"+ - "\5\u00d1i\2\u0256\u0257\5\u00abV\2\u0257\u0258\5U+\2\u0258\u0259\5\u00d1"+ - "i\2\u0259\u025a\5\u00dbn\2\u025a\u025b\5\u00c9e\2\u025b\u025c\5\u00b3"+ - "Z\2\u025c\u008c\3\2\2\2\u025d\u025e\5\u00c9e\2\u025e\u025f\5\u00c1a\2"+ - "\u025f\u0260\5\u00abV\2\u0260\u0261\5\u00bb^\2\u0261\u0262\5\u00c5c\2"+ - "\u0262\u0263\5U+\2\u0263\u0264\5\u00b1Y\2\u0264\u0265\5\u00abV\2\u0265"+ - "\u0266\5\u00d1i\2\u0266\u0267\5\u00abV\2\u0267\u0268\5U+\2\u0268\u0269"+ - "\5\u00d1i\2\u0269\u026a\5\u00dbn\2\u026a\u026b\5\u00c9e\2\u026b\u026c"+ - "\5\u00b3Z\2\u026c\u008e\3\2\2\2\u026d\u026e\5\u00afX\2\u026e\u026f\5\u00bb"+ - "^\2\u026f\u0270\5\u00c9e\2\u0270\u0271\5\u00b9]\2\u0271\u0272\5\u00b3"+ - "Z\2\u0272\u0273\5\u00cdg\2\u0273\u0274\5U+\2\u0274\u0275\5\u00b1Y\2\u0275"+ - "\u0276\5\u00abV\2\u0276\u0277\5\u00d1i\2\u0277\u0278\5\u00abV\2\u0278"+ - "\u0279\5U+\2\u0279\u027a\5\u00d1i\2\u027a\u027b\5\u00dbn\2\u027b\u027c"+ - "\5\u00c9e\2\u027c\u027d\5\u00b3Z\2\u027d\u0090\3\2\2\2\u027e\u027f\5\u00ab"+ - "V\2\u027f\u0280\5\u00cfh\2\u0280\u0281\5\u00cfh\2\u0281\u0282\5\u00bb"+ - "^\2\u0282\u0283\5\u00cfh\2\u0283\u0284\5\u00d1i\2\u0284\u0285\5\u00b3"+ - "Z\2\u0285\u0286\5\u00b1Y\2\u0286\u0287\5U+\2\u0287\u0288\5\u00cbf\2\u0288"+ - "\u0289\5\u00d3j\2\u0289\u028a\5\u00b3Z\2\u028a\u028b\5\u00cdg\2\u028b"+ - "\u028c\5\u00dbn\2\u028c\u028d\5U+\2\u028d\u028e\5\u00b1Y\2\u028e\u028f"+ - "\5\u00abV\2\u028f\u0290\5\u00d1i\2\u0290\u0291\5\u00abV\2\u0291\u0292"+ - "\5U+\2\u0292\u0293\5\u00d1i\2\u0293\u0294\5\u00dbn\2\u0294\u0295\5\u00c9"+ - "e\2\u0295\u0296\5\u00b3Z\2\u0296\u0092\3\2\2\2\u0297\u0298\5\u00c1a\2"+ - "\u0298\u0299\5\u00bb^\2\u0299\u029a\5\u00bf`\2\u029a\u029b\5\u00b3Z\2"+ - "\u029b\u029c\5U+\2\u029c\u029d\5\u00cbf\2\u029d\u029e\5\u00d3j\2\u029e"+ - "\u029f\5\u00b3Z\2\u029f\u02a0\5\u00cdg\2\u02a0\u02a1\5\u00dbn\2\u02a1"+ - "\u02a2\5U+\2\u02a2\u02a3\5\u00b1Y\2\u02a3\u02a4\5\u00abV\2\u02a4\u02a5"+ - "\5\u00d1i\2\u02a5\u02a6\5\u00abV\2\u02a6\u02a7\5U+\2\u02a7\u02a8\5\u00d1"+ - "i\2\u02a8\u02a9\5\u00dbn\2\u02a9\u02aa\5\u00c9e\2\u02aa\u02ab\5\u00b3"+ - "Z\2\u02ab\u0094\3\2\2\2\u02ac\u02ad\5\u00bb^\2\u02ad\u02ae\5\u00b5[\2"+ - "\u02ae\u0096\3\2\2\2\u02af\u02b0\5\u00b3Z\2\u02b0\u02b1\5\u00d9m\2\u02b1"+ - "\u02b2\5\u00bb^\2\u02b2\u02b3\5\u00cfh\2\u02b3\u02b4\5\u00d1i\2\u02b4"+ - "\u02b5\5\u00cfh\2\u02b5\u0098\3\2\2\2\u02b6\u02b7\5\u00afX\2\u02b7\u02b8"+ - "\5\u00c7d\2\u02b8\u02b9\5\u00d3j\2\u02b9\u02ba\5\u00c5c\2\u02ba\u02bb"+ - "\5\u00d1i\2\u02bb\u009a\3\2\2\2\u02bc\u02bd\5\u00c3b\2\u02bd\u02be\5\u00b1"+ - "Y\2\u02be\u02bf\t\3\2\2\u02bf\u009c\3\2\2\2\u02c0\u02c1\5\u00abV\2\u02c1"+ - "\u02c2\5\u00b3Z\2\u02c2\u02c3\5\u00cfh\2\u02c3\u009e\3\2\2\2\u02c4\u02c5"+ - "\5\u00cdg\2\u02c5\u02c6\5\u00afX\2\u02c6\u02c7\t\4\2\2\u02c7\u00a0\3\2"+ - "\2\2\u02c8\u02c9\5\u00cfh\2\u02c9\u02ca\5\u00c3b\2\u02ca\u02cb\t\5\2\2"+ - "\u02cb\u00a2\3\2\2\2\u02cc\u02cd\5\u00cfh\2\u02cd\u02ce\5\u00c3b\2\u02ce"+ - "\u02cf\t\4\2\2\u02cf\u00a4\3\2\2\2\u02d0\u02d1\5\u00afX\2\u02d1\u02d2"+ - "\5\u00b9]\2\u02d2\u02d3\5\u00abV\2\u02d3\u02d4\5\u00cdg\2\u02d4\u02d5"+ - "\5U+\2\u02d5\u02d6\5\u00b1Y\2\u02d6\u02d7\5\u00bb^\2\u02d7\u02d8\5\u00b7"+ - "\\\2\u02d8\u02d9\5\u00b3Z\2\u02d9\u02da\5\u00cfh\2\u02da\u02db\5\u00d1"+ - "i\2\u02db\u02dc\5U+\2\u02dc\u02dd\5\u00c1a\2\u02dd\u02de\5\u00bb^\2\u02de"+ - "\u02df\5\u00bf`\2\u02df\u02e0\5\u00b3Z\2\u02e0\u00a6\3\2\2\2\u02e1\u02e2"+ - "\5\u00c5c\2\u02e2\u02e3\5\u00c7d\2\u02e3\u02e4\5\u00d1i\2\u02e4\u00a8"+ - "\3\2\2\2\u02e5\u02e6\7F\2\2\u02e6\u02e7\7Q\2\2\u02e7\u02e8\7\"\2\2\u02e8"+ - "\u02e9\7P\2\2\u02e9\u02ea\7Q\2\2\u02ea\u02eb\7V\2\2\u02eb\u02ec\7\"\2"+ - "\2\u02ec\u02ed\7O\2\2\u02ed\u02ee\7C\2\2\u02ee\u02ef\7V\2\2\u02ef\u02f0"+ - "\7E\2\2\u02f0\u02f1\7J\2\2\u02f1\u02f2\7\"\2\2\u02f2\u02f3\7C\2\2\u02f3"+ - "\u02f4\7P\2\2\u02f4\u02f5\7[\2\2\u02f5\u02f6\7\"\2\2\u02f6\u02f7\7V\2"+ - "\2\u02f7\u02f8\7J\2\2\u02f8\u02f9\7K\2\2\u02f9\u02fa\7P\2\2\u02fa\u02fb"+ - "\7I\2\2\u02fb\u02fc\7.\2\2\u02fc\u02fd\7\"\2\2\u02fd\u02fe\7L\2\2\u02fe"+ - "\u02ff\7W\2\2\u02ff\u0300\7U\2\2\u0300\u0301\7V\2\2\u0301\u0302\7\"\2"+ - "\2\u0302\u0303\7H\2\2\u0303\u0304\7Q\2\2\u0304\u0305\7T\2\2\u0305\u0306"+ - "\7\"\2\2\u0306\u0307\7I\2\2\u0307\u0308\7G\2\2\u0308\u0309\7P\2\2\u0309"+ - "\u030a\7G\2\2\u030a\u030b\7T\2\2\u030b\u030c\7C\2\2\u030c\u030d\7V\2\2"+ - "\u030d\u030e\7Q\2\2\u030e\u030f\7T\2\2\u030f\u00aa\3\2\2\2\u0310\u0311"+ - "\t\6\2\2\u0311\u00ac\3\2\2\2\u0312\u0313\t\7\2\2\u0313\u00ae\3\2\2\2\u0314"+ - "\u0315\t\b\2\2\u0315\u00b0\3\2\2\2\u0316\u0317\t\t\2\2\u0317\u00b2\3\2"+ - "\2\2\u0318\u0319\t\n\2\2\u0319\u00b4\3\2\2\2\u031a\u031b\t\13\2\2\u031b"+ - "\u00b6\3\2\2\2\u031c\u031d\t\f\2\2\u031d\u00b8\3\2\2\2\u031e\u031f\t\r"+ - "\2\2\u031f\u00ba\3\2\2\2\u0320\u0321\t\16\2\2\u0321\u00bc\3\2\2\2\u0322"+ - "\u0323\t\17\2\2\u0323\u00be\3\2\2\2\u0324\u0325\t\20\2\2\u0325\u00c0\3"+ - "\2\2\2\u0326\u0327\t\21\2\2\u0327\u00c2\3\2\2\2\u0328\u0329\t\22\2\2\u0329"+ - "\u00c4\3\2\2\2\u032a\u032b\t\23\2\2\u032b\u00c6\3\2\2\2\u032c\u032d\t"+ - "\24\2\2\u032d\u00c8\3\2\2\2\u032e\u032f\t\25\2\2\u032f\u00ca\3\2\2\2\u0330"+ - "\u0331\t\26\2\2\u0331\u00cc\3\2\2\2\u0332\u0333\t\27\2\2\u0333\u00ce\3"+ - "\2\2\2\u0334\u0335\t\30\2\2\u0335\u00d0\3\2\2\2\u0336\u0337\t\31\2\2\u0337"+ - "\u00d2\3\2\2\2\u0338\u0339\t\32\2\2\u0339\u00d4\3\2\2\2\u033a\u033b\t"+ - "\33\2\2\u033b\u00d6\3\2\2\2\u033c\u033d\t\34\2\2\u033d\u00d8\3\2\2\2\u033e"+ - "\u033f\t\35\2\2\u033f\u00da\3\2\2\2\u0340\u0341\t\36\2\2\u0341\u00dc\3"+ - "\2\2\2\u0342\u0343\t\37\2\2\u0343\u00de\3\2\2\2\u0344\u0346\t \2\2\u0345"+ - "\u0344\3\2\2\2\u0346\u0349\3\2\2\2\u0347\u0348\3\2\2\2\u0347\u0345\3\2"+ - "\2\2\u0348\u034b\3\2\2\2\u0349\u0347\3\2\2\2\u034a\u034c\t!\2\2\u034b"+ - "\u034a\3\2\2\2\u034c\u034d\3\2\2\2\u034d\u034e\3\2\2\2\u034d\u034b\3\2"+ - "\2\2\u034e\u0352\3\2\2\2\u034f\u0351\t \2\2\u0350\u034f\3\2\2\2\u0351"+ - "\u0354\3\2\2\2\u0352\u0350\3\2\2\2\u0352\u0353\3\2\2\2\u0353\u035e\3\2"+ - "\2\2\u0354\u0352\3\2\2\2\u0355\u0357\5K&\2\u0356\u0358\n\"\2\2\u0357\u0356"+ - "\3\2\2\2\u0358\u0359\3\2\2\2\u0359\u0357\3\2\2\2\u0359\u035a\3\2\2\2\u035a"+ - "\u035b\3\2\2\2\u035b\u035c\5K&\2\u035c\u035e\3\2\2\2\u035d\u0347\3\2\2"+ - "\2\u035d\u0355\3\2\2\2\u035e\u00e0\3\2\2\2\u035f\u0367\5G$\2\u0360\u0361"+ - "\7^\2\2\u0361\u0366\13\2\2\2\u0362\u0363\7$\2\2\u0363\u0366\7$\2\2\u0364"+ - "\u0366\n#\2\2\u0365\u0360\3\2\2\2\u0365\u0362\3\2\2\2\u0365\u0364\3\2"+ - "\2\2\u0366\u0369\3\2\2\2\u0367\u0365\3\2\2\2\u0367\u0368\3\2\2\2\u0368"+ - "\u036a\3\2\2\2\u0369\u0367\3\2\2\2\u036a\u036b\5G$\2\u036b\u037a\3\2\2"+ - "\2\u036c\u0374\5I%\2\u036d\u036e\7^\2\2\u036e\u0373\13\2\2\2\u036f\u0370"+ - "\7)\2\2\u0370\u0373\7)\2\2\u0371\u0373\n$\2\2\u0372\u036d\3\2\2\2\u0372"+ - "\u036f\3\2\2\2\u0372\u0371\3\2\2\2\u0373\u0376\3\2\2\2\u0374\u0372\3\2"+ - "\2\2\u0374\u0375\3\2\2\2\u0375\u0377\3\2\2\2\u0376\u0374\3\2\2\2\u0377"+ - "\u0378\5I%\2\u0378\u037a\3\2\2\2\u0379\u035f\3\2\2\2\u0379\u036c\3\2\2"+ - "\2\u037a\u00e2\3\2\2\2\u037b\u037d\t%\2\2\u037c\u037b\3\2\2\2\u037d\u037e"+ - "\3\2\2\2\u037e\u037c\3\2\2\2\u037e\u037f\3\2\2\2\u037f\u00e4\3\2\2\2\u0380"+ - "\u0381\t&\2\2\u0381\u00e6\3\2\2\2\u0382\u0384\5\u00e3r\2\u0383\u0382\3"+ - "\2\2\2\u0383\u0384\3\2\2\2\u0384\u0386\3\2\2\2\u0385\u0387\5#\22\2\u0386"+ - "\u0385\3\2\2\2\u0386\u0387\3\2\2\2\u0387\u0388\3\2\2\2\u0388\u0390\5\u00e3"+ - "r\2\u0389\u038c\5\u00b3Z\2\u038a\u038d\5\31\r\2\u038b\u038d\5\33\16\2"+ - "\u038c\u038a\3\2\2\2\u038c\u038b\3\2\2\2\u038c\u038d\3\2\2\2\u038d\u038e"+ - "\3\2\2\2\u038e\u038f\5\u00e3r\2\u038f\u0391\3\2\2\2\u0390\u0389\3\2\2"+ - "\2\u0390\u0391\3\2\2\2\u0391\u00e8\3\2\2\2\u0392\u0393\7\62\2\2\u0393"+ - "\u0394\7z\2\2\u0394\u0396\3\2\2\2\u0395\u0397\5\u00e5s\2\u0396\u0395\3"+ - "\2\2\2\u0397\u0398\3\2\2\2\u0398\u0396\3\2\2\2\u0398\u0399\3\2\2\2\u0399"+ - "\u03a4\3\2\2\2\u039a\u039b\7Z\2\2\u039b\u039d\5I%\2\u039c\u039e\5\u00e5"+ - "s\2\u039d\u039c\3\2\2\2\u039e\u039f\3\2\2\2\u039f\u039d\3\2\2\2\u039f"+ - "\u03a0\3\2\2\2\u03a0\u03a1\3\2\2\2\u03a1\u03a2\5I%\2\u03a2\u03a4\3\2\2"+ - "\2\u03a3\u0392\3\2\2\2\u03a3\u039a\3\2\2\2\u03a4\u00ea\3\2\2\2\u03a5\u03a6"+ - "\7\62\2\2\u03a6\u03a7\7d\2\2\u03a7\u03a9\3\2\2\2\u03a8\u03aa\4\62\63\2"+ - "\u03a9\u03a8\3\2\2\2\u03aa\u03ab\3\2\2\2\u03ab\u03a9\3\2\2\2\u03ab\u03ac"+ - "\3\2\2\2\u03ac\u03b7\3\2\2\2\u03ad\u03ae\5\u00adW\2\u03ae\u03b0\5I%\2"+ - "\u03af\u03b1\4\62\63\2\u03b0\u03af\3\2\2\2\u03b1\u03b2\3\2\2\2\u03b2\u03b0"+ - "\3\2\2\2\u03b2\u03b3\3\2\2\2\u03b3\u03b4\3\2\2\2\u03b4\u03b5\5I%\2\u03b5"+ - "\u03b7\3\2\2\2\u03b6\u03a5\3\2\2\2\u03b6\u03ad\3\2\2\2\u03b7\u00ec\3\2"+ - "\2\2\32\2\u0123\u0154\u0347\u034d\u0352\u0359\u035d\u0365\u0367\u0372"+ - "\u0374\u0379\u037e\u0383\u0386\u038c\u0390\u0398\u039f\u03a3\u03ab\u03b2"+ - "\u03b6\3\b\2\2"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementLexer.tokens b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementLexer.tokens deleted file mode 100644 index 00b61d0c..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementLexer.tokens +++ /dev/null @@ -1,133 +0,0 @@ -AND_=1 -OR_=2 -NOT_=3 -TILDE_=4 -VERTICALBAR_=5 -AMPERSAND_=6 -SIGNEDLEFTSHIFT_=7 -SIGNEDRIGHTSHIFT_=8 -CARET_=9 -MOD_=10 -COLON_=11 -PLUS_=12 -MINUS_=13 -ASTERISK_=14 -SLASH_=15 -BACKSLASH_=16 -DOT_=17 -DOTASTERISK_=18 -SAFEEQ_=19 -DEQ_=20 -EQ_=21 -NEQ_=22 -GT_=23 -GTE_=24 -LT_=25 -LTE_=26 -POUND_=27 -LP_=28 -RP_=29 -LBE_=30 -RBE_=31 -LBT_=32 -RBT_=33 -COMMA_=34 -DQ_=35 -SQ_=36 -BQ_=37 -QUESTION_=38 -AT_=39 -SEMI_=40 -JSONSEPARATOR_=41 -UL_=42 -WS=43 -CREATE=44 -ALTER=45 -DROP=46 -SHOW=47 -RESOURCE=48 -RULE=49 -FROM=50 -ENCRYPT=51 -TYPE=52 -ENCRYPT_ALGORITHM=53 -ASSISTED_QUERY_ALGORITHM=54 -LIKE_QUERY_ALGORITHM=55 -NAME=56 -PROPERTIES=57 -COLUMN=58 -RULES=59 -TABLE=60 -COLUMNS=61 -CIPHER=62 -PLAIN=63 -ASSISTED_QUERY_COLUMN=64 -LIKE_QUERY_COLUMN=65 -QUERY_WITH_CIPHER_COLUMN=66 -TRUE=67 -FALSE=68 -DATA_TYPE=69 -PLAIN_DATA_TYPE=70 -CIPHER_DATA_TYPE=71 -ASSISTED_QUERY_DATA_TYPE=72 -LIKE_QUERY_DATA_TYPE=73 -IF=74 -EXISTS=75 -COUNT=76 -MD5=77 -AES=78 -RC4=79 -SM3=80 -SM4=81 -CHAR_DIGEST_LIKE=82 -NOT=83 -FOR_GENERATOR=84 -IDENTIFIER_=85 -STRING_=86 -INT_=87 -HEX_=88 -NUMBER_=89 -HEXDIGIT_=90 -BITNUM_=91 -'&&'=1 -'||'=2 -'!'=3 -'~'=4 -'|'=5 -'&'=6 -'<<'=7 -'>>'=8 -'^'=9 -'%'=10 -':'=11 -'+'=12 -'-'=13 -'*'=14 -'/'=15 -'\\'=16 -'.'=17 -'.*'=18 -'<=>'=19 -'=='=20 -'='=21 -'>'=23 -'>='=24 -'<'=25 -'<='=26 -'#'=27 -'('=28 -')'=29 -'{'=30 -'}'=31 -'['=32 -']'=33 -','=34 -'"'=35 -'\''=36 -'`'=37 -'?'=38 -'@'=39 -';'=40 -'->>'=41 -'_'=42 -'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=84 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementParser.java b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementParser.java deleted file mode 100644 index 9044a02e..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/RDLStatementParser.java +++ /dev/null @@ -1,1907 +0,0 @@ -// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/encrypt/RDLStatement.g4 by ANTLR 4.9.2 -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.misc.*; -import org.antlr.v4.runtime.tree.*; -import java.util.List; -import java.util.Iterator; -import java.util.ArrayList; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class RDLStatementParser extends Parser { - static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, - SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, - ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, - DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, - LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, - SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, - WS=43, CREATE=44, ALTER=45, DROP=46, SHOW=47, RESOURCE=48, RULE=49, FROM=50, - ENCRYPT=51, TYPE=52, ENCRYPT_ALGORITHM=53, ASSISTED_QUERY_ALGORITHM=54, - LIKE_QUERY_ALGORITHM=55, NAME=56, PROPERTIES=57, COLUMN=58, RULES=59, - TABLE=60, COLUMNS=61, CIPHER=62, PLAIN=63, ASSISTED_QUERY_COLUMN=64, LIKE_QUERY_COLUMN=65, - QUERY_WITH_CIPHER_COLUMN=66, TRUE=67, FALSE=68, DATA_TYPE=69, PLAIN_DATA_TYPE=70, - CIPHER_DATA_TYPE=71, ASSISTED_QUERY_DATA_TYPE=72, LIKE_QUERY_DATA_TYPE=73, - IF=74, EXISTS=75, COUNT=76, MD5=77, AES=78, RC4=79, SM3=80, SM4=81, CHAR_DIGEST_LIKE=82, - NOT=83, FOR_GENERATOR=84, IDENTIFIER_=85, STRING_=86, INT_=87, HEX_=88, - NUMBER_=89, HEXDIGIT_=90, BITNUM_=91; - public static final int - RULE_createEncryptRule = 0, RULE_alterEncryptRule = 1, RULE_dropEncryptRule = 2, - RULE_encryptRuleDefinition = 3, RULE_resourceDefinition = 4, RULE_resourceName = 5, - RULE_encryptColumnDefinition = 6, RULE_columnDefinition = 7, RULE_columnName = 8, - RULE_dataType = 9, RULE_plainColumnDefinition = 10, RULE_plainColumnName = 11, - RULE_cipherColumnDefinition = 12, RULE_cipherColumnName = 13, RULE_assistedQueryColumnDefinition = 14, - RULE_assistedQueryColumnName = 15, RULE_likeQueryColumnDefinition = 16, - RULE_likeQueryColumnName = 17, RULE_encryptAlgorithm = 18, RULE_assistedQueryAlgorithm = 19, - RULE_likeQueryAlgorithm = 20, RULE_queryWithCipherColumn = 21, RULE_ifExists = 22, - RULE_ifNotExists = 23, RULE_literal = 24, RULE_algorithmDefinition = 25, - RULE_algorithmTypeName = 26, RULE_buildinAlgorithmTypeName = 27, RULE_propertiesDefinition = 28, - RULE_properties = 29, RULE_property = 30, RULE_tableName = 31; - private static String[] makeRuleNames() { - return new String[] { - "createEncryptRule", "alterEncryptRule", "dropEncryptRule", "encryptRuleDefinition", - "resourceDefinition", "resourceName", "encryptColumnDefinition", "columnDefinition", - "columnName", "dataType", "plainColumnDefinition", "plainColumnName", - "cipherColumnDefinition", "cipherColumnName", "assistedQueryColumnDefinition", - "assistedQueryColumnName", "likeQueryColumnDefinition", "likeQueryColumnName", - "encryptAlgorithm", "assistedQueryAlgorithm", "likeQueryAlgorithm", "queryWithCipherColumn", - "ifExists", "ifNotExists", "literal", "algorithmDefinition", "algorithmTypeName", - "buildinAlgorithmTypeName", "propertiesDefinition", "properties", "property", - "tableName" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", - "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", - "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", - "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", - "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", - "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", - "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", - "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", - "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", - "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "CREATE", - "ALTER", "DROP", "SHOW", "RESOURCE", "RULE", "FROM", "ENCRYPT", "TYPE", - "ENCRYPT_ALGORITHM", "ASSISTED_QUERY_ALGORITHM", "LIKE_QUERY_ALGORITHM", - "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", "COLUMNS", "CIPHER", - "PLAIN", "ASSISTED_QUERY_COLUMN", "LIKE_QUERY_COLUMN", "QUERY_WITH_CIPHER_COLUMN", - "TRUE", "FALSE", "DATA_TYPE", "PLAIN_DATA_TYPE", "CIPHER_DATA_TYPE", - "ASSISTED_QUERY_DATA_TYPE", "LIKE_QUERY_DATA_TYPE", "IF", "EXISTS", "COUNT", - "MD5", "AES", "RC4", "SM3", "SM4", "CHAR_DIGEST_LIKE", "NOT", "FOR_GENERATOR", - "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - @Override - public String getGrammarFileName() { return "RDLStatement.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public ATN getATN() { return _ATN; } - - public RDLStatementParser(TokenStream input) { - super(input); - _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - public static class CreateEncryptRuleContext extends ParserRuleContext { - public TerminalNode CREATE() { return getToken(RDLStatementParser.CREATE, 0); } - public TerminalNode ENCRYPT() { return getToken(RDLStatementParser.ENCRYPT, 0); } - public TerminalNode RULE() { return getToken(RDLStatementParser.RULE, 0); } - public List encryptRuleDefinition() { - return getRuleContexts(EncryptRuleDefinitionContext.class); - } - public EncryptRuleDefinitionContext encryptRuleDefinition(int i) { - return getRuleContext(EncryptRuleDefinitionContext.class,i); - } - public IfNotExistsContext ifNotExists() { - return getRuleContext(IfNotExistsContext.class,0); - } - public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } - public TerminalNode COMMA_(int i) { - return getToken(RDLStatementParser.COMMA_, i); - } - public CreateEncryptRuleContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_createEncryptRule; } - } - - public final CreateEncryptRuleContext createEncryptRule() throws RecognitionException { - CreateEncryptRuleContext _localctx = new CreateEncryptRuleContext(_ctx, getState()); - enterRule(_localctx, 0, RULE_createEncryptRule); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(64); - match(CREATE); - setState(65); - match(ENCRYPT); - setState(66); - match(RULE); - setState(68); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==IF) { - { - setState(67); - ifNotExists(); - } - } - - setState(70); - encryptRuleDefinition(); - setState(75); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA_) { - { - { - setState(71); - match(COMMA_); - setState(72); - encryptRuleDefinition(); - } - } - setState(77); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AlterEncryptRuleContext extends ParserRuleContext { - public TerminalNode ALTER() { return getToken(RDLStatementParser.ALTER, 0); } - public TerminalNode ENCRYPT() { return getToken(RDLStatementParser.ENCRYPT, 0); } - public TerminalNode RULE() { return getToken(RDLStatementParser.RULE, 0); } - public List encryptRuleDefinition() { - return getRuleContexts(EncryptRuleDefinitionContext.class); - } - public EncryptRuleDefinitionContext encryptRuleDefinition(int i) { - return getRuleContext(EncryptRuleDefinitionContext.class,i); - } - public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } - public TerminalNode COMMA_(int i) { - return getToken(RDLStatementParser.COMMA_, i); - } - public AlterEncryptRuleContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_alterEncryptRule; } - } - - public final AlterEncryptRuleContext alterEncryptRule() throws RecognitionException { - AlterEncryptRuleContext _localctx = new AlterEncryptRuleContext(_ctx, getState()); - enterRule(_localctx, 2, RULE_alterEncryptRule); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(78); - match(ALTER); - setState(79); - match(ENCRYPT); - setState(80); - match(RULE); - setState(81); - encryptRuleDefinition(); - setState(86); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA_) { - { - { - setState(82); - match(COMMA_); - setState(83); - encryptRuleDefinition(); - } - } - setState(88); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class DropEncryptRuleContext extends ParserRuleContext { - public TerminalNode DROP() { return getToken(RDLStatementParser.DROP, 0); } - public TerminalNode ENCRYPT() { return getToken(RDLStatementParser.ENCRYPT, 0); } - public TerminalNode RULE() { return getToken(RDLStatementParser.RULE, 0); } - public List tableName() { - return getRuleContexts(TableNameContext.class); - } - public TableNameContext tableName(int i) { - return getRuleContext(TableNameContext.class,i); - } - public IfExistsContext ifExists() { - return getRuleContext(IfExistsContext.class,0); - } - public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } - public TerminalNode COMMA_(int i) { - return getToken(RDLStatementParser.COMMA_, i); - } - public DropEncryptRuleContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_dropEncryptRule; } - } - - public final DropEncryptRuleContext dropEncryptRule() throws RecognitionException { - DropEncryptRuleContext _localctx = new DropEncryptRuleContext(_ctx, getState()); - enterRule(_localctx, 4, RULE_dropEncryptRule); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(89); - match(DROP); - setState(90); - match(ENCRYPT); - setState(91); - match(RULE); - setState(93); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==IF) { - { - setState(92); - ifExists(); - } - } - - setState(95); - tableName(); - setState(100); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA_) { - { - { - setState(96); - match(COMMA_); - setState(97); - tableName(); - } - } - setState(102); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class EncryptRuleDefinitionContext extends ParserRuleContext { - public TableNameContext tableName() { - return getRuleContext(TableNameContext.class,0); - } - public List LP_() { return getTokens(RDLStatementParser.LP_); } - public TerminalNode LP_(int i) { - return getToken(RDLStatementParser.LP_, i); - } - public TerminalNode COLUMNS() { return getToken(RDLStatementParser.COLUMNS, 0); } - public List encryptColumnDefinition() { - return getRuleContexts(EncryptColumnDefinitionContext.class); - } - public EncryptColumnDefinitionContext encryptColumnDefinition(int i) { - return getRuleContext(EncryptColumnDefinitionContext.class,i); - } - public List RP_() { return getTokens(RDLStatementParser.RP_); } - public TerminalNode RP_(int i) { - return getToken(RDLStatementParser.RP_, i); - } - public ResourceDefinitionContext resourceDefinition() { - return getRuleContext(ResourceDefinitionContext.class,0); - } - public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } - public TerminalNode COMMA_(int i) { - return getToken(RDLStatementParser.COMMA_, i); - } - public TerminalNode QUERY_WITH_CIPHER_COLUMN() { return getToken(RDLStatementParser.QUERY_WITH_CIPHER_COLUMN, 0); } - public TerminalNode EQ_() { return getToken(RDLStatementParser.EQ_, 0); } - public QueryWithCipherColumnContext queryWithCipherColumn() { - return getRuleContext(QueryWithCipherColumnContext.class,0); - } - public EncryptRuleDefinitionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_encryptRuleDefinition; } - } - - public final EncryptRuleDefinitionContext encryptRuleDefinition() throws RecognitionException { - EncryptRuleDefinitionContext _localctx = new EncryptRuleDefinitionContext(_ctx, getState()); - enterRule(_localctx, 6, RULE_encryptRuleDefinition); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(103); - tableName(); - setState(104); - match(LP_); - setState(108); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==RESOURCE) { - { - setState(105); - resourceDefinition(); - setState(106); - match(COMMA_); - } - } - - setState(110); - match(COLUMNS); - setState(111); - match(LP_); - setState(112); - encryptColumnDefinition(); - setState(117); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA_) { - { - { - setState(113); - match(COMMA_); - setState(114); - encryptColumnDefinition(); - } - } - setState(119); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(120); - match(RP_); - setState(125); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==COMMA_) { - { - setState(121); - match(COMMA_); - setState(122); - match(QUERY_WITH_CIPHER_COLUMN); - setState(123); - match(EQ_); - setState(124); - queryWithCipherColumn(); - } - } - - setState(127); - match(RP_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ResourceDefinitionContext extends ParserRuleContext { - public TerminalNode RESOURCE() { return getToken(RDLStatementParser.RESOURCE, 0); } - public TerminalNode EQ_() { return getToken(RDLStatementParser.EQ_, 0); } - public ResourceNameContext resourceName() { - return getRuleContext(ResourceNameContext.class,0); - } - public ResourceDefinitionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_resourceDefinition; } - } - - public final ResourceDefinitionContext resourceDefinition() throws RecognitionException { - ResourceDefinitionContext _localctx = new ResourceDefinitionContext(_ctx, getState()); - enterRule(_localctx, 8, RULE_resourceDefinition); - try { - enterOuterAlt(_localctx, 1); - { - setState(129); - match(RESOURCE); - setState(130); - match(EQ_); - setState(131); - resourceName(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ResourceNameContext extends ParserRuleContext { - public TerminalNode IDENTIFIER_() { return getToken(RDLStatementParser.IDENTIFIER_, 0); } - public ResourceNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_resourceName; } - } - - public final ResourceNameContext resourceName() throws RecognitionException { - ResourceNameContext _localctx = new ResourceNameContext(_ctx, getState()); - enterRule(_localctx, 10, RULE_resourceName); - try { - enterOuterAlt(_localctx, 1); - { - setState(133); - match(IDENTIFIER_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class EncryptColumnDefinitionContext extends ParserRuleContext { - public TerminalNode LP_() { return getToken(RDLStatementParser.LP_, 0); } - public ColumnDefinitionContext columnDefinition() { - return getRuleContext(ColumnDefinitionContext.class,0); - } - public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } - public TerminalNode COMMA_(int i) { - return getToken(RDLStatementParser.COMMA_, i); - } - public CipherColumnDefinitionContext cipherColumnDefinition() { - return getRuleContext(CipherColumnDefinitionContext.class,0); - } - public EncryptAlgorithmContext encryptAlgorithm() { - return getRuleContext(EncryptAlgorithmContext.class,0); - } - public TerminalNode RP_() { return getToken(RDLStatementParser.RP_, 0); } - public PlainColumnDefinitionContext plainColumnDefinition() { - return getRuleContext(PlainColumnDefinitionContext.class,0); - } - public AssistedQueryColumnDefinitionContext assistedQueryColumnDefinition() { - return getRuleContext(AssistedQueryColumnDefinitionContext.class,0); - } - public LikeQueryColumnDefinitionContext likeQueryColumnDefinition() { - return getRuleContext(LikeQueryColumnDefinitionContext.class,0); - } - public AssistedQueryAlgorithmContext assistedQueryAlgorithm() { - return getRuleContext(AssistedQueryAlgorithmContext.class,0); - } - public LikeQueryAlgorithmContext likeQueryAlgorithm() { - return getRuleContext(LikeQueryAlgorithmContext.class,0); - } - public TerminalNode QUERY_WITH_CIPHER_COLUMN() { return getToken(RDLStatementParser.QUERY_WITH_CIPHER_COLUMN, 0); } - public TerminalNode EQ_() { return getToken(RDLStatementParser.EQ_, 0); } - public QueryWithCipherColumnContext queryWithCipherColumn() { - return getRuleContext(QueryWithCipherColumnContext.class,0); - } - public EncryptColumnDefinitionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_encryptColumnDefinition; } - } - - public final EncryptColumnDefinitionContext encryptColumnDefinition() throws RecognitionException { - EncryptColumnDefinitionContext _localctx = new EncryptColumnDefinitionContext(_ctx, getState()); - enterRule(_localctx, 12, RULE_encryptColumnDefinition); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(135); - match(LP_); - setState(136); - columnDefinition(); - setState(139); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,8,_ctx) ) { - case 1: - { - setState(137); - match(COMMA_); - setState(138); - plainColumnDefinition(); - } - break; - } - setState(141); - match(COMMA_); - setState(142); - cipherColumnDefinition(); - setState(145); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,9,_ctx) ) { - case 1: - { - setState(143); - match(COMMA_); - setState(144); - assistedQueryColumnDefinition(); - } - break; - } - setState(149); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,10,_ctx) ) { - case 1: - { - setState(147); - match(COMMA_); - setState(148); - likeQueryColumnDefinition(); - } - break; - } - setState(151); - match(COMMA_); - setState(152); - encryptAlgorithm(); - setState(155); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,11,_ctx) ) { - case 1: - { - setState(153); - match(COMMA_); - setState(154); - assistedQueryAlgorithm(); - } - break; - } - setState(159); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,12,_ctx) ) { - case 1: - { - setState(157); - match(COMMA_); - setState(158); - likeQueryAlgorithm(); - } - break; - } - setState(165); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==COMMA_) { - { - setState(161); - match(COMMA_); - setState(162); - match(QUERY_WITH_CIPHER_COLUMN); - setState(163); - match(EQ_); - setState(164); - queryWithCipherColumn(); - } - } - - setState(167); - match(RP_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ColumnDefinitionContext extends ParserRuleContext { - public TerminalNode NAME() { return getToken(RDLStatementParser.NAME, 0); } - public List EQ_() { return getTokens(RDLStatementParser.EQ_); } - public TerminalNode EQ_(int i) { - return getToken(RDLStatementParser.EQ_, i); - } - public ColumnNameContext columnName() { - return getRuleContext(ColumnNameContext.class,0); - } - public TerminalNode COMMA_() { return getToken(RDLStatementParser.COMMA_, 0); } - public TerminalNode DATA_TYPE() { return getToken(RDLStatementParser.DATA_TYPE, 0); } - public DataTypeContext dataType() { - return getRuleContext(DataTypeContext.class,0); - } - public ColumnDefinitionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_columnDefinition; } - } - - public final ColumnDefinitionContext columnDefinition() throws RecognitionException { - ColumnDefinitionContext _localctx = new ColumnDefinitionContext(_ctx, getState()); - enterRule(_localctx, 14, RULE_columnDefinition); - try { - enterOuterAlt(_localctx, 1); - { - setState(169); - match(NAME); - setState(170); - match(EQ_); - setState(171); - columnName(); - setState(176); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,14,_ctx) ) { - case 1: - { - setState(172); - match(COMMA_); - setState(173); - match(DATA_TYPE); - setState(174); - match(EQ_); - setState(175); - dataType(); - } - break; - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ColumnNameContext extends ParserRuleContext { - public TerminalNode IDENTIFIER_() { return getToken(RDLStatementParser.IDENTIFIER_, 0); } - public ColumnNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_columnName; } - } - - public final ColumnNameContext columnName() throws RecognitionException { - ColumnNameContext _localctx = new ColumnNameContext(_ctx, getState()); - enterRule(_localctx, 16, RULE_columnName); - try { - enterOuterAlt(_localctx, 1); - { - setState(178); - match(IDENTIFIER_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class DataTypeContext extends ParserRuleContext { - public TerminalNode STRING_() { return getToken(RDLStatementParser.STRING_, 0); } - public DataTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_dataType; } - } - - public final DataTypeContext dataType() throws RecognitionException { - DataTypeContext _localctx = new DataTypeContext(_ctx, getState()); - enterRule(_localctx, 18, RULE_dataType); - try { - enterOuterAlt(_localctx, 1); - { - setState(180); - match(STRING_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PlainColumnDefinitionContext extends ParserRuleContext { - public TerminalNode PLAIN() { return getToken(RDLStatementParser.PLAIN, 0); } - public List EQ_() { return getTokens(RDLStatementParser.EQ_); } - public TerminalNode EQ_(int i) { - return getToken(RDLStatementParser.EQ_, i); - } - public PlainColumnNameContext plainColumnName() { - return getRuleContext(PlainColumnNameContext.class,0); - } - public TerminalNode COMMA_() { return getToken(RDLStatementParser.COMMA_, 0); } - public TerminalNode PLAIN_DATA_TYPE() { return getToken(RDLStatementParser.PLAIN_DATA_TYPE, 0); } - public DataTypeContext dataType() { - return getRuleContext(DataTypeContext.class,0); - } - public PlainColumnDefinitionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_plainColumnDefinition; } - } - - public final PlainColumnDefinitionContext plainColumnDefinition() throws RecognitionException { - PlainColumnDefinitionContext _localctx = new PlainColumnDefinitionContext(_ctx, getState()); - enterRule(_localctx, 20, RULE_plainColumnDefinition); - try { - enterOuterAlt(_localctx, 1); - { - setState(182); - match(PLAIN); - setState(183); - match(EQ_); - setState(184); - plainColumnName(); - setState(189); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,15,_ctx) ) { - case 1: - { - setState(185); - match(COMMA_); - setState(186); - match(PLAIN_DATA_TYPE); - setState(187); - match(EQ_); - setState(188); - dataType(); - } - break; - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PlainColumnNameContext extends ParserRuleContext { - public TerminalNode IDENTIFIER_() { return getToken(RDLStatementParser.IDENTIFIER_, 0); } - public PlainColumnNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_plainColumnName; } - } - - public final PlainColumnNameContext plainColumnName() throws RecognitionException { - PlainColumnNameContext _localctx = new PlainColumnNameContext(_ctx, getState()); - enterRule(_localctx, 22, RULE_plainColumnName); - try { - enterOuterAlt(_localctx, 1); - { - setState(191); - match(IDENTIFIER_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class CipherColumnDefinitionContext extends ParserRuleContext { - public TerminalNode CIPHER() { return getToken(RDLStatementParser.CIPHER, 0); } - public List EQ_() { return getTokens(RDLStatementParser.EQ_); } - public TerminalNode EQ_(int i) { - return getToken(RDLStatementParser.EQ_, i); - } - public CipherColumnNameContext cipherColumnName() { - return getRuleContext(CipherColumnNameContext.class,0); - } - public TerminalNode COMMA_() { return getToken(RDLStatementParser.COMMA_, 0); } - public TerminalNode CIPHER_DATA_TYPE() { return getToken(RDLStatementParser.CIPHER_DATA_TYPE, 0); } - public DataTypeContext dataType() { - return getRuleContext(DataTypeContext.class,0); - } - public CipherColumnDefinitionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_cipherColumnDefinition; } - } - - public final CipherColumnDefinitionContext cipherColumnDefinition() throws RecognitionException { - CipherColumnDefinitionContext _localctx = new CipherColumnDefinitionContext(_ctx, getState()); - enterRule(_localctx, 24, RULE_cipherColumnDefinition); - try { - enterOuterAlt(_localctx, 1); - { - setState(193); - match(CIPHER); - setState(194); - match(EQ_); - setState(195); - cipherColumnName(); - setState(200); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,16,_ctx) ) { - case 1: - { - setState(196); - match(COMMA_); - setState(197); - match(CIPHER_DATA_TYPE); - setState(198); - match(EQ_); - setState(199); - dataType(); - } - break; - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class CipherColumnNameContext extends ParserRuleContext { - public TerminalNode IDENTIFIER_() { return getToken(RDLStatementParser.IDENTIFIER_, 0); } - public CipherColumnNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_cipherColumnName; } - } - - public final CipherColumnNameContext cipherColumnName() throws RecognitionException { - CipherColumnNameContext _localctx = new CipherColumnNameContext(_ctx, getState()); - enterRule(_localctx, 26, RULE_cipherColumnName); - try { - enterOuterAlt(_localctx, 1); - { - setState(202); - match(IDENTIFIER_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AssistedQueryColumnDefinitionContext extends ParserRuleContext { - public TerminalNode ASSISTED_QUERY_COLUMN() { return getToken(RDLStatementParser.ASSISTED_QUERY_COLUMN, 0); } - public List EQ_() { return getTokens(RDLStatementParser.EQ_); } - public TerminalNode EQ_(int i) { - return getToken(RDLStatementParser.EQ_, i); - } - public AssistedQueryColumnNameContext assistedQueryColumnName() { - return getRuleContext(AssistedQueryColumnNameContext.class,0); - } - public TerminalNode COMMA_() { return getToken(RDLStatementParser.COMMA_, 0); } - public TerminalNode ASSISTED_QUERY_DATA_TYPE() { return getToken(RDLStatementParser.ASSISTED_QUERY_DATA_TYPE, 0); } - public DataTypeContext dataType() { - return getRuleContext(DataTypeContext.class,0); - } - public AssistedQueryColumnDefinitionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_assistedQueryColumnDefinition; } - } - - public final AssistedQueryColumnDefinitionContext assistedQueryColumnDefinition() throws RecognitionException { - AssistedQueryColumnDefinitionContext _localctx = new AssistedQueryColumnDefinitionContext(_ctx, getState()); - enterRule(_localctx, 28, RULE_assistedQueryColumnDefinition); - try { - enterOuterAlt(_localctx, 1); - { - setState(204); - match(ASSISTED_QUERY_COLUMN); - setState(205); - match(EQ_); - setState(206); - assistedQueryColumnName(); - setState(211); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,17,_ctx) ) { - case 1: - { - setState(207); - match(COMMA_); - setState(208); - match(ASSISTED_QUERY_DATA_TYPE); - setState(209); - match(EQ_); - setState(210); - dataType(); - } - break; - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AssistedQueryColumnNameContext extends ParserRuleContext { - public TerminalNode IDENTIFIER_() { return getToken(RDLStatementParser.IDENTIFIER_, 0); } - public AssistedQueryColumnNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_assistedQueryColumnName; } - } - - public final AssistedQueryColumnNameContext assistedQueryColumnName() throws RecognitionException { - AssistedQueryColumnNameContext _localctx = new AssistedQueryColumnNameContext(_ctx, getState()); - enterRule(_localctx, 30, RULE_assistedQueryColumnName); - try { - enterOuterAlt(_localctx, 1); - { - setState(213); - match(IDENTIFIER_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class LikeQueryColumnDefinitionContext extends ParserRuleContext { - public TerminalNode LIKE_QUERY_COLUMN() { return getToken(RDLStatementParser.LIKE_QUERY_COLUMN, 0); } - public List EQ_() { return getTokens(RDLStatementParser.EQ_); } - public TerminalNode EQ_(int i) { - return getToken(RDLStatementParser.EQ_, i); - } - public LikeQueryColumnNameContext likeQueryColumnName() { - return getRuleContext(LikeQueryColumnNameContext.class,0); - } - public TerminalNode COMMA_() { return getToken(RDLStatementParser.COMMA_, 0); } - public TerminalNode LIKE_QUERY_DATA_TYPE() { return getToken(RDLStatementParser.LIKE_QUERY_DATA_TYPE, 0); } - public DataTypeContext dataType() { - return getRuleContext(DataTypeContext.class,0); - } - public LikeQueryColumnDefinitionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_likeQueryColumnDefinition; } - } - - public final LikeQueryColumnDefinitionContext likeQueryColumnDefinition() throws RecognitionException { - LikeQueryColumnDefinitionContext _localctx = new LikeQueryColumnDefinitionContext(_ctx, getState()); - enterRule(_localctx, 32, RULE_likeQueryColumnDefinition); - try { - enterOuterAlt(_localctx, 1); - { - setState(215); - match(LIKE_QUERY_COLUMN); - setState(216); - match(EQ_); - setState(217); - likeQueryColumnName(); - setState(222); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,18,_ctx) ) { - case 1: - { - setState(218); - match(COMMA_); - setState(219); - match(LIKE_QUERY_DATA_TYPE); - setState(220); - match(EQ_); - setState(221); - dataType(); - } - break; - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class LikeQueryColumnNameContext extends ParserRuleContext { - public TerminalNode IDENTIFIER_() { return getToken(RDLStatementParser.IDENTIFIER_, 0); } - public LikeQueryColumnNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_likeQueryColumnName; } - } - - public final LikeQueryColumnNameContext likeQueryColumnName() throws RecognitionException { - LikeQueryColumnNameContext _localctx = new LikeQueryColumnNameContext(_ctx, getState()); - enterRule(_localctx, 34, RULE_likeQueryColumnName); - try { - enterOuterAlt(_localctx, 1); - { - setState(224); - match(IDENTIFIER_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class EncryptAlgorithmContext extends ParserRuleContext { - public TerminalNode ENCRYPT_ALGORITHM() { return getToken(RDLStatementParser.ENCRYPT_ALGORITHM, 0); } - public TerminalNode LP_() { return getToken(RDLStatementParser.LP_, 0); } - public AlgorithmDefinitionContext algorithmDefinition() { - return getRuleContext(AlgorithmDefinitionContext.class,0); - } - public TerminalNode RP_() { return getToken(RDLStatementParser.RP_, 0); } - public EncryptAlgorithmContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_encryptAlgorithm; } - } - - public final EncryptAlgorithmContext encryptAlgorithm() throws RecognitionException { - EncryptAlgorithmContext _localctx = new EncryptAlgorithmContext(_ctx, getState()); - enterRule(_localctx, 36, RULE_encryptAlgorithm); - try { - enterOuterAlt(_localctx, 1); - { - setState(226); - match(ENCRYPT_ALGORITHM); - setState(227); - match(LP_); - setState(228); - algorithmDefinition(); - setState(229); - match(RP_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AssistedQueryAlgorithmContext extends ParserRuleContext { - public TerminalNode ASSISTED_QUERY_ALGORITHM() { return getToken(RDLStatementParser.ASSISTED_QUERY_ALGORITHM, 0); } - public TerminalNode LP_() { return getToken(RDLStatementParser.LP_, 0); } - public AlgorithmDefinitionContext algorithmDefinition() { - return getRuleContext(AlgorithmDefinitionContext.class,0); - } - public TerminalNode RP_() { return getToken(RDLStatementParser.RP_, 0); } - public AssistedQueryAlgorithmContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_assistedQueryAlgorithm; } - } - - public final AssistedQueryAlgorithmContext assistedQueryAlgorithm() throws RecognitionException { - AssistedQueryAlgorithmContext _localctx = new AssistedQueryAlgorithmContext(_ctx, getState()); - enterRule(_localctx, 38, RULE_assistedQueryAlgorithm); - try { - enterOuterAlt(_localctx, 1); - { - setState(231); - match(ASSISTED_QUERY_ALGORITHM); - setState(232); - match(LP_); - setState(233); - algorithmDefinition(); - setState(234); - match(RP_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class LikeQueryAlgorithmContext extends ParserRuleContext { - public TerminalNode LIKE_QUERY_ALGORITHM() { return getToken(RDLStatementParser.LIKE_QUERY_ALGORITHM, 0); } - public TerminalNode LP_() { return getToken(RDLStatementParser.LP_, 0); } - public AlgorithmDefinitionContext algorithmDefinition() { - return getRuleContext(AlgorithmDefinitionContext.class,0); - } - public TerminalNode RP_() { return getToken(RDLStatementParser.RP_, 0); } - public LikeQueryAlgorithmContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_likeQueryAlgorithm; } - } - - public final LikeQueryAlgorithmContext likeQueryAlgorithm() throws RecognitionException { - LikeQueryAlgorithmContext _localctx = new LikeQueryAlgorithmContext(_ctx, getState()); - enterRule(_localctx, 40, RULE_likeQueryAlgorithm); - try { - enterOuterAlt(_localctx, 1); - { - setState(236); - match(LIKE_QUERY_ALGORITHM); - setState(237); - match(LP_); - setState(238); - algorithmDefinition(); - setState(239); - match(RP_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class QueryWithCipherColumnContext extends ParserRuleContext { - public TerminalNode TRUE() { return getToken(RDLStatementParser.TRUE, 0); } - public TerminalNode FALSE() { return getToken(RDLStatementParser.FALSE, 0); } - public QueryWithCipherColumnContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_queryWithCipherColumn; } - } - - public final QueryWithCipherColumnContext queryWithCipherColumn() throws RecognitionException { - QueryWithCipherColumnContext _localctx = new QueryWithCipherColumnContext(_ctx, getState()); - enterRule(_localctx, 42, RULE_queryWithCipherColumn); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(241); - _la = _input.LA(1); - if ( !(_la==TRUE || _la==FALSE) ) { - _errHandler.recoverInline(this); - } - else { - if ( _input.LA(1)==Token.EOF ) matchedEOF = true; - _errHandler.reportMatch(this); - consume(); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class IfExistsContext extends ParserRuleContext { - public TerminalNode IF() { return getToken(RDLStatementParser.IF, 0); } - public TerminalNode EXISTS() { return getToken(RDLStatementParser.EXISTS, 0); } - public IfExistsContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_ifExists; } - } - - public final IfExistsContext ifExists() throws RecognitionException { - IfExistsContext _localctx = new IfExistsContext(_ctx, getState()); - enterRule(_localctx, 44, RULE_ifExists); - try { - enterOuterAlt(_localctx, 1); - { - setState(243); - match(IF); - setState(244); - match(EXISTS); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class IfNotExistsContext extends ParserRuleContext { - public TerminalNode IF() { return getToken(RDLStatementParser.IF, 0); } - public TerminalNode NOT() { return getToken(RDLStatementParser.NOT, 0); } - public TerminalNode EXISTS() { return getToken(RDLStatementParser.EXISTS, 0); } - public IfNotExistsContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_ifNotExists; } - } - - public final IfNotExistsContext ifNotExists() throws RecognitionException { - IfNotExistsContext _localctx = new IfNotExistsContext(_ctx, getState()); - enterRule(_localctx, 46, RULE_ifNotExists); - try { - enterOuterAlt(_localctx, 1); - { - setState(246); - match(IF); - setState(247); - match(NOT); - setState(248); - match(EXISTS); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class LiteralContext extends ParserRuleContext { - public TerminalNode STRING_() { return getToken(RDLStatementParser.STRING_, 0); } - public TerminalNode INT_() { return getToken(RDLStatementParser.INT_, 0); } - public TerminalNode MINUS_() { return getToken(RDLStatementParser.MINUS_, 0); } - public TerminalNode TRUE() { return getToken(RDLStatementParser.TRUE, 0); } - public TerminalNode FALSE() { return getToken(RDLStatementParser.FALSE, 0); } - public LiteralContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_literal; } - } - - public final LiteralContext literal() throws RecognitionException { - LiteralContext _localctx = new LiteralContext(_ctx, getState()); - enterRule(_localctx, 48, RULE_literal); - int _la; - try { - setState(257); - _errHandler.sync(this); - switch (_input.LA(1)) { - case STRING_: - enterOuterAlt(_localctx, 1); - { - setState(250); - match(STRING_); - } - break; - case MINUS_: - case INT_: - enterOuterAlt(_localctx, 2); - { - setState(252); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==MINUS_) { - { - setState(251); - match(MINUS_); - } - } - - setState(254); - match(INT_); - } - break; - case TRUE: - enterOuterAlt(_localctx, 3); - { - setState(255); - match(TRUE); - } - break; - case FALSE: - enterOuterAlt(_localctx, 4); - { - setState(256); - match(FALSE); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AlgorithmDefinitionContext extends ParserRuleContext { - public TerminalNode TYPE() { return getToken(RDLStatementParser.TYPE, 0); } - public TerminalNode LP_() { return getToken(RDLStatementParser.LP_, 0); } - public TerminalNode NAME() { return getToken(RDLStatementParser.NAME, 0); } - public TerminalNode EQ_() { return getToken(RDLStatementParser.EQ_, 0); } - public AlgorithmTypeNameContext algorithmTypeName() { - return getRuleContext(AlgorithmTypeNameContext.class,0); - } - public TerminalNode RP_() { return getToken(RDLStatementParser.RP_, 0); } - public TerminalNode COMMA_() { return getToken(RDLStatementParser.COMMA_, 0); } - public PropertiesDefinitionContext propertiesDefinition() { - return getRuleContext(PropertiesDefinitionContext.class,0); - } - public AlgorithmDefinitionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_algorithmDefinition; } - } - - public final AlgorithmDefinitionContext algorithmDefinition() throws RecognitionException { - AlgorithmDefinitionContext _localctx = new AlgorithmDefinitionContext(_ctx, getState()); - enterRule(_localctx, 50, RULE_algorithmDefinition); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(259); - match(TYPE); - setState(260); - match(LP_); - setState(261); - match(NAME); - setState(262); - match(EQ_); - setState(263); - algorithmTypeName(); - setState(266); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==COMMA_) { - { - setState(264); - match(COMMA_); - setState(265); - propertiesDefinition(); - } - } - - setState(268); - match(RP_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AlgorithmTypeNameContext extends ParserRuleContext { - public BuildinAlgorithmTypeNameContext buildinAlgorithmTypeName() { - return getRuleContext(BuildinAlgorithmTypeNameContext.class,0); - } - public TerminalNode STRING_() { return getToken(RDLStatementParser.STRING_, 0); } - public AlgorithmTypeNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_algorithmTypeName; } - } - - public final AlgorithmTypeNameContext algorithmTypeName() throws RecognitionException { - AlgorithmTypeNameContext _localctx = new AlgorithmTypeNameContext(_ctx, getState()); - enterRule(_localctx, 52, RULE_algorithmTypeName); - try { - setState(272); - _errHandler.sync(this); - switch (_input.LA(1)) { - case MD5: - case AES: - case RC4: - case SM3: - case SM4: - case CHAR_DIGEST_LIKE: - enterOuterAlt(_localctx, 1); - { - setState(270); - buildinAlgorithmTypeName(); - } - break; - case STRING_: - enterOuterAlt(_localctx, 2); - { - setState(271); - match(STRING_); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class BuildinAlgorithmTypeNameContext extends ParserRuleContext { - public TerminalNode MD5() { return getToken(RDLStatementParser.MD5, 0); } - public TerminalNode AES() { return getToken(RDLStatementParser.AES, 0); } - public TerminalNode RC4() { return getToken(RDLStatementParser.RC4, 0); } - public TerminalNode SM3() { return getToken(RDLStatementParser.SM3, 0); } - public TerminalNode SM4() { return getToken(RDLStatementParser.SM4, 0); } - public TerminalNode CHAR_DIGEST_LIKE() { return getToken(RDLStatementParser.CHAR_DIGEST_LIKE, 0); } - public BuildinAlgorithmTypeNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_buildinAlgorithmTypeName; } - } - - public final BuildinAlgorithmTypeNameContext buildinAlgorithmTypeName() throws RecognitionException { - BuildinAlgorithmTypeNameContext _localctx = new BuildinAlgorithmTypeNameContext(_ctx, getState()); - enterRule(_localctx, 54, RULE_buildinAlgorithmTypeName); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(274); - _la = _input.LA(1); - if ( !(((((_la - 77)) & ~0x3f) == 0 && ((1L << (_la - 77)) & ((1L << (MD5 - 77)) | (1L << (AES - 77)) | (1L << (RC4 - 77)) | (1L << (SM3 - 77)) | (1L << (SM4 - 77)) | (1L << (CHAR_DIGEST_LIKE - 77)))) != 0)) ) { - _errHandler.recoverInline(this); - } - else { - if ( _input.LA(1)==Token.EOF ) matchedEOF = true; - _errHandler.reportMatch(this); - consume(); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PropertiesDefinitionContext extends ParserRuleContext { - public TerminalNode PROPERTIES() { return getToken(RDLStatementParser.PROPERTIES, 0); } - public TerminalNode LP_() { return getToken(RDLStatementParser.LP_, 0); } - public TerminalNode RP_() { return getToken(RDLStatementParser.RP_, 0); } - public PropertiesContext properties() { - return getRuleContext(PropertiesContext.class,0); - } - public PropertiesDefinitionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_propertiesDefinition; } - } - - public final PropertiesDefinitionContext propertiesDefinition() throws RecognitionException { - PropertiesDefinitionContext _localctx = new PropertiesDefinitionContext(_ctx, getState()); - enterRule(_localctx, 56, RULE_propertiesDefinition); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(276); - match(PROPERTIES); - setState(277); - match(LP_); - setState(279); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==STRING_) { - { - setState(278); - properties(); - } - } - - setState(281); - match(RP_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PropertiesContext extends ParserRuleContext { - public List property() { - return getRuleContexts(PropertyContext.class); - } - public PropertyContext property(int i) { - return getRuleContext(PropertyContext.class,i); - } - public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } - public TerminalNode COMMA_(int i) { - return getToken(RDLStatementParser.COMMA_, i); - } - public PropertiesContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_properties; } - } - - public final PropertiesContext properties() throws RecognitionException { - PropertiesContext _localctx = new PropertiesContext(_ctx, getState()); - enterRule(_localctx, 58, RULE_properties); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(283); - property(); - setState(288); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA_) { - { - { - setState(284); - match(COMMA_); - setState(285); - property(); - } - } - setState(290); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PropertyContext extends ParserRuleContext { - public Token key; - public LiteralContext value; - public TerminalNode EQ_() { return getToken(RDLStatementParser.EQ_, 0); } - public TerminalNode STRING_() { return getToken(RDLStatementParser.STRING_, 0); } - public LiteralContext literal() { - return getRuleContext(LiteralContext.class,0); - } - public PropertyContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_property; } - } - - public final PropertyContext property() throws RecognitionException { - PropertyContext _localctx = new PropertyContext(_ctx, getState()); - enterRule(_localctx, 60, RULE_property); - try { - enterOuterAlt(_localctx, 1); - { - setState(291); - ((PropertyContext)_localctx).key = match(STRING_); - setState(292); - match(EQ_); - setState(293); - ((PropertyContext)_localctx).value = literal(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TableNameContext extends ParserRuleContext { - public TerminalNode IDENTIFIER_() { return getToken(RDLStatementParser.IDENTIFIER_, 0); } - public TableNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_tableName; } - } - - public final TableNameContext tableName() throws RecognitionException { - TableNameContext _localctx = new TableNameContext(_ctx, getState()); - enterRule(_localctx, 62, RULE_tableName); - try { - enterOuterAlt(_localctx, 1); - { - setState(295); - match(IDENTIFIER_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3]\u012c\4\2\t\2\4"+ - "\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t"+ - "\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ - "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ - "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ - "\t!\3\2\3\2\3\2\3\2\5\2G\n\2\3\2\3\2\3\2\7\2L\n\2\f\2\16\2O\13\2\3\3\3"+ - "\3\3\3\3\3\3\3\3\3\7\3W\n\3\f\3\16\3Z\13\3\3\4\3\4\3\4\3\4\5\4`\n\4\3"+ - "\4\3\4\3\4\7\4e\n\4\f\4\16\4h\13\4\3\5\3\5\3\5\3\5\3\5\5\5o\n\5\3\5\3"+ - "\5\3\5\3\5\3\5\7\5v\n\5\f\5\16\5y\13\5\3\5\3\5\3\5\3\5\3\5\5\5\u0080\n"+ - "\5\3\5\3\5\3\6\3\6\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\b\5\b\u008e\n\b\3\b\3"+ - "\b\3\b\3\b\5\b\u0094\n\b\3\b\3\b\5\b\u0098\n\b\3\b\3\b\3\b\3\b\5\b\u009e"+ - "\n\b\3\b\3\b\5\b\u00a2\n\b\3\b\3\b\3\b\3\b\5\b\u00a8\n\b\3\b\3\b\3\t\3"+ - "\t\3\t\3\t\3\t\3\t\3\t\5\t\u00b3\n\t\3\n\3\n\3\13\3\13\3\f\3\f\3\f\3\f"+ - "\3\f\3\f\3\f\5\f\u00c0\n\f\3\r\3\r\3\16\3\16\3\16\3\16\3\16\3\16\3\16"+ - "\5\16\u00cb\n\16\3\17\3\17\3\20\3\20\3\20\3\20\3\20\3\20\3\20\5\20\u00d6"+ - "\n\20\3\21\3\21\3\22\3\22\3\22\3\22\3\22\3\22\3\22\5\22\u00e1\n\22\3\23"+ - "\3\23\3\24\3\24\3\24\3\24\3\24\3\25\3\25\3\25\3\25\3\25\3\26\3\26\3\26"+ - "\3\26\3\26\3\27\3\27\3\30\3\30\3\30\3\31\3\31\3\31\3\31\3\32\3\32\5\32"+ - "\u00ff\n\32\3\32\3\32\3\32\5\32\u0104\n\32\3\33\3\33\3\33\3\33\3\33\3"+ - "\33\3\33\5\33\u010d\n\33\3\33\3\33\3\34\3\34\5\34\u0113\n\34\3\35\3\35"+ - "\3\36\3\36\3\36\5\36\u011a\n\36\3\36\3\36\3\37\3\37\3\37\7\37\u0121\n"+ - "\37\f\37\16\37\u0124\13\37\3 \3 \3 \3 \3!\3!\3!\2\2\"\2\4\6\b\n\f\16\20"+ - "\22\24\26\30\32\34\36 \"$&(*,.\60\62\64\668:<>@\2\4\3\2EF\3\2OT\2\u0126"+ - "\2B\3\2\2\2\4P\3\2\2\2\6[\3\2\2\2\bi\3\2\2\2\n\u0083\3\2\2\2\f\u0087\3"+ - "\2\2\2\16\u0089\3\2\2\2\20\u00ab\3\2\2\2\22\u00b4\3\2\2\2\24\u00b6\3\2"+ - "\2\2\26\u00b8\3\2\2\2\30\u00c1\3\2\2\2\32\u00c3\3\2\2\2\34\u00cc\3\2\2"+ - "\2\36\u00ce\3\2\2\2 \u00d7\3\2\2\2\"\u00d9\3\2\2\2$\u00e2\3\2\2\2&\u00e4"+ - "\3\2\2\2(\u00e9\3\2\2\2*\u00ee\3\2\2\2,\u00f3\3\2\2\2.\u00f5\3\2\2\2\60"+ - "\u00f8\3\2\2\2\62\u0103\3\2\2\2\64\u0105\3\2\2\2\66\u0112\3\2\2\28\u0114"+ - "\3\2\2\2:\u0116\3\2\2\2<\u011d\3\2\2\2>\u0125\3\2\2\2@\u0129\3\2\2\2B"+ - "C\7.\2\2CD\7\65\2\2DF\7\63\2\2EG\5\60\31\2FE\3\2\2\2FG\3\2\2\2GH\3\2\2"+ - "\2HM\5\b\5\2IJ\7$\2\2JL\5\b\5\2KI\3\2\2\2LO\3\2\2\2MK\3\2\2\2MN\3\2\2"+ - "\2N\3\3\2\2\2OM\3\2\2\2PQ\7/\2\2QR\7\65\2\2RS\7\63\2\2SX\5\b\5\2TU\7$"+ - "\2\2UW\5\b\5\2VT\3\2\2\2WZ\3\2\2\2XV\3\2\2\2XY\3\2\2\2Y\5\3\2\2\2ZX\3"+ - "\2\2\2[\\\7\60\2\2\\]\7\65\2\2]_\7\63\2\2^`\5.\30\2_^\3\2\2\2_`\3\2\2"+ - "\2`a\3\2\2\2af\5@!\2bc\7$\2\2ce\5@!\2db\3\2\2\2eh\3\2\2\2fd\3\2\2\2fg"+ - "\3\2\2\2g\7\3\2\2\2hf\3\2\2\2ij\5@!\2jn\7\36\2\2kl\5\n\6\2lm\7$\2\2mo"+ - "\3\2\2\2nk\3\2\2\2no\3\2\2\2op\3\2\2\2pq\7?\2\2qr\7\36\2\2rw\5\16\b\2"+ - "st\7$\2\2tv\5\16\b\2us\3\2\2\2vy\3\2\2\2wu\3\2\2\2wx\3\2\2\2xz\3\2\2\2"+ - "yw\3\2\2\2z\177\7\37\2\2{|\7$\2\2|}\7D\2\2}~\7\27\2\2~\u0080\5,\27\2\177"+ - "{\3\2\2\2\177\u0080\3\2\2\2\u0080\u0081\3\2\2\2\u0081\u0082\7\37\2\2\u0082"+ - "\t\3\2\2\2\u0083\u0084\7\62\2\2\u0084\u0085\7\27\2\2\u0085\u0086\5\f\7"+ - "\2\u0086\13\3\2\2\2\u0087\u0088\7W\2\2\u0088\r\3\2\2\2\u0089\u008a\7\36"+ - "\2\2\u008a\u008d\5\20\t\2\u008b\u008c\7$\2\2\u008c\u008e\5\26\f\2\u008d"+ - "\u008b\3\2\2\2\u008d\u008e\3\2\2\2\u008e\u008f\3\2\2\2\u008f\u0090\7$"+ - "\2\2\u0090\u0093\5\32\16\2\u0091\u0092\7$\2\2\u0092\u0094\5\36\20\2\u0093"+ - "\u0091\3\2\2\2\u0093\u0094\3\2\2\2\u0094\u0097\3\2\2\2\u0095\u0096\7$"+ - "\2\2\u0096\u0098\5\"\22\2\u0097\u0095\3\2\2\2\u0097\u0098\3\2\2\2\u0098"+ - "\u0099\3\2\2\2\u0099\u009a\7$\2\2\u009a\u009d\5&\24\2\u009b\u009c\7$\2"+ - "\2\u009c\u009e\5(\25\2\u009d\u009b\3\2\2\2\u009d\u009e\3\2\2\2\u009e\u00a1"+ - "\3\2\2\2\u009f\u00a0\7$\2\2\u00a0\u00a2\5*\26\2\u00a1\u009f\3\2\2\2\u00a1"+ - "\u00a2\3\2\2\2\u00a2\u00a7\3\2\2\2\u00a3\u00a4\7$\2\2\u00a4\u00a5\7D\2"+ - "\2\u00a5\u00a6\7\27\2\2\u00a6\u00a8\5,\27\2\u00a7\u00a3\3\2\2\2\u00a7"+ - "\u00a8\3\2\2\2\u00a8\u00a9\3\2\2\2\u00a9\u00aa\7\37\2\2\u00aa\17\3\2\2"+ - "\2\u00ab\u00ac\7:\2\2\u00ac\u00ad\7\27\2\2\u00ad\u00b2\5\22\n\2\u00ae"+ - "\u00af\7$\2\2\u00af\u00b0\7G\2\2\u00b0\u00b1\7\27\2\2\u00b1\u00b3\5\24"+ - "\13\2\u00b2\u00ae\3\2\2\2\u00b2\u00b3\3\2\2\2\u00b3\21\3\2\2\2\u00b4\u00b5"+ - "\7W\2\2\u00b5\23\3\2\2\2\u00b6\u00b7\7X\2\2\u00b7\25\3\2\2\2\u00b8\u00b9"+ - "\7A\2\2\u00b9\u00ba\7\27\2\2\u00ba\u00bf\5\30\r\2\u00bb\u00bc\7$\2\2\u00bc"+ - "\u00bd\7H\2\2\u00bd\u00be\7\27\2\2\u00be\u00c0\5\24\13\2\u00bf\u00bb\3"+ - "\2\2\2\u00bf\u00c0\3\2\2\2\u00c0\27\3\2\2\2\u00c1\u00c2\7W\2\2\u00c2\31"+ - "\3\2\2\2\u00c3\u00c4\7@\2\2\u00c4\u00c5\7\27\2\2\u00c5\u00ca\5\34\17\2"+ - "\u00c6\u00c7\7$\2\2\u00c7\u00c8\7I\2\2\u00c8\u00c9\7\27\2\2\u00c9\u00cb"+ - "\5\24\13\2\u00ca\u00c6\3\2\2\2\u00ca\u00cb\3\2\2\2\u00cb\33\3\2\2\2\u00cc"+ - "\u00cd\7W\2\2\u00cd\35\3\2\2\2\u00ce\u00cf\7B\2\2\u00cf\u00d0\7\27\2\2"+ - "\u00d0\u00d5\5 \21\2\u00d1\u00d2\7$\2\2\u00d2\u00d3\7J\2\2\u00d3\u00d4"+ - "\7\27\2\2\u00d4\u00d6\5\24\13\2\u00d5\u00d1\3\2\2\2\u00d5\u00d6\3\2\2"+ - "\2\u00d6\37\3\2\2\2\u00d7\u00d8\7W\2\2\u00d8!\3\2\2\2\u00d9\u00da\7C\2"+ - "\2\u00da\u00db\7\27\2\2\u00db\u00e0\5$\23\2\u00dc\u00dd\7$\2\2\u00dd\u00de"+ - "\7K\2\2\u00de\u00df\7\27\2\2\u00df\u00e1\5\24\13\2\u00e0\u00dc\3\2\2\2"+ - "\u00e0\u00e1\3\2\2\2\u00e1#\3\2\2\2\u00e2\u00e3\7W\2\2\u00e3%\3\2\2\2"+ - "\u00e4\u00e5\7\67\2\2\u00e5\u00e6\7\36\2\2\u00e6\u00e7\5\64\33\2\u00e7"+ - "\u00e8\7\37\2\2\u00e8\'\3\2\2\2\u00e9\u00ea\78\2\2\u00ea\u00eb\7\36\2"+ - "\2\u00eb\u00ec\5\64\33\2\u00ec\u00ed\7\37\2\2\u00ed)\3\2\2\2\u00ee\u00ef"+ - "\79\2\2\u00ef\u00f0\7\36\2\2\u00f0\u00f1\5\64\33\2\u00f1\u00f2\7\37\2"+ - "\2\u00f2+\3\2\2\2\u00f3\u00f4\t\2\2\2\u00f4-\3\2\2\2\u00f5\u00f6\7L\2"+ - "\2\u00f6\u00f7\7M\2\2\u00f7/\3\2\2\2\u00f8\u00f9\7L\2\2\u00f9\u00fa\7"+ - "U\2\2\u00fa\u00fb\7M\2\2\u00fb\61\3\2\2\2\u00fc\u0104\7X\2\2\u00fd\u00ff"+ - "\7\17\2\2\u00fe\u00fd\3\2\2\2\u00fe\u00ff\3\2\2\2\u00ff\u0100\3\2\2\2"+ - "\u0100\u0104\7Y\2\2\u0101\u0104\7E\2\2\u0102\u0104\7F\2\2\u0103\u00fc"+ - "\3\2\2\2\u0103\u00fe\3\2\2\2\u0103\u0101\3\2\2\2\u0103\u0102\3\2\2\2\u0104"+ - "\63\3\2\2\2\u0105\u0106\7\66\2\2\u0106\u0107\7\36\2\2\u0107\u0108\7:\2"+ - "\2\u0108\u0109\7\27\2\2\u0109\u010c\5\66\34\2\u010a\u010b\7$\2\2\u010b"+ - "\u010d\5:\36\2\u010c\u010a\3\2\2\2\u010c\u010d\3\2\2\2\u010d\u010e\3\2"+ - "\2\2\u010e\u010f\7\37\2\2\u010f\65\3\2\2\2\u0110\u0113\58\35\2\u0111\u0113"+ - "\7X\2\2\u0112\u0110\3\2\2\2\u0112\u0111\3\2\2\2\u0113\67\3\2\2\2\u0114"+ - "\u0115\t\3\2\2\u01159\3\2\2\2\u0116\u0117\7;\2\2\u0117\u0119\7\36\2\2"+ - "\u0118\u011a\5<\37\2\u0119\u0118\3\2\2\2\u0119\u011a\3\2\2\2\u011a\u011b"+ - "\3\2\2\2\u011b\u011c\7\37\2\2\u011c;\3\2\2\2\u011d\u0122\5> \2\u011e\u011f"+ - "\7$\2\2\u011f\u0121\5> \2\u0120\u011e\3\2\2\2\u0121\u0124\3\2\2\2\u0122"+ - "\u0120\3\2\2\2\u0122\u0123\3\2\2\2\u0123=\3\2\2\2\u0124\u0122\3\2\2\2"+ - "\u0125\u0126\7X\2\2\u0126\u0127\7\27\2\2\u0127\u0128\5\62\32\2\u0128?"+ - "\3\2\2\2\u0129\u012a\7W\2\2\u012aA\3\2\2\2\33FMX_fnw\177\u008d\u0093\u0097"+ - "\u009d\u00a1\u00a7\u00b2\u00bf\u00ca\u00d5\u00e0\u00fe\u0103\u010c\u0112"+ - "\u0119\u0122"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Symbol.interp b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Symbol.interp deleted file mode 100644 index 16be7873..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Symbol.interp +++ /dev/null @@ -1,143 +0,0 @@ -token literal names: -null -'&&' -'||' -'!' -'~' -'|' -'&' -'<<' -'>>' -'^' -'%' -':' -'+' -'-' -'*' -'/' -'\\' -'.' -'.*' -'<=>' -'==' -'=' -null -'>' -'>=' -'<' -'<=' -'#' -'(' -')' -'{' -'}' -'[' -']' -',' -'"' -'\'' -'`' -'?' -'@' -';' -'->>' -'_' - -token symbolic names: -null -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ - -rule names: -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ - -channel names: -DEFAULT_TOKEN_CHANNEL -HIDDEN - -mode names: -DEFAULT_MODE - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 44, 187, 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, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 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, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 142, 10, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 2, 2, 44, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 3, 2, 2, 2, 187, 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, 3, 87, 3, 2, 2, 2, 5, 90, 3, 2, 2, 2, 7, 93, 3, 2, 2, 2, 9, 95, 3, 2, 2, 2, 11, 97, 3, 2, 2, 2, 13, 99, 3, 2, 2, 2, 15, 101, 3, 2, 2, 2, 17, 104, 3, 2, 2, 2, 19, 107, 3, 2, 2, 2, 21, 109, 3, 2, 2, 2, 23, 111, 3, 2, 2, 2, 25, 113, 3, 2, 2, 2, 27, 115, 3, 2, 2, 2, 29, 117, 3, 2, 2, 2, 31, 119, 3, 2, 2, 2, 33, 121, 3, 2, 2, 2, 35, 123, 3, 2, 2, 2, 37, 125, 3, 2, 2, 2, 39, 128, 3, 2, 2, 2, 41, 132, 3, 2, 2, 2, 43, 135, 3, 2, 2, 2, 45, 141, 3, 2, 2, 2, 47, 143, 3, 2, 2, 2, 49, 145, 3, 2, 2, 2, 51, 148, 3, 2, 2, 2, 53, 150, 3, 2, 2, 2, 55, 153, 3, 2, 2, 2, 57, 155, 3, 2, 2, 2, 59, 157, 3, 2, 2, 2, 61, 159, 3, 2, 2, 2, 63, 161, 3, 2, 2, 2, 65, 163, 3, 2, 2, 2, 67, 165, 3, 2, 2, 2, 69, 167, 3, 2, 2, 2, 71, 169, 3, 2, 2, 2, 73, 171, 3, 2, 2, 2, 75, 173, 3, 2, 2, 2, 77, 175, 3, 2, 2, 2, 79, 177, 3, 2, 2, 2, 81, 179, 3, 2, 2, 2, 83, 181, 3, 2, 2, 2, 85, 185, 3, 2, 2, 2, 87, 88, 7, 40, 2, 2, 88, 89, 7, 40, 2, 2, 89, 4, 3, 2, 2, 2, 90, 91, 7, 126, 2, 2, 91, 92, 7, 126, 2, 2, 92, 6, 3, 2, 2, 2, 93, 94, 7, 35, 2, 2, 94, 8, 3, 2, 2, 2, 95, 96, 7, 128, 2, 2, 96, 10, 3, 2, 2, 2, 97, 98, 7, 126, 2, 2, 98, 12, 3, 2, 2, 2, 99, 100, 7, 40, 2, 2, 100, 14, 3, 2, 2, 2, 101, 102, 7, 62, 2, 2, 102, 103, 7, 62, 2, 2, 103, 16, 3, 2, 2, 2, 104, 105, 7, 64, 2, 2, 105, 106, 7, 64, 2, 2, 106, 18, 3, 2, 2, 2, 107, 108, 7, 96, 2, 2, 108, 20, 3, 2, 2, 2, 109, 110, 7, 39, 2, 2, 110, 22, 3, 2, 2, 2, 111, 112, 7, 60, 2, 2, 112, 24, 3, 2, 2, 2, 113, 114, 7, 45, 2, 2, 114, 26, 3, 2, 2, 2, 115, 116, 7, 47, 2, 2, 116, 28, 3, 2, 2, 2, 117, 118, 7, 44, 2, 2, 118, 30, 3, 2, 2, 2, 119, 120, 7, 49, 2, 2, 120, 32, 3, 2, 2, 2, 121, 122, 7, 94, 2, 2, 122, 34, 3, 2, 2, 2, 123, 124, 7, 48, 2, 2, 124, 36, 3, 2, 2, 2, 125, 126, 7, 48, 2, 2, 126, 127, 7, 44, 2, 2, 127, 38, 3, 2, 2, 2, 128, 129, 7, 62, 2, 2, 129, 130, 7, 63, 2, 2, 130, 131, 7, 64, 2, 2, 131, 40, 3, 2, 2, 2, 132, 133, 7, 63, 2, 2, 133, 134, 7, 63, 2, 2, 134, 42, 3, 2, 2, 2, 135, 136, 7, 63, 2, 2, 136, 44, 3, 2, 2, 2, 137, 138, 7, 62, 2, 2, 138, 142, 7, 64, 2, 2, 139, 140, 7, 35, 2, 2, 140, 142, 7, 63, 2, 2, 141, 137, 3, 2, 2, 2, 141, 139, 3, 2, 2, 2, 142, 46, 3, 2, 2, 2, 143, 144, 7, 64, 2, 2, 144, 48, 3, 2, 2, 2, 145, 146, 7, 64, 2, 2, 146, 147, 7, 63, 2, 2, 147, 50, 3, 2, 2, 2, 148, 149, 7, 62, 2, 2, 149, 52, 3, 2, 2, 2, 150, 151, 7, 62, 2, 2, 151, 152, 7, 63, 2, 2, 152, 54, 3, 2, 2, 2, 153, 154, 7, 37, 2, 2, 154, 56, 3, 2, 2, 2, 155, 156, 7, 42, 2, 2, 156, 58, 3, 2, 2, 2, 157, 158, 7, 43, 2, 2, 158, 60, 3, 2, 2, 2, 159, 160, 7, 125, 2, 2, 160, 62, 3, 2, 2, 2, 161, 162, 7, 127, 2, 2, 162, 64, 3, 2, 2, 2, 163, 164, 7, 93, 2, 2, 164, 66, 3, 2, 2, 2, 165, 166, 7, 95, 2, 2, 166, 68, 3, 2, 2, 2, 167, 168, 7, 46, 2, 2, 168, 70, 3, 2, 2, 2, 169, 170, 7, 36, 2, 2, 170, 72, 3, 2, 2, 2, 171, 172, 7, 41, 2, 2, 172, 74, 3, 2, 2, 2, 173, 174, 7, 98, 2, 2, 174, 76, 3, 2, 2, 2, 175, 176, 7, 65, 2, 2, 176, 78, 3, 2, 2, 2, 177, 178, 7, 66, 2, 2, 178, 80, 3, 2, 2, 2, 179, 180, 7, 61, 2, 2, 180, 82, 3, 2, 2, 2, 181, 182, 7, 47, 2, 2, 182, 183, 7, 64, 2, 2, 183, 184, 7, 64, 2, 2, 184, 84, 3, 2, 2, 2, 185, 186, 7, 97, 2, 2, 186, 86, 3, 2, 2, 2, 4, 2, 141, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Symbol.java b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Symbol.java deleted file mode 100644 index d170e826..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Symbol.java +++ /dev/null @@ -1,184 +0,0 @@ -// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/encrypt/Symbol.g4 by ANTLR 4.9.2 -import org.antlr.v4.runtime.Lexer; -import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.TokenStream; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.misc.*; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class Symbol extends Lexer { - static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, - SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, - ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, - DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, - LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, - SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42; - public static String[] channelNames = { - "DEFAULT_TOKEN_CHANNEL", "HIDDEN" - }; - - public static String[] modeNames = { - "DEFAULT_MODE" - }; - - private static String[] makeRuleNames() { - return new String[] { - "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", - "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", - "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", - "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", - "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", - "SEMI_", "JSONSEPARATOR_", "UL_" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", - "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", - "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", - "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", - "';'", "'->>'", "'_'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", - "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", - "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", - "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", - "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", - "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - - public Symbol(CharStream input) { - super(input); - _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - @Override - public String getGrammarFileName() { return "Symbol.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public String[] getChannelNames() { return channelNames; } - - @Override - public String[] getModeNames() { return modeNames; } - - @Override - public ATN getATN() { return _ATN; } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2,\u00bb\b\1\4\2\t"+ - "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ - "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ - "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ - "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ - "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\3"+ - "\2\3\2\3\2\3\3\3\3\3\3\3\4\3\4\3\5\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\t"+ - "\3\t\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3\17\3\17\3\20\3"+ - "\20\3\21\3\21\3\22\3\22\3\23\3\23\3\23\3\24\3\24\3\24\3\24\3\25\3\25\3"+ - "\25\3\26\3\26\3\27\3\27\3\27\3\27\5\27\u008e\n\27\3\30\3\30\3\31\3\31"+ - "\3\31\3\32\3\32\3\33\3\33\3\33\3\34\3\34\3\35\3\35\3\36\3\36\3\37\3\37"+ - "\3 \3 \3!\3!\3\"\3\"\3#\3#\3$\3$\3%\3%\3&\3&\3\'\3\'\3(\3(\3)\3)\3*\3"+ - "*\3*\3*\3+\3+\2\2,\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r"+ - "\31\16\33\17\35\20\37\21!\22#\23%\24\'\25)\26+\27-\30/\31\61\32\63\33"+ - "\65\34\67\359\36;\37= ?!A\"C#E$G%I&K\'M(O)Q*S+U,\3\2\2\2\u00bb\2\3\3\2"+ - "\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17"+ - "\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\31\3\2"+ - "\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2\2\2%\3"+ - "\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\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\29\3\2\2\2\2;\3\2\2\2\2"+ - "=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2\2I\3"+ - "\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2\2"+ - "\2\3W\3\2\2\2\5Z\3\2\2\2\7]\3\2\2\2\t_\3\2\2\2\13a\3\2\2\2\rc\3\2\2\2"+ - "\17e\3\2\2\2\21h\3\2\2\2\23k\3\2\2\2\25m\3\2\2\2\27o\3\2\2\2\31q\3\2\2"+ - "\2\33s\3\2\2\2\35u\3\2\2\2\37w\3\2\2\2!y\3\2\2\2#{\3\2\2\2%}\3\2\2\2\'"+ - "\u0080\3\2\2\2)\u0084\3\2\2\2+\u0087\3\2\2\2-\u008d\3\2\2\2/\u008f\3\2"+ - "\2\2\61\u0091\3\2\2\2\63\u0094\3\2\2\2\65\u0096\3\2\2\2\67\u0099\3\2\2"+ - "\29\u009b\3\2\2\2;\u009d\3\2\2\2=\u009f\3\2\2\2?\u00a1\3\2\2\2A\u00a3"+ - "\3\2\2\2C\u00a5\3\2\2\2E\u00a7\3\2\2\2G\u00a9\3\2\2\2I\u00ab\3\2\2\2K"+ - "\u00ad\3\2\2\2M\u00af\3\2\2\2O\u00b1\3\2\2\2Q\u00b3\3\2\2\2S\u00b5\3\2"+ - "\2\2U\u00b9\3\2\2\2WX\7(\2\2XY\7(\2\2Y\4\3\2\2\2Z[\7~\2\2[\\\7~\2\2\\"+ - "\6\3\2\2\2]^\7#\2\2^\b\3\2\2\2_`\7\u0080\2\2`\n\3\2\2\2ab\7~\2\2b\f\3"+ - "\2\2\2cd\7(\2\2d\16\3\2\2\2ef\7>\2\2fg\7>\2\2g\20\3\2\2\2hi\7@\2\2ij\7"+ - "@\2\2j\22\3\2\2\2kl\7`\2\2l\24\3\2\2\2mn\7\'\2\2n\26\3\2\2\2op\7<\2\2"+ - "p\30\3\2\2\2qr\7-\2\2r\32\3\2\2\2st\7/\2\2t\34\3\2\2\2uv\7,\2\2v\36\3"+ - "\2\2\2wx\7\61\2\2x \3\2\2\2yz\7^\2\2z\"\3\2\2\2{|\7\60\2\2|$\3\2\2\2}"+ - "~\7\60\2\2~\177\7,\2\2\177&\3\2\2\2\u0080\u0081\7>\2\2\u0081\u0082\7?"+ - "\2\2\u0082\u0083\7@\2\2\u0083(\3\2\2\2\u0084\u0085\7?\2\2\u0085\u0086"+ - "\7?\2\2\u0086*\3\2\2\2\u0087\u0088\7?\2\2\u0088,\3\2\2\2\u0089\u008a\7"+ - ">\2\2\u008a\u008e\7@\2\2\u008b\u008c\7#\2\2\u008c\u008e\7?\2\2\u008d\u0089"+ - "\3\2\2\2\u008d\u008b\3\2\2\2\u008e.\3\2\2\2\u008f\u0090\7@\2\2\u0090\60"+ - "\3\2\2\2\u0091\u0092\7@\2\2\u0092\u0093\7?\2\2\u0093\62\3\2\2\2\u0094"+ - "\u0095\7>\2\2\u0095\64\3\2\2\2\u0096\u0097\7>\2\2\u0097\u0098\7?\2\2\u0098"+ - "\66\3\2\2\2\u0099\u009a\7%\2\2\u009a8\3\2\2\2\u009b\u009c\7*\2\2\u009c"+ - ":\3\2\2\2\u009d\u009e\7+\2\2\u009e<\3\2\2\2\u009f\u00a0\7}\2\2\u00a0>"+ - "\3\2\2\2\u00a1\u00a2\7\177\2\2\u00a2@\3\2\2\2\u00a3\u00a4\7]\2\2\u00a4"+ - "B\3\2\2\2\u00a5\u00a6\7_\2\2\u00a6D\3\2\2\2\u00a7\u00a8\7.\2\2\u00a8F"+ - "\3\2\2\2\u00a9\u00aa\7$\2\2\u00aaH\3\2\2\2\u00ab\u00ac\7)\2\2\u00acJ\3"+ - "\2\2\2\u00ad\u00ae\7b\2\2\u00aeL\3\2\2\2\u00af\u00b0\7A\2\2\u00b0N\3\2"+ - "\2\2\u00b1\u00b2\7B\2\2\u00b2P\3\2\2\2\u00b3\u00b4\7=\2\2\u00b4R\3\2\2"+ - "\2\u00b5\u00b6\7/\2\2\u00b6\u00b7\7@\2\2\u00b7\u00b8\7@\2\2\u00b8T\3\2"+ - "\2\2\u00b9\u00ba\7a\2\2\u00baV\3\2\2\2\4\2\u008d\2"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Symbol.tokens b/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Symbol.tokens deleted file mode 100644 index e2613cd6..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/encrypt/.antlr/Symbol.tokens +++ /dev/null @@ -1,83 +0,0 @@ -AND_=1 -OR_=2 -NOT_=3 -TILDE_=4 -VERTICALBAR_=5 -AMPERSAND_=6 -SIGNEDLEFTSHIFT_=7 -SIGNEDRIGHTSHIFT_=8 -CARET_=9 -MOD_=10 -COLON_=11 -PLUS_=12 -MINUS_=13 -ASTERISK_=14 -SLASH_=15 -BACKSLASH_=16 -DOT_=17 -DOTASTERISK_=18 -SAFEEQ_=19 -DEQ_=20 -EQ_=21 -NEQ_=22 -GT_=23 -GTE_=24 -LT_=25 -LTE_=26 -POUND_=27 -LP_=28 -RP_=29 -LBE_=30 -RBE_=31 -LBT_=32 -RBT_=33 -COMMA_=34 -DQ_=35 -SQ_=36 -BQ_=37 -QUESTION_=38 -AT_=39 -SEMI_=40 -JSONSEPARATOR_=41 -UL_=42 -'&&'=1 -'||'=2 -'!'=3 -'~'=4 -'|'=5 -'&'=6 -'<<'=7 -'>>'=8 -'^'=9 -'%'=10 -':'=11 -'+'=12 -'-'=13 -'*'=14 -'/'=15 -'\\'=16 -'.'=17 -'.*'=18 -'<=>'=19 -'=='=20 -'='=21 -'>'=23 -'>='=24 -'<'=25 -'<='=26 -'#'=27 -'('=28 -')'=29 -'{'=30 -'}'=31 -'['=32 -']'=33 -','=34 -'"'=35 -'\''=36 -'`'=37 -'?'=38 -'@'=39 -';'=40 -'->>'=41 -'_'=42 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Alphabet.interp b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Alphabet.interp deleted file mode 100644 index edd4b2d1..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Alphabet.interp +++ /dev/null @@ -1,47 +0,0 @@ -token literal names: -null -'DO NOT MATCH ANY THING, JUST FOR GENERATOR' - -token symbolic names: -null -FOR_GENERATOR - -rule names: -FOR_GENERATOR -A -B -C -D -E -F -G -H -I -J -K -L -M -N -O -P -Q -R -S -T -U -V -W -X -Y -Z -UL_ - -channel names: -DEFAULT_TOKEN_CHANNEL -HIDDEN - -mode names: -DEFAULT_MODE - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 3, 156, 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, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 3, 18, 3, 18, 3, 19, 3, 19, 3, 20, 3, 20, 3, 21, 3, 21, 3, 22, 3, 22, 3, 23, 3, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 2, 2, 30, 3, 3, 5, 2, 7, 2, 9, 2, 11, 2, 13, 2, 15, 2, 17, 2, 19, 2, 21, 2, 23, 2, 25, 2, 27, 2, 29, 2, 31, 2, 33, 2, 35, 2, 37, 2, 39, 2, 41, 2, 43, 2, 45, 2, 47, 2, 49, 2, 51, 2, 53, 2, 55, 2, 57, 2, 3, 2, 28, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 2, 128, 2, 3, 3, 2, 2, 2, 3, 59, 3, 2, 2, 2, 5, 102, 3, 2, 2, 2, 7, 104, 3, 2, 2, 2, 9, 106, 3, 2, 2, 2, 11, 108, 3, 2, 2, 2, 13, 110, 3, 2, 2, 2, 15, 112, 3, 2, 2, 2, 17, 114, 3, 2, 2, 2, 19, 116, 3, 2, 2, 2, 21, 118, 3, 2, 2, 2, 23, 120, 3, 2, 2, 2, 25, 122, 3, 2, 2, 2, 27, 124, 3, 2, 2, 2, 29, 126, 3, 2, 2, 2, 31, 128, 3, 2, 2, 2, 33, 130, 3, 2, 2, 2, 35, 132, 3, 2, 2, 2, 37, 134, 3, 2, 2, 2, 39, 136, 3, 2, 2, 2, 41, 138, 3, 2, 2, 2, 43, 140, 3, 2, 2, 2, 45, 142, 3, 2, 2, 2, 47, 144, 3, 2, 2, 2, 49, 146, 3, 2, 2, 2, 51, 148, 3, 2, 2, 2, 53, 150, 3, 2, 2, 2, 55, 152, 3, 2, 2, 2, 57, 154, 3, 2, 2, 2, 59, 60, 7, 70, 2, 2, 60, 61, 7, 81, 2, 2, 61, 62, 7, 34, 2, 2, 62, 63, 7, 80, 2, 2, 63, 64, 7, 81, 2, 2, 64, 65, 7, 86, 2, 2, 65, 66, 7, 34, 2, 2, 66, 67, 7, 79, 2, 2, 67, 68, 7, 67, 2, 2, 68, 69, 7, 86, 2, 2, 69, 70, 7, 69, 2, 2, 70, 71, 7, 74, 2, 2, 71, 72, 7, 34, 2, 2, 72, 73, 7, 67, 2, 2, 73, 74, 7, 80, 2, 2, 74, 75, 7, 91, 2, 2, 75, 76, 7, 34, 2, 2, 76, 77, 7, 86, 2, 2, 77, 78, 7, 74, 2, 2, 78, 79, 7, 75, 2, 2, 79, 80, 7, 80, 2, 2, 80, 81, 7, 73, 2, 2, 81, 82, 7, 46, 2, 2, 82, 83, 7, 34, 2, 2, 83, 84, 7, 76, 2, 2, 84, 85, 7, 87, 2, 2, 85, 86, 7, 85, 2, 2, 86, 87, 7, 86, 2, 2, 87, 88, 7, 34, 2, 2, 88, 89, 7, 72, 2, 2, 89, 90, 7, 81, 2, 2, 90, 91, 7, 84, 2, 2, 91, 92, 7, 34, 2, 2, 92, 93, 7, 73, 2, 2, 93, 94, 7, 71, 2, 2, 94, 95, 7, 80, 2, 2, 95, 96, 7, 71, 2, 2, 96, 97, 7, 84, 2, 2, 97, 98, 7, 67, 2, 2, 98, 99, 7, 86, 2, 2, 99, 100, 7, 81, 2, 2, 100, 101, 7, 84, 2, 2, 101, 4, 3, 2, 2, 2, 102, 103, 9, 2, 2, 2, 103, 6, 3, 2, 2, 2, 104, 105, 9, 3, 2, 2, 105, 8, 3, 2, 2, 2, 106, 107, 9, 4, 2, 2, 107, 10, 3, 2, 2, 2, 108, 109, 9, 5, 2, 2, 109, 12, 3, 2, 2, 2, 110, 111, 9, 6, 2, 2, 111, 14, 3, 2, 2, 2, 112, 113, 9, 7, 2, 2, 113, 16, 3, 2, 2, 2, 114, 115, 9, 8, 2, 2, 115, 18, 3, 2, 2, 2, 116, 117, 9, 9, 2, 2, 117, 20, 3, 2, 2, 2, 118, 119, 9, 10, 2, 2, 119, 22, 3, 2, 2, 2, 120, 121, 9, 11, 2, 2, 121, 24, 3, 2, 2, 2, 122, 123, 9, 12, 2, 2, 123, 26, 3, 2, 2, 2, 124, 125, 9, 13, 2, 2, 125, 28, 3, 2, 2, 2, 126, 127, 9, 14, 2, 2, 127, 30, 3, 2, 2, 2, 128, 129, 9, 15, 2, 2, 129, 32, 3, 2, 2, 2, 130, 131, 9, 16, 2, 2, 131, 34, 3, 2, 2, 2, 132, 133, 9, 17, 2, 2, 133, 36, 3, 2, 2, 2, 134, 135, 9, 18, 2, 2, 135, 38, 3, 2, 2, 2, 136, 137, 9, 19, 2, 2, 137, 40, 3, 2, 2, 2, 138, 139, 9, 20, 2, 2, 139, 42, 3, 2, 2, 2, 140, 141, 9, 21, 2, 2, 141, 44, 3, 2, 2, 2, 142, 143, 9, 22, 2, 2, 143, 46, 3, 2, 2, 2, 144, 145, 9, 23, 2, 2, 145, 48, 3, 2, 2, 2, 146, 147, 9, 24, 2, 2, 147, 50, 3, 2, 2, 2, 148, 149, 9, 25, 2, 2, 149, 52, 3, 2, 2, 2, 150, 151, 9, 26, 2, 2, 151, 54, 3, 2, 2, 2, 152, 153, 9, 27, 2, 2, 153, 56, 3, 2, 2, 2, 154, 155, 7, 97, 2, 2, 155, 58, 3, 2, 2, 2, 3, 2, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Alphabet.java b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Alphabet.java deleted file mode 100644 index fb305ef0..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Alphabet.java +++ /dev/null @@ -1,154 +0,0 @@ -// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/mask/Alphabet.g4 by ANTLR 4.9.2 -import org.antlr.v4.runtime.Lexer; -import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.TokenStream; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.misc.*; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class Alphabet extends Lexer { - static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - FOR_GENERATOR=1; - public static String[] channelNames = { - "DEFAULT_TOKEN_CHANNEL", "HIDDEN" - }; - - public static String[] modeNames = { - "DEFAULT_MODE" - }; - - private static String[] makeRuleNames() { - return new String[] { - "FOR_GENERATOR", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", - "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", - "Z", "UL_" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "FOR_GENERATOR" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - - public Alphabet(CharStream input) { - super(input); - _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - @Override - public String getGrammarFileName() { return "Alphabet.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public String[] getChannelNames() { return channelNames; } - - @Override - public String[] getModeNames() { return modeNames; } - - @Override - public ATN getATN() { return _ATN; } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2\3\u009c\b\1\4\2\t"+ - "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ - "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ - "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ - "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3"+ - "\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2"+ - "\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3"+ - "\2\3\3\3\3\3\4\3\4\3\5\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\t\3\t\3\n\3\n\3\13"+ - "\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3\17\3\17\3\20\3\20\3\21\3\21\3\22\3\22"+ - "\3\23\3\23\3\24\3\24\3\25\3\25\3\26\3\26\3\27\3\27\3\30\3\30\3\31\3\31"+ - "\3\32\3\32\3\33\3\33\3\34\3\34\3\35\3\35\2\2\36\3\3\5\2\7\2\t\2\13\2\r"+ - "\2\17\2\21\2\23\2\25\2\27\2\31\2\33\2\35\2\37\2!\2#\2%\2\'\2)\2+\2-\2"+ - "/\2\61\2\63\2\65\2\67\29\2\3\2\34\4\2CCcc\4\2DDdd\4\2EEee\4\2FFff\4\2"+ - "GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4\2LLll\4\2MMmm\4\2NNnn\4\2OOoo\4"+ - "\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4\2TTtt\4\2UUuu\4\2VVvv\4\2WWww\4\2XXx"+ - "x\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\||\2\u0080\2\3\3\2\2\2\3;\3\2\2\2\5f"+ - "\3\2\2\2\7h\3\2\2\2\tj\3\2\2\2\13l\3\2\2\2\rn\3\2\2\2\17p\3\2\2\2\21r"+ - "\3\2\2\2\23t\3\2\2\2\25v\3\2\2\2\27x\3\2\2\2\31z\3\2\2\2\33|\3\2\2\2\35"+ - "~\3\2\2\2\37\u0080\3\2\2\2!\u0082\3\2\2\2#\u0084\3\2\2\2%\u0086\3\2\2"+ - "\2\'\u0088\3\2\2\2)\u008a\3\2\2\2+\u008c\3\2\2\2-\u008e\3\2\2\2/\u0090"+ - "\3\2\2\2\61\u0092\3\2\2\2\63\u0094\3\2\2\2\65\u0096\3\2\2\2\67\u0098\3"+ - "\2\2\29\u009a\3\2\2\2;<\7F\2\2<=\7Q\2\2=>\7\"\2\2>?\7P\2\2?@\7Q\2\2@A"+ - "\7V\2\2AB\7\"\2\2BC\7O\2\2CD\7C\2\2DE\7V\2\2EF\7E\2\2FG\7J\2\2GH\7\"\2"+ - "\2HI\7C\2\2IJ\7P\2\2JK\7[\2\2KL\7\"\2\2LM\7V\2\2MN\7J\2\2NO\7K\2\2OP\7"+ - "P\2\2PQ\7I\2\2QR\7.\2\2RS\7\"\2\2ST\7L\2\2TU\7W\2\2UV\7U\2\2VW\7V\2\2"+ - "WX\7\"\2\2XY\7H\2\2YZ\7Q\2\2Z[\7T\2\2[\\\7\"\2\2\\]\7I\2\2]^\7G\2\2^_"+ - "\7P\2\2_`\7G\2\2`a\7T\2\2ab\7C\2\2bc\7V\2\2cd\7Q\2\2de\7T\2\2e\4\3\2\2"+ - "\2fg\t\2\2\2g\6\3\2\2\2hi\t\3\2\2i\b\3\2\2\2jk\t\4\2\2k\n\3\2\2\2lm\t"+ - "\5\2\2m\f\3\2\2\2no\t\6\2\2o\16\3\2\2\2pq\t\7\2\2q\20\3\2\2\2rs\t\b\2"+ - "\2s\22\3\2\2\2tu\t\t\2\2u\24\3\2\2\2vw\t\n\2\2w\26\3\2\2\2xy\t\13\2\2"+ - "y\30\3\2\2\2z{\t\f\2\2{\32\3\2\2\2|}\t\r\2\2}\34\3\2\2\2~\177\t\16\2\2"+ - "\177\36\3\2\2\2\u0080\u0081\t\17\2\2\u0081 \3\2\2\2\u0082\u0083\t\20\2"+ - "\2\u0083\"\3\2\2\2\u0084\u0085\t\21\2\2\u0085$\3\2\2\2\u0086\u0087\t\22"+ - "\2\2\u0087&\3\2\2\2\u0088\u0089\t\23\2\2\u0089(\3\2\2\2\u008a\u008b\t"+ - "\24\2\2\u008b*\3\2\2\2\u008c\u008d\t\25\2\2\u008d,\3\2\2\2\u008e\u008f"+ - "\t\26\2\2\u008f.\3\2\2\2\u0090\u0091\t\27\2\2\u0091\60\3\2\2\2\u0092\u0093"+ - "\t\30\2\2\u0093\62\3\2\2\2\u0094\u0095\t\31\2\2\u0095\64\3\2\2\2\u0096"+ - "\u0097\t\32\2\2\u0097\66\3\2\2\2\u0098\u0099\t\33\2\2\u00998\3\2\2\2\u009a"+ - "\u009b\7a\2\2\u009b:\3\2\2\2\3\2\2"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Alphabet.tokens b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Alphabet.tokens deleted file mode 100644 index a5be65d8..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Alphabet.tokens +++ /dev/null @@ -1,2 +0,0 @@ -FOR_GENERATOR=1 -'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=1 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRule.interp b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRule.interp deleted file mode 100644 index 3279e60d..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRule.interp +++ /dev/null @@ -1,189 +0,0 @@ -token literal names: -null -'&&' -'||' -'!' -'~' -'|' -'&' -'<<' -'>>' -'^' -'%' -':' -'+' -'-' -'*' -'/' -'\\' -'.' -'.*' -'<=>' -'==' -'=' -null -'>' -'>=' -'<' -'<=' -'#' -'(' -')' -'{' -'}' -'[' -']' -',' -'"' -'\'' -'`' -'?' -'@' -';' -'->>' -'_' -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -'DO NOT MATCH ANY THING, JUST FOR GENERATOR' -null -null -null -null -null -null -null - -token symbolic names: -null -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ -WS -TRUE -FALSE -CREATE -ALTER -DROP -SHOW -RULE -FROM -MASK -TYPE -NAME -PROPERTIES -COLUMN -RULES -TABLE -COLUMNS -IF -EXISTS -COUNT -NOT -MD5 -KEEP_FIRST_N_LAST_M -KEEP_FROM_X_TO_Y -MASK_FIRST_N_LAST_M -MASK_FROM_X_TO_Y -MASK_BEFORE_SPECIAL_CHARS -MASK_AFTER_SPECIAL_CHARS -PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE -MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE -LANDLINE_NUMBER_RANDOM_REPLACE -TELEPHONE_RANDOM_REPLACE -UNIFIED_CREDIT_CODE_RANDOM_REPLACE -GENERIC_TABLE_RANDOM_REPLACE -ADDRESS_RANDOM_REPLACE -FOR_GENERATOR -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ - -rule names: -literal -algorithmDefinition -algorithmTypeName -buildInMaskAlgorithmType -propertiesDefinition -properties -property -ruleName - - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 87, 66, 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, 3, 2, 3, 2, 5, 2, 21, 10, 2, 3, 2, 3, 2, 3, 2, 5, 2, 26, 10, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 35, 10, 3, 3, 3, 3, 3, 3, 4, 3, 4, 5, 4, 41, 10, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 5, 6, 48, 10, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 7, 7, 55, 10, 7, 12, 7, 14, 7, 58, 11, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 2, 2, 10, 2, 4, 6, 8, 10, 12, 14, 16, 2, 3, 3, 2, 66, 78, 2, 65, 2, 25, 3, 2, 2, 2, 4, 27, 3, 2, 2, 2, 6, 40, 3, 2, 2, 2, 8, 42, 3, 2, 2, 2, 10, 44, 3, 2, 2, 2, 12, 51, 3, 2, 2, 2, 14, 59, 3, 2, 2, 2, 16, 63, 3, 2, 2, 2, 18, 26, 7, 82, 2, 2, 19, 21, 7, 15, 2, 2, 20, 19, 3, 2, 2, 2, 20, 21, 3, 2, 2, 2, 21, 22, 3, 2, 2, 2, 22, 26, 7, 83, 2, 2, 23, 26, 7, 46, 2, 2, 24, 26, 7, 47, 2, 2, 25, 18, 3, 2, 2, 2, 25, 20, 3, 2, 2, 2, 25, 23, 3, 2, 2, 2, 25, 24, 3, 2, 2, 2, 26, 3, 3, 2, 2, 2, 27, 28, 7, 55, 2, 2, 28, 29, 7, 30, 2, 2, 29, 30, 7, 56, 2, 2, 30, 31, 7, 23, 2, 2, 31, 34, 5, 6, 4, 2, 32, 33, 7, 36, 2, 2, 33, 35, 5, 10, 6, 2, 34, 32, 3, 2, 2, 2, 34, 35, 3, 2, 2, 2, 35, 36, 3, 2, 2, 2, 36, 37, 7, 31, 2, 2, 37, 5, 3, 2, 2, 2, 38, 41, 7, 82, 2, 2, 39, 41, 5, 8, 5, 2, 40, 38, 3, 2, 2, 2, 40, 39, 3, 2, 2, 2, 41, 7, 3, 2, 2, 2, 42, 43, 9, 2, 2, 2, 43, 9, 3, 2, 2, 2, 44, 45, 7, 57, 2, 2, 45, 47, 7, 30, 2, 2, 46, 48, 5, 12, 7, 2, 47, 46, 3, 2, 2, 2, 47, 48, 3, 2, 2, 2, 48, 49, 3, 2, 2, 2, 49, 50, 7, 31, 2, 2, 50, 11, 3, 2, 2, 2, 51, 56, 5, 14, 8, 2, 52, 53, 7, 36, 2, 2, 53, 55, 5, 14, 8, 2, 54, 52, 3, 2, 2, 2, 55, 58, 3, 2, 2, 2, 56, 54, 3, 2, 2, 2, 56, 57, 3, 2, 2, 2, 57, 13, 3, 2, 2, 2, 58, 56, 3, 2, 2, 2, 59, 60, 7, 82, 2, 2, 60, 61, 7, 23, 2, 2, 61, 62, 5, 2, 2, 2, 62, 15, 3, 2, 2, 2, 63, 64, 7, 81, 2, 2, 64, 17, 3, 2, 2, 2, 8, 20, 25, 34, 40, 47, 56] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRule.tokens b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRule.tokens deleted file mode 100644 index 8f82b7ee..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRule.tokens +++ /dev/null @@ -1,127 +0,0 @@ -AND_=1 -OR_=2 -NOT_=3 -TILDE_=4 -VERTICALBAR_=5 -AMPERSAND_=6 -SIGNEDLEFTSHIFT_=7 -SIGNEDRIGHTSHIFT_=8 -CARET_=9 -MOD_=10 -COLON_=11 -PLUS_=12 -MINUS_=13 -ASTERISK_=14 -SLASH_=15 -BACKSLASH_=16 -DOT_=17 -DOTASTERISK_=18 -SAFEEQ_=19 -DEQ_=20 -EQ_=21 -NEQ_=22 -GT_=23 -GTE_=24 -LT_=25 -LTE_=26 -POUND_=27 -LP_=28 -RP_=29 -LBE_=30 -RBE_=31 -LBT_=32 -RBT_=33 -COMMA_=34 -DQ_=35 -SQ_=36 -BQ_=37 -QUESTION_=38 -AT_=39 -SEMI_=40 -JSONSEPARATOR_=41 -UL_=42 -WS=43 -TRUE=44 -FALSE=45 -CREATE=46 -ALTER=47 -DROP=48 -SHOW=49 -RULE=50 -FROM=51 -MASK=52 -TYPE=53 -NAME=54 -PROPERTIES=55 -COLUMN=56 -RULES=57 -TABLE=58 -COLUMNS=59 -IF=60 -EXISTS=61 -COUNT=62 -NOT=63 -MD5=64 -KEEP_FIRST_N_LAST_M=65 -KEEP_FROM_X_TO_Y=66 -MASK_FIRST_N_LAST_M=67 -MASK_FROM_X_TO_Y=68 -MASK_BEFORE_SPECIAL_CHARS=69 -MASK_AFTER_SPECIAL_CHARS=70 -PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE=71 -MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE=72 -LANDLINE_NUMBER_RANDOM_REPLACE=73 -TELEPHONE_RANDOM_REPLACE=74 -UNIFIED_CREDIT_CODE_RANDOM_REPLACE=75 -GENERIC_TABLE_RANDOM_REPLACE=76 -ADDRESS_RANDOM_REPLACE=77 -FOR_GENERATOR=78 -IDENTIFIER_=79 -STRING_=80 -INT_=81 -HEX_=82 -NUMBER_=83 -HEXDIGIT_=84 -BITNUM_=85 -'&&'=1 -'||'=2 -'!'=3 -'~'=4 -'|'=5 -'&'=6 -'<<'=7 -'>>'=8 -'^'=9 -'%'=10 -':'=11 -'+'=12 -'-'=13 -'*'=14 -'/'=15 -'\\'=16 -'.'=17 -'.*'=18 -'<=>'=19 -'=='=20 -'='=21 -'>'=23 -'>='=24 -'<'=25 -'<='=26 -'#'=27 -'('=28 -')'=29 -'{'=30 -'}'=31 -'['=32 -']'=33 -','=34 -'"'=35 -'\''=36 -'`'=37 -'?'=38 -'@'=39 -';'=40 -'->>'=41 -'_'=42 -'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=78 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleLexer.interp b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleLexer.interp deleted file mode 100644 index 925a75d6..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleLexer.interp +++ /dev/null @@ -1,298 +0,0 @@ -token literal names: -null -'&&' -'||' -'!' -'~' -'|' -'&' -'<<' -'>>' -'^' -'%' -':' -'+' -'-' -'*' -'/' -'\\' -'.' -'.*' -'<=>' -'==' -'=' -null -'>' -'>=' -'<' -'<=' -'#' -'(' -')' -'{' -'}' -'[' -']' -',' -'"' -'\'' -'`' -'?' -'@' -';' -'->>' -'_' -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -'DO NOT MATCH ANY THING, JUST FOR GENERATOR' -null -null -null -null -null -null -null - -token symbolic names: -null -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ -WS -TRUE -FALSE -CREATE -ALTER -DROP -SHOW -RULE -FROM -MASK -TYPE -NAME -PROPERTIES -COLUMN -RULES -TABLE -COLUMNS -IF -EXISTS -COUNT -NOT -MD5 -KEEP_FIRST_N_LAST_M -KEEP_FROM_X_TO_Y -MASK_FIRST_N_LAST_M -MASK_FROM_X_TO_Y -MASK_BEFORE_SPECIAL_CHARS -MASK_AFTER_SPECIAL_CHARS -PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE -MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE -LANDLINE_NUMBER_RANDOM_REPLACE -TELEPHONE_RANDOM_REPLACE -UNIFIED_CREDIT_CODE_RANDOM_REPLACE -GENERIC_TABLE_RANDOM_REPLACE -ADDRESS_RANDOM_REPLACE -FOR_GENERATOR -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ - -rule names: -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ -WS -TRUE -FALSE -CREATE -ALTER -DROP -SHOW -RULE -FROM -MASK -TYPE -NAME -PROPERTIES -COLUMN -RULES -TABLE -COLUMNS -IF -EXISTS -COUNT -NOT -MD5 -KEEP_FIRST_N_LAST_M -KEEP_FROM_X_TO_Y -MASK_FIRST_N_LAST_M -MASK_FROM_X_TO_Y -MASK_BEFORE_SPECIAL_CHARS -MASK_AFTER_SPECIAL_CHARS -PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE -MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE -LANDLINE_NUMBER_RANDOM_REPLACE -TELEPHONE_RANDOM_REPLACE -UNIFIED_CREDIT_CODE_RANDOM_REPLACE -GENERIC_TABLE_RANDOM_REPLACE -ADDRESS_RANDOM_REPLACE -FOR_GENERATOR -A -B -C -D -E -F -G -H -I -J -K -L -M -N -O -P -Q -R -S -T -U -V -W -X -Y -Z -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ - -channel names: -DEFAULT_TOKEN_CHANNEL -HIDDEN - -mode names: -DEFAULT_MODE - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 87, 1012, 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, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 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, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 280, 10, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 44, 6, 44, 327, 10, 44, 13, 44, 14, 44, 328, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 64, 3, 65, 3, 65, 3, 65, 3, 65, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 80, 3, 80, 3, 81, 3, 81, 3, 82, 3, 82, 3, 83, 3, 83, 3, 84, 3, 84, 3, 85, 3, 85, 3, 86, 3, 86, 3, 87, 3, 87, 3, 88, 3, 88, 3, 89, 3, 89, 3, 90, 3, 90, 3, 91, 3, 91, 3, 92, 3, 92, 3, 93, 3, 93, 3, 94, 3, 94, 3, 95, 3, 95, 3, 96, 3, 96, 3, 97, 3, 97, 3, 98, 3, 98, 3, 99, 3, 99, 3, 100, 3, 100, 3, 101, 3, 101, 3, 102, 3, 102, 3, 103, 3, 103, 3, 104, 3, 104, 3, 105, 3, 105, 3, 106, 7, 106, 898, 10, 106, 12, 106, 14, 106, 901, 11, 106, 3, 106, 6, 106, 904, 10, 106, 13, 106, 14, 106, 905, 3, 106, 7, 106, 909, 10, 106, 12, 106, 14, 106, 912, 11, 106, 3, 106, 3, 106, 6, 106, 916, 10, 106, 13, 106, 14, 106, 917, 3, 106, 3, 106, 5, 106, 922, 10, 106, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 7, 107, 930, 10, 107, 12, 107, 14, 107, 933, 11, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 7, 107, 943, 10, 107, 12, 107, 14, 107, 946, 11, 107, 3, 107, 3, 107, 5, 107, 950, 10, 107, 3, 108, 6, 108, 953, 10, 108, 13, 108, 14, 108, 954, 3, 109, 3, 109, 3, 110, 5, 110, 960, 10, 110, 3, 110, 5, 110, 963, 10, 110, 3, 110, 3, 110, 3, 110, 3, 110, 5, 110, 969, 10, 110, 3, 110, 3, 110, 5, 110, 973, 10, 110, 3, 111, 3, 111, 3, 111, 3, 111, 6, 111, 979, 10, 111, 13, 111, 14, 111, 980, 3, 111, 3, 111, 3, 111, 6, 111, 986, 10, 111, 13, 111, 14, 111, 987, 3, 111, 3, 111, 5, 111, 992, 10, 111, 3, 112, 3, 112, 3, 112, 3, 112, 6, 112, 998, 10, 112, 13, 112, 14, 112, 999, 3, 112, 3, 112, 3, 112, 6, 112, 1005, 10, 112, 13, 112, 14, 112, 1006, 3, 112, 3, 112, 5, 112, 1011, 10, 112, 4, 899, 905, 2, 113, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, 91, 47, 93, 48, 95, 49, 97, 50, 99, 51, 101, 52, 103, 53, 105, 54, 107, 55, 109, 56, 111, 57, 113, 58, 115, 59, 117, 60, 119, 61, 121, 62, 123, 63, 125, 64, 127, 65, 129, 66, 131, 67, 133, 68, 135, 69, 137, 70, 139, 71, 141, 72, 143, 73, 145, 74, 147, 75, 149, 76, 151, 77, 153, 78, 155, 79, 157, 80, 159, 2, 161, 2, 163, 2, 165, 2, 167, 2, 169, 2, 171, 2, 173, 2, 175, 2, 177, 2, 179, 2, 181, 2, 183, 2, 185, 2, 187, 2, 189, 2, 191, 2, 193, 2, 195, 2, 197, 2, 199, 2, 201, 2, 203, 2, 205, 2, 207, 2, 209, 2, 211, 81, 213, 82, 215, 83, 217, 84, 219, 85, 221, 86, 223, 87, 3, 2, 37, 5, 2, 11, 12, 15, 15, 34, 34, 3, 2, 55, 55, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 7, 2, 38, 38, 50, 59, 67, 92, 97, 97, 99, 124, 6, 2, 38, 38, 67, 92, 97, 97, 99, 124, 3, 2, 98, 98, 4, 2, 36, 36, 94, 94, 4, 2, 41, 41, 94, 94, 3, 2, 50, 59, 5, 2, 50, 59, 67, 72, 99, 104, 2, 1011, 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, 211, 3, 2, 2, 2, 2, 213, 3, 2, 2, 2, 2, 215, 3, 2, 2, 2, 2, 217, 3, 2, 2, 2, 2, 219, 3, 2, 2, 2, 2, 221, 3, 2, 2, 2, 2, 223, 3, 2, 2, 2, 3, 225, 3, 2, 2, 2, 5, 228, 3, 2, 2, 2, 7, 231, 3, 2, 2, 2, 9, 233, 3, 2, 2, 2, 11, 235, 3, 2, 2, 2, 13, 237, 3, 2, 2, 2, 15, 239, 3, 2, 2, 2, 17, 242, 3, 2, 2, 2, 19, 245, 3, 2, 2, 2, 21, 247, 3, 2, 2, 2, 23, 249, 3, 2, 2, 2, 25, 251, 3, 2, 2, 2, 27, 253, 3, 2, 2, 2, 29, 255, 3, 2, 2, 2, 31, 257, 3, 2, 2, 2, 33, 259, 3, 2, 2, 2, 35, 261, 3, 2, 2, 2, 37, 263, 3, 2, 2, 2, 39, 266, 3, 2, 2, 2, 41, 270, 3, 2, 2, 2, 43, 273, 3, 2, 2, 2, 45, 279, 3, 2, 2, 2, 47, 281, 3, 2, 2, 2, 49, 283, 3, 2, 2, 2, 51, 286, 3, 2, 2, 2, 53, 288, 3, 2, 2, 2, 55, 291, 3, 2, 2, 2, 57, 293, 3, 2, 2, 2, 59, 295, 3, 2, 2, 2, 61, 297, 3, 2, 2, 2, 63, 299, 3, 2, 2, 2, 65, 301, 3, 2, 2, 2, 67, 303, 3, 2, 2, 2, 69, 305, 3, 2, 2, 2, 71, 307, 3, 2, 2, 2, 73, 309, 3, 2, 2, 2, 75, 311, 3, 2, 2, 2, 77, 313, 3, 2, 2, 2, 79, 315, 3, 2, 2, 2, 81, 317, 3, 2, 2, 2, 83, 319, 3, 2, 2, 2, 85, 323, 3, 2, 2, 2, 87, 326, 3, 2, 2, 2, 89, 332, 3, 2, 2, 2, 91, 337, 3, 2, 2, 2, 93, 343, 3, 2, 2, 2, 95, 350, 3, 2, 2, 2, 97, 356, 3, 2, 2, 2, 99, 361, 3, 2, 2, 2, 101, 366, 3, 2, 2, 2, 103, 371, 3, 2, 2, 2, 105, 376, 3, 2, 2, 2, 107, 381, 3, 2, 2, 2, 109, 386, 3, 2, 2, 2, 111, 391, 3, 2, 2, 2, 113, 402, 3, 2, 2, 2, 115, 409, 3, 2, 2, 2, 117, 415, 3, 2, 2, 2, 119, 421, 3, 2, 2, 2, 121, 429, 3, 2, 2, 2, 123, 432, 3, 2, 2, 2, 125, 439, 3, 2, 2, 2, 127, 445, 3, 2, 2, 2, 129, 449, 3, 2, 2, 2, 131, 453, 3, 2, 2, 2, 133, 473, 3, 2, 2, 2, 135, 490, 3, 2, 2, 2, 137, 510, 3, 2, 2, 2, 139, 527, 3, 2, 2, 2, 141, 553, 3, 2, 2, 2, 143, 578, 3, 2, 2, 2, 145, 618, 3, 2, 2, 2, 147, 658, 3, 2, 2, 2, 149, 689, 3, 2, 2, 2, 151, 714, 3, 2, 2, 2, 153, 749, 3, 2, 2, 2, 155, 778, 3, 2, 2, 2, 157, 801, 3, 2, 2, 2, 159, 844, 3, 2, 2, 2, 161, 846, 3, 2, 2, 2, 163, 848, 3, 2, 2, 2, 165, 850, 3, 2, 2, 2, 167, 852, 3, 2, 2, 2, 169, 854, 3, 2, 2, 2, 171, 856, 3, 2, 2, 2, 173, 858, 3, 2, 2, 2, 175, 860, 3, 2, 2, 2, 177, 862, 3, 2, 2, 2, 179, 864, 3, 2, 2, 2, 181, 866, 3, 2, 2, 2, 183, 868, 3, 2, 2, 2, 185, 870, 3, 2, 2, 2, 187, 872, 3, 2, 2, 2, 189, 874, 3, 2, 2, 2, 191, 876, 3, 2, 2, 2, 193, 878, 3, 2, 2, 2, 195, 880, 3, 2, 2, 2, 197, 882, 3, 2, 2, 2, 199, 884, 3, 2, 2, 2, 201, 886, 3, 2, 2, 2, 203, 888, 3, 2, 2, 2, 205, 890, 3, 2, 2, 2, 207, 892, 3, 2, 2, 2, 209, 894, 3, 2, 2, 2, 211, 921, 3, 2, 2, 2, 213, 949, 3, 2, 2, 2, 215, 952, 3, 2, 2, 2, 217, 956, 3, 2, 2, 2, 219, 959, 3, 2, 2, 2, 221, 991, 3, 2, 2, 2, 223, 1010, 3, 2, 2, 2, 225, 226, 7, 40, 2, 2, 226, 227, 7, 40, 2, 2, 227, 4, 3, 2, 2, 2, 228, 229, 7, 126, 2, 2, 229, 230, 7, 126, 2, 2, 230, 6, 3, 2, 2, 2, 231, 232, 7, 35, 2, 2, 232, 8, 3, 2, 2, 2, 233, 234, 7, 128, 2, 2, 234, 10, 3, 2, 2, 2, 235, 236, 7, 126, 2, 2, 236, 12, 3, 2, 2, 2, 237, 238, 7, 40, 2, 2, 238, 14, 3, 2, 2, 2, 239, 240, 7, 62, 2, 2, 240, 241, 7, 62, 2, 2, 241, 16, 3, 2, 2, 2, 242, 243, 7, 64, 2, 2, 243, 244, 7, 64, 2, 2, 244, 18, 3, 2, 2, 2, 245, 246, 7, 96, 2, 2, 246, 20, 3, 2, 2, 2, 247, 248, 7, 39, 2, 2, 248, 22, 3, 2, 2, 2, 249, 250, 7, 60, 2, 2, 250, 24, 3, 2, 2, 2, 251, 252, 7, 45, 2, 2, 252, 26, 3, 2, 2, 2, 253, 254, 7, 47, 2, 2, 254, 28, 3, 2, 2, 2, 255, 256, 7, 44, 2, 2, 256, 30, 3, 2, 2, 2, 257, 258, 7, 49, 2, 2, 258, 32, 3, 2, 2, 2, 259, 260, 7, 94, 2, 2, 260, 34, 3, 2, 2, 2, 261, 262, 7, 48, 2, 2, 262, 36, 3, 2, 2, 2, 263, 264, 7, 48, 2, 2, 264, 265, 7, 44, 2, 2, 265, 38, 3, 2, 2, 2, 266, 267, 7, 62, 2, 2, 267, 268, 7, 63, 2, 2, 268, 269, 7, 64, 2, 2, 269, 40, 3, 2, 2, 2, 270, 271, 7, 63, 2, 2, 271, 272, 7, 63, 2, 2, 272, 42, 3, 2, 2, 2, 273, 274, 7, 63, 2, 2, 274, 44, 3, 2, 2, 2, 275, 276, 7, 62, 2, 2, 276, 280, 7, 64, 2, 2, 277, 278, 7, 35, 2, 2, 278, 280, 7, 63, 2, 2, 279, 275, 3, 2, 2, 2, 279, 277, 3, 2, 2, 2, 280, 46, 3, 2, 2, 2, 281, 282, 7, 64, 2, 2, 282, 48, 3, 2, 2, 2, 283, 284, 7, 64, 2, 2, 284, 285, 7, 63, 2, 2, 285, 50, 3, 2, 2, 2, 286, 287, 7, 62, 2, 2, 287, 52, 3, 2, 2, 2, 288, 289, 7, 62, 2, 2, 289, 290, 7, 63, 2, 2, 290, 54, 3, 2, 2, 2, 291, 292, 7, 37, 2, 2, 292, 56, 3, 2, 2, 2, 293, 294, 7, 42, 2, 2, 294, 58, 3, 2, 2, 2, 295, 296, 7, 43, 2, 2, 296, 60, 3, 2, 2, 2, 297, 298, 7, 125, 2, 2, 298, 62, 3, 2, 2, 2, 299, 300, 7, 127, 2, 2, 300, 64, 3, 2, 2, 2, 301, 302, 7, 93, 2, 2, 302, 66, 3, 2, 2, 2, 303, 304, 7, 95, 2, 2, 304, 68, 3, 2, 2, 2, 305, 306, 7, 46, 2, 2, 306, 70, 3, 2, 2, 2, 307, 308, 7, 36, 2, 2, 308, 72, 3, 2, 2, 2, 309, 310, 7, 41, 2, 2, 310, 74, 3, 2, 2, 2, 311, 312, 7, 98, 2, 2, 312, 76, 3, 2, 2, 2, 313, 314, 7, 65, 2, 2, 314, 78, 3, 2, 2, 2, 315, 316, 7, 66, 2, 2, 316, 80, 3, 2, 2, 2, 317, 318, 7, 61, 2, 2, 318, 82, 3, 2, 2, 2, 319, 320, 7, 47, 2, 2, 320, 321, 7, 64, 2, 2, 321, 322, 7, 64, 2, 2, 322, 84, 3, 2, 2, 2, 323, 324, 7, 97, 2, 2, 324, 86, 3, 2, 2, 2, 325, 327, 9, 2, 2, 2, 326, 325, 3, 2, 2, 2, 327, 328, 3, 2, 2, 2, 328, 326, 3, 2, 2, 2, 328, 329, 3, 2, 2, 2, 329, 330, 3, 2, 2, 2, 330, 331, 8, 44, 2, 2, 331, 88, 3, 2, 2, 2, 332, 333, 5, 197, 99, 2, 333, 334, 5, 193, 97, 2, 334, 335, 5, 199, 100, 2, 335, 336, 5, 167, 84, 2, 336, 90, 3, 2, 2, 2, 337, 338, 5, 169, 85, 2, 338, 339, 5, 159, 80, 2, 339, 340, 5, 181, 91, 2, 340, 341, 5, 195, 98, 2, 341, 342, 5, 167, 84, 2, 342, 92, 3, 2, 2, 2, 343, 344, 5, 163, 82, 2, 344, 345, 5, 193, 97, 2, 345, 346, 5, 167, 84, 2, 346, 347, 5, 159, 80, 2, 347, 348, 5, 197, 99, 2, 348, 349, 5, 167, 84, 2, 349, 94, 3, 2, 2, 2, 350, 351, 5, 159, 80, 2, 351, 352, 5, 181, 91, 2, 352, 353, 5, 197, 99, 2, 353, 354, 5, 167, 84, 2, 354, 355, 5, 193, 97, 2, 355, 96, 3, 2, 2, 2, 356, 357, 5, 165, 83, 2, 357, 358, 5, 193, 97, 2, 358, 359, 5, 187, 94, 2, 359, 360, 5, 189, 95, 2, 360, 98, 3, 2, 2, 2, 361, 362, 5, 195, 98, 2, 362, 363, 5, 173, 87, 2, 363, 364, 5, 187, 94, 2, 364, 365, 5, 203, 102, 2, 365, 100, 3, 2, 2, 2, 366, 367, 5, 193, 97, 2, 367, 368, 5, 199, 100, 2, 368, 369, 5, 181, 91, 2, 369, 370, 5, 167, 84, 2, 370, 102, 3, 2, 2, 2, 371, 372, 5, 169, 85, 2, 372, 373, 5, 193, 97, 2, 373, 374, 5, 187, 94, 2, 374, 375, 5, 183, 92, 2, 375, 104, 3, 2, 2, 2, 376, 377, 5, 183, 92, 2, 377, 378, 5, 159, 80, 2, 378, 379, 5, 195, 98, 2, 379, 380, 5, 179, 90, 2, 380, 106, 3, 2, 2, 2, 381, 382, 5, 197, 99, 2, 382, 383, 5, 207, 104, 2, 383, 384, 5, 189, 95, 2, 384, 385, 5, 167, 84, 2, 385, 108, 3, 2, 2, 2, 386, 387, 5, 185, 93, 2, 387, 388, 5, 159, 80, 2, 388, 389, 5, 183, 92, 2, 389, 390, 5, 167, 84, 2, 390, 110, 3, 2, 2, 2, 391, 392, 5, 189, 95, 2, 392, 393, 5, 193, 97, 2, 393, 394, 5, 187, 94, 2, 394, 395, 5, 189, 95, 2, 395, 396, 5, 167, 84, 2, 396, 397, 5, 193, 97, 2, 397, 398, 5, 197, 99, 2, 398, 399, 5, 175, 88, 2, 399, 400, 5, 167, 84, 2, 400, 401, 5, 195, 98, 2, 401, 112, 3, 2, 2, 2, 402, 403, 5, 163, 82, 2, 403, 404, 5, 187, 94, 2, 404, 405, 5, 181, 91, 2, 405, 406, 5, 199, 100, 2, 406, 407, 5, 183, 92, 2, 407, 408, 5, 185, 93, 2, 408, 114, 3, 2, 2, 2, 409, 410, 5, 193, 97, 2, 410, 411, 5, 199, 100, 2, 411, 412, 5, 181, 91, 2, 412, 413, 5, 167, 84, 2, 413, 414, 5, 195, 98, 2, 414, 116, 3, 2, 2, 2, 415, 416, 5, 197, 99, 2, 416, 417, 5, 159, 80, 2, 417, 418, 5, 161, 81, 2, 418, 419, 5, 181, 91, 2, 419, 420, 5, 167, 84, 2, 420, 118, 3, 2, 2, 2, 421, 422, 5, 163, 82, 2, 422, 423, 5, 187, 94, 2, 423, 424, 5, 181, 91, 2, 424, 425, 5, 199, 100, 2, 425, 426, 5, 183, 92, 2, 426, 427, 5, 185, 93, 2, 427, 428, 5, 195, 98, 2, 428, 120, 3, 2, 2, 2, 429, 430, 5, 175, 88, 2, 430, 431, 5, 169, 85, 2, 431, 122, 3, 2, 2, 2, 432, 433, 5, 167, 84, 2, 433, 434, 5, 205, 103, 2, 434, 435, 5, 175, 88, 2, 435, 436, 5, 195, 98, 2, 436, 437, 5, 197, 99, 2, 437, 438, 5, 195, 98, 2, 438, 124, 3, 2, 2, 2, 439, 440, 5, 163, 82, 2, 440, 441, 5, 187, 94, 2, 441, 442, 5, 199, 100, 2, 442, 443, 5, 185, 93, 2, 443, 444, 5, 197, 99, 2, 444, 126, 3, 2, 2, 2, 445, 446, 5, 185, 93, 2, 446, 447, 5, 187, 94, 2, 447, 448, 5, 197, 99, 2, 448, 128, 3, 2, 2, 2, 449, 450, 5, 183, 92, 2, 450, 451, 5, 165, 83, 2, 451, 452, 9, 3, 2, 2, 452, 130, 3, 2, 2, 2, 453, 454, 5, 179, 90, 2, 454, 455, 5, 167, 84, 2, 455, 456, 5, 167, 84, 2, 456, 457, 5, 189, 95, 2, 457, 458, 5, 85, 43, 2, 458, 459, 5, 169, 85, 2, 459, 460, 5, 175, 88, 2, 460, 461, 5, 193, 97, 2, 461, 462, 5, 195, 98, 2, 462, 463, 5, 197, 99, 2, 463, 464, 5, 85, 43, 2, 464, 465, 5, 185, 93, 2, 465, 466, 5, 85, 43, 2, 466, 467, 5, 181, 91, 2, 467, 468, 5, 159, 80, 2, 468, 469, 5, 195, 98, 2, 469, 470, 5, 197, 99, 2, 470, 471, 5, 85, 43, 2, 471, 472, 5, 183, 92, 2, 472, 132, 3, 2, 2, 2, 473, 474, 5, 179, 90, 2, 474, 475, 5, 167, 84, 2, 475, 476, 5, 167, 84, 2, 476, 477, 5, 189, 95, 2, 477, 478, 5, 85, 43, 2, 478, 479, 5, 169, 85, 2, 479, 480, 5, 193, 97, 2, 480, 481, 5, 187, 94, 2, 481, 482, 5, 183, 92, 2, 482, 483, 5, 85, 43, 2, 483, 484, 5, 205, 103, 2, 484, 485, 5, 85, 43, 2, 485, 486, 5, 197, 99, 2, 486, 487, 5, 187, 94, 2, 487, 488, 5, 85, 43, 2, 488, 489, 5, 207, 104, 2, 489, 134, 3, 2, 2, 2, 490, 491, 5, 183, 92, 2, 491, 492, 5, 159, 80, 2, 492, 493, 5, 195, 98, 2, 493, 494, 5, 179, 90, 2, 494, 495, 5, 85, 43, 2, 495, 496, 5, 169, 85, 2, 496, 497, 5, 175, 88, 2, 497, 498, 5, 193, 97, 2, 498, 499, 5, 195, 98, 2, 499, 500, 5, 197, 99, 2, 500, 501, 5, 85, 43, 2, 501, 502, 5, 185, 93, 2, 502, 503, 5, 85, 43, 2, 503, 504, 5, 181, 91, 2, 504, 505, 5, 159, 80, 2, 505, 506, 5, 195, 98, 2, 506, 507, 5, 197, 99, 2, 507, 508, 5, 85, 43, 2, 508, 509, 5, 183, 92, 2, 509, 136, 3, 2, 2, 2, 510, 511, 5, 183, 92, 2, 511, 512, 5, 159, 80, 2, 512, 513, 5, 195, 98, 2, 513, 514, 5, 179, 90, 2, 514, 515, 5, 85, 43, 2, 515, 516, 5, 169, 85, 2, 516, 517, 5, 193, 97, 2, 517, 518, 5, 187, 94, 2, 518, 519, 5, 183, 92, 2, 519, 520, 5, 85, 43, 2, 520, 521, 5, 205, 103, 2, 521, 522, 5, 85, 43, 2, 522, 523, 5, 197, 99, 2, 523, 524, 5, 187, 94, 2, 524, 525, 5, 85, 43, 2, 525, 526, 5, 207, 104, 2, 526, 138, 3, 2, 2, 2, 527, 528, 5, 183, 92, 2, 528, 529, 5, 159, 80, 2, 529, 530, 5, 195, 98, 2, 530, 531, 5, 179, 90, 2, 531, 532, 5, 85, 43, 2, 532, 533, 5, 161, 81, 2, 533, 534, 5, 167, 84, 2, 534, 535, 5, 169, 85, 2, 535, 536, 5, 187, 94, 2, 536, 537, 5, 193, 97, 2, 537, 538, 5, 167, 84, 2, 538, 539, 5, 85, 43, 2, 539, 540, 5, 195, 98, 2, 540, 541, 5, 189, 95, 2, 541, 542, 5, 167, 84, 2, 542, 543, 5, 163, 82, 2, 543, 544, 5, 175, 88, 2, 544, 545, 5, 159, 80, 2, 545, 546, 5, 181, 91, 2, 546, 547, 5, 85, 43, 2, 547, 548, 5, 163, 82, 2, 548, 549, 5, 173, 87, 2, 549, 550, 5, 159, 80, 2, 550, 551, 5, 193, 97, 2, 551, 552, 5, 195, 98, 2, 552, 140, 3, 2, 2, 2, 553, 554, 5, 183, 92, 2, 554, 555, 5, 159, 80, 2, 555, 556, 5, 195, 98, 2, 556, 557, 5, 179, 90, 2, 557, 558, 5, 85, 43, 2, 558, 559, 5, 159, 80, 2, 559, 560, 5, 169, 85, 2, 560, 561, 5, 197, 99, 2, 561, 562, 5, 167, 84, 2, 562, 563, 5, 193, 97, 2, 563, 564, 5, 85, 43, 2, 564, 565, 5, 195, 98, 2, 565, 566, 5, 189, 95, 2, 566, 567, 5, 167, 84, 2, 567, 568, 5, 163, 82, 2, 568, 569, 5, 175, 88, 2, 569, 570, 5, 159, 80, 2, 570, 571, 5, 181, 91, 2, 571, 572, 5, 85, 43, 2, 572, 573, 5, 163, 82, 2, 573, 574, 5, 173, 87, 2, 574, 575, 5, 159, 80, 2, 575, 576, 5, 193, 97, 2, 576, 577, 5, 195, 98, 2, 577, 142, 3, 2, 2, 2, 578, 579, 5, 189, 95, 2, 579, 580, 5, 167, 84, 2, 580, 581, 5, 193, 97, 2, 581, 582, 5, 195, 98, 2, 582, 583, 5, 187, 94, 2, 583, 584, 5, 185, 93, 2, 584, 585, 5, 159, 80, 2, 585, 586, 5, 181, 91, 2, 586, 587, 5, 85, 43, 2, 587, 588, 5, 175, 88, 2, 588, 589, 5, 165, 83, 2, 589, 590, 5, 167, 84, 2, 590, 591, 5, 185, 93, 2, 591, 592, 5, 197, 99, 2, 592, 593, 5, 175, 88, 2, 593, 594, 5, 197, 99, 2, 594, 595, 5, 207, 104, 2, 595, 596, 5, 85, 43, 2, 596, 597, 5, 185, 93, 2, 597, 598, 5, 199, 100, 2, 598, 599, 5, 183, 92, 2, 599, 600, 5, 161, 81, 2, 600, 601, 5, 167, 84, 2, 601, 602, 5, 193, 97, 2, 602, 603, 5, 85, 43, 2, 603, 604, 5, 193, 97, 2, 604, 605, 5, 159, 80, 2, 605, 606, 5, 185, 93, 2, 606, 607, 5, 165, 83, 2, 607, 608, 5, 187, 94, 2, 608, 609, 5, 183, 92, 2, 609, 610, 5, 85, 43, 2, 610, 611, 5, 193, 97, 2, 611, 612, 5, 167, 84, 2, 612, 613, 5, 189, 95, 2, 613, 614, 5, 181, 91, 2, 614, 615, 5, 159, 80, 2, 615, 616, 5, 163, 82, 2, 616, 617, 5, 167, 84, 2, 617, 144, 3, 2, 2, 2, 618, 619, 5, 183, 92, 2, 619, 620, 5, 175, 88, 2, 620, 621, 5, 181, 91, 2, 621, 622, 5, 175, 88, 2, 622, 623, 5, 197, 99, 2, 623, 624, 5, 159, 80, 2, 624, 625, 5, 193, 97, 2, 625, 626, 5, 207, 104, 2, 626, 627, 5, 85, 43, 2, 627, 628, 5, 175, 88, 2, 628, 629, 5, 165, 83, 2, 629, 630, 5, 167, 84, 2, 630, 631, 5, 185, 93, 2, 631, 632, 5, 197, 99, 2, 632, 633, 5, 175, 88, 2, 633, 634, 5, 197, 99, 2, 634, 635, 5, 207, 104, 2, 635, 636, 5, 85, 43, 2, 636, 637, 5, 185, 93, 2, 637, 638, 5, 199, 100, 2, 638, 639, 5, 183, 92, 2, 639, 640, 5, 161, 81, 2, 640, 641, 5, 167, 84, 2, 641, 642, 5, 193, 97, 2, 642, 643, 5, 85, 43, 2, 643, 644, 5, 193, 97, 2, 644, 645, 5, 159, 80, 2, 645, 646, 5, 185, 93, 2, 646, 647, 5, 165, 83, 2, 647, 648, 5, 187, 94, 2, 648, 649, 5, 183, 92, 2, 649, 650, 5, 85, 43, 2, 650, 651, 5, 193, 97, 2, 651, 652, 5, 167, 84, 2, 652, 653, 5, 189, 95, 2, 653, 654, 5, 181, 91, 2, 654, 655, 5, 159, 80, 2, 655, 656, 5, 163, 82, 2, 656, 657, 5, 167, 84, 2, 657, 146, 3, 2, 2, 2, 658, 659, 5, 181, 91, 2, 659, 660, 5, 159, 80, 2, 660, 661, 5, 185, 93, 2, 661, 662, 5, 165, 83, 2, 662, 663, 5, 181, 91, 2, 663, 664, 5, 175, 88, 2, 664, 665, 5, 185, 93, 2, 665, 666, 5, 167, 84, 2, 666, 667, 5, 85, 43, 2, 667, 668, 5, 185, 93, 2, 668, 669, 5, 199, 100, 2, 669, 670, 5, 183, 92, 2, 670, 671, 5, 161, 81, 2, 671, 672, 5, 167, 84, 2, 672, 673, 5, 193, 97, 2, 673, 674, 5, 85, 43, 2, 674, 675, 5, 193, 97, 2, 675, 676, 5, 159, 80, 2, 676, 677, 5, 185, 93, 2, 677, 678, 5, 165, 83, 2, 678, 679, 5, 187, 94, 2, 679, 680, 5, 183, 92, 2, 680, 681, 5, 85, 43, 2, 681, 682, 5, 193, 97, 2, 682, 683, 5, 167, 84, 2, 683, 684, 5, 189, 95, 2, 684, 685, 5, 181, 91, 2, 685, 686, 5, 159, 80, 2, 686, 687, 5, 163, 82, 2, 687, 688, 5, 167, 84, 2, 688, 148, 3, 2, 2, 2, 689, 690, 5, 197, 99, 2, 690, 691, 5, 167, 84, 2, 691, 692, 5, 181, 91, 2, 692, 693, 5, 167, 84, 2, 693, 694, 5, 189, 95, 2, 694, 695, 5, 173, 87, 2, 695, 696, 5, 187, 94, 2, 696, 697, 5, 185, 93, 2, 697, 698, 5, 167, 84, 2, 698, 699, 5, 85, 43, 2, 699, 700, 5, 193, 97, 2, 700, 701, 5, 159, 80, 2, 701, 702, 5, 185, 93, 2, 702, 703, 5, 165, 83, 2, 703, 704, 5, 187, 94, 2, 704, 705, 5, 183, 92, 2, 705, 706, 5, 85, 43, 2, 706, 707, 5, 193, 97, 2, 707, 708, 5, 167, 84, 2, 708, 709, 5, 189, 95, 2, 709, 710, 5, 181, 91, 2, 710, 711, 5, 159, 80, 2, 711, 712, 5, 163, 82, 2, 712, 713, 5, 167, 84, 2, 713, 150, 3, 2, 2, 2, 714, 715, 5, 199, 100, 2, 715, 716, 5, 185, 93, 2, 716, 717, 5, 175, 88, 2, 717, 718, 5, 169, 85, 2, 718, 719, 5, 175, 88, 2, 719, 720, 5, 167, 84, 2, 720, 721, 5, 165, 83, 2, 721, 722, 5, 85, 43, 2, 722, 723, 5, 163, 82, 2, 723, 724, 5, 193, 97, 2, 724, 725, 5, 167, 84, 2, 725, 726, 5, 165, 83, 2, 726, 727, 5, 175, 88, 2, 727, 728, 5, 197, 99, 2, 728, 729, 5, 85, 43, 2, 729, 730, 5, 163, 82, 2, 730, 731, 5, 187, 94, 2, 731, 732, 5, 165, 83, 2, 732, 733, 5, 167, 84, 2, 733, 734, 5, 85, 43, 2, 734, 735, 5, 193, 97, 2, 735, 736, 5, 159, 80, 2, 736, 737, 5, 185, 93, 2, 737, 738, 5, 165, 83, 2, 738, 739, 5, 187, 94, 2, 739, 740, 5, 183, 92, 2, 740, 741, 5, 85, 43, 2, 741, 742, 5, 193, 97, 2, 742, 743, 5, 167, 84, 2, 743, 744, 5, 189, 95, 2, 744, 745, 5, 181, 91, 2, 745, 746, 5, 159, 80, 2, 746, 747, 5, 163, 82, 2, 747, 748, 5, 167, 84, 2, 748, 152, 3, 2, 2, 2, 749, 750, 5, 171, 86, 2, 750, 751, 5, 167, 84, 2, 751, 752, 5, 185, 93, 2, 752, 753, 5, 167, 84, 2, 753, 754, 5, 193, 97, 2, 754, 755, 5, 175, 88, 2, 755, 756, 5, 163, 82, 2, 756, 757, 5, 85, 43, 2, 757, 758, 5, 197, 99, 2, 758, 759, 5, 159, 80, 2, 759, 760, 5, 161, 81, 2, 760, 761, 5, 181, 91, 2, 761, 762, 5, 167, 84, 2, 762, 763, 5, 85, 43, 2, 763, 764, 5, 193, 97, 2, 764, 765, 5, 159, 80, 2, 765, 766, 5, 185, 93, 2, 766, 767, 5, 165, 83, 2, 767, 768, 5, 187, 94, 2, 768, 769, 5, 183, 92, 2, 769, 770, 5, 85, 43, 2, 770, 771, 5, 193, 97, 2, 771, 772, 5, 167, 84, 2, 772, 773, 5, 189, 95, 2, 773, 774, 5, 181, 91, 2, 774, 775, 5, 159, 80, 2, 775, 776, 5, 163, 82, 2, 776, 777, 5, 167, 84, 2, 777, 154, 3, 2, 2, 2, 778, 779, 5, 159, 80, 2, 779, 780, 5, 165, 83, 2, 780, 781, 5, 165, 83, 2, 781, 782, 5, 193, 97, 2, 782, 783, 5, 167, 84, 2, 783, 784, 5, 195, 98, 2, 784, 785, 5, 195, 98, 2, 785, 786, 5, 85, 43, 2, 786, 787, 5, 193, 97, 2, 787, 788, 5, 159, 80, 2, 788, 789, 5, 185, 93, 2, 789, 790, 5, 165, 83, 2, 790, 791, 5, 187, 94, 2, 791, 792, 5, 183, 92, 2, 792, 793, 5, 85, 43, 2, 793, 794, 5, 193, 97, 2, 794, 795, 5, 167, 84, 2, 795, 796, 5, 189, 95, 2, 796, 797, 5, 181, 91, 2, 797, 798, 5, 159, 80, 2, 798, 799, 5, 163, 82, 2, 799, 800, 5, 167, 84, 2, 800, 156, 3, 2, 2, 2, 801, 802, 7, 70, 2, 2, 802, 803, 7, 81, 2, 2, 803, 804, 7, 34, 2, 2, 804, 805, 7, 80, 2, 2, 805, 806, 7, 81, 2, 2, 806, 807, 7, 86, 2, 2, 807, 808, 7, 34, 2, 2, 808, 809, 7, 79, 2, 2, 809, 810, 7, 67, 2, 2, 810, 811, 7, 86, 2, 2, 811, 812, 7, 69, 2, 2, 812, 813, 7, 74, 2, 2, 813, 814, 7, 34, 2, 2, 814, 815, 7, 67, 2, 2, 815, 816, 7, 80, 2, 2, 816, 817, 7, 91, 2, 2, 817, 818, 7, 34, 2, 2, 818, 819, 7, 86, 2, 2, 819, 820, 7, 74, 2, 2, 820, 821, 7, 75, 2, 2, 821, 822, 7, 80, 2, 2, 822, 823, 7, 73, 2, 2, 823, 824, 7, 46, 2, 2, 824, 825, 7, 34, 2, 2, 825, 826, 7, 76, 2, 2, 826, 827, 7, 87, 2, 2, 827, 828, 7, 85, 2, 2, 828, 829, 7, 86, 2, 2, 829, 830, 7, 34, 2, 2, 830, 831, 7, 72, 2, 2, 831, 832, 7, 81, 2, 2, 832, 833, 7, 84, 2, 2, 833, 834, 7, 34, 2, 2, 834, 835, 7, 73, 2, 2, 835, 836, 7, 71, 2, 2, 836, 837, 7, 80, 2, 2, 837, 838, 7, 71, 2, 2, 838, 839, 7, 84, 2, 2, 839, 840, 7, 67, 2, 2, 840, 841, 7, 86, 2, 2, 841, 842, 7, 81, 2, 2, 842, 843, 7, 84, 2, 2, 843, 158, 3, 2, 2, 2, 844, 845, 9, 4, 2, 2, 845, 160, 3, 2, 2, 2, 846, 847, 9, 5, 2, 2, 847, 162, 3, 2, 2, 2, 848, 849, 9, 6, 2, 2, 849, 164, 3, 2, 2, 2, 850, 851, 9, 7, 2, 2, 851, 166, 3, 2, 2, 2, 852, 853, 9, 8, 2, 2, 853, 168, 3, 2, 2, 2, 854, 855, 9, 9, 2, 2, 855, 170, 3, 2, 2, 2, 856, 857, 9, 10, 2, 2, 857, 172, 3, 2, 2, 2, 858, 859, 9, 11, 2, 2, 859, 174, 3, 2, 2, 2, 860, 861, 9, 12, 2, 2, 861, 176, 3, 2, 2, 2, 862, 863, 9, 13, 2, 2, 863, 178, 3, 2, 2, 2, 864, 865, 9, 14, 2, 2, 865, 180, 3, 2, 2, 2, 866, 867, 9, 15, 2, 2, 867, 182, 3, 2, 2, 2, 868, 869, 9, 16, 2, 2, 869, 184, 3, 2, 2, 2, 870, 871, 9, 17, 2, 2, 871, 186, 3, 2, 2, 2, 872, 873, 9, 18, 2, 2, 873, 188, 3, 2, 2, 2, 874, 875, 9, 19, 2, 2, 875, 190, 3, 2, 2, 2, 876, 877, 9, 20, 2, 2, 877, 192, 3, 2, 2, 2, 878, 879, 9, 21, 2, 2, 879, 194, 3, 2, 2, 2, 880, 881, 9, 22, 2, 2, 881, 196, 3, 2, 2, 2, 882, 883, 9, 23, 2, 2, 883, 198, 3, 2, 2, 2, 884, 885, 9, 24, 2, 2, 885, 200, 3, 2, 2, 2, 886, 887, 9, 25, 2, 2, 887, 202, 3, 2, 2, 2, 888, 889, 9, 26, 2, 2, 889, 204, 3, 2, 2, 2, 890, 891, 9, 27, 2, 2, 891, 206, 3, 2, 2, 2, 892, 893, 9, 28, 2, 2, 893, 208, 3, 2, 2, 2, 894, 895, 9, 29, 2, 2, 895, 210, 3, 2, 2, 2, 896, 898, 9, 30, 2, 2, 897, 896, 3, 2, 2, 2, 898, 901, 3, 2, 2, 2, 899, 900, 3, 2, 2, 2, 899, 897, 3, 2, 2, 2, 900, 903, 3, 2, 2, 2, 901, 899, 3, 2, 2, 2, 902, 904, 9, 31, 2, 2, 903, 902, 3, 2, 2, 2, 904, 905, 3, 2, 2, 2, 905, 906, 3, 2, 2, 2, 905, 903, 3, 2, 2, 2, 906, 910, 3, 2, 2, 2, 907, 909, 9, 30, 2, 2, 908, 907, 3, 2, 2, 2, 909, 912, 3, 2, 2, 2, 910, 908, 3, 2, 2, 2, 910, 911, 3, 2, 2, 2, 911, 922, 3, 2, 2, 2, 912, 910, 3, 2, 2, 2, 913, 915, 5, 75, 38, 2, 914, 916, 10, 32, 2, 2, 915, 914, 3, 2, 2, 2, 916, 917, 3, 2, 2, 2, 917, 915, 3, 2, 2, 2, 917, 918, 3, 2, 2, 2, 918, 919, 3, 2, 2, 2, 919, 920, 5, 75, 38, 2, 920, 922, 3, 2, 2, 2, 921, 899, 3, 2, 2, 2, 921, 913, 3, 2, 2, 2, 922, 212, 3, 2, 2, 2, 923, 931, 5, 71, 36, 2, 924, 925, 7, 94, 2, 2, 925, 930, 11, 2, 2, 2, 926, 927, 7, 36, 2, 2, 927, 930, 7, 36, 2, 2, 928, 930, 10, 33, 2, 2, 929, 924, 3, 2, 2, 2, 929, 926, 3, 2, 2, 2, 929, 928, 3, 2, 2, 2, 930, 933, 3, 2, 2, 2, 931, 929, 3, 2, 2, 2, 931, 932, 3, 2, 2, 2, 932, 934, 3, 2, 2, 2, 933, 931, 3, 2, 2, 2, 934, 935, 5, 71, 36, 2, 935, 950, 3, 2, 2, 2, 936, 944, 5, 73, 37, 2, 937, 938, 7, 94, 2, 2, 938, 943, 11, 2, 2, 2, 939, 940, 7, 41, 2, 2, 940, 943, 7, 41, 2, 2, 941, 943, 10, 34, 2, 2, 942, 937, 3, 2, 2, 2, 942, 939, 3, 2, 2, 2, 942, 941, 3, 2, 2, 2, 943, 946, 3, 2, 2, 2, 944, 942, 3, 2, 2, 2, 944, 945, 3, 2, 2, 2, 945, 947, 3, 2, 2, 2, 946, 944, 3, 2, 2, 2, 947, 948, 5, 73, 37, 2, 948, 950, 3, 2, 2, 2, 949, 923, 3, 2, 2, 2, 949, 936, 3, 2, 2, 2, 950, 214, 3, 2, 2, 2, 951, 953, 9, 35, 2, 2, 952, 951, 3, 2, 2, 2, 953, 954, 3, 2, 2, 2, 954, 952, 3, 2, 2, 2, 954, 955, 3, 2, 2, 2, 955, 216, 3, 2, 2, 2, 956, 957, 9, 36, 2, 2, 957, 218, 3, 2, 2, 2, 958, 960, 5, 215, 108, 2, 959, 958, 3, 2, 2, 2, 959, 960, 3, 2, 2, 2, 960, 962, 3, 2, 2, 2, 961, 963, 5, 35, 18, 2, 962, 961, 3, 2, 2, 2, 962, 963, 3, 2, 2, 2, 963, 964, 3, 2, 2, 2, 964, 972, 5, 215, 108, 2, 965, 968, 5, 167, 84, 2, 966, 969, 5, 25, 13, 2, 967, 969, 5, 27, 14, 2, 968, 966, 3, 2, 2, 2, 968, 967, 3, 2, 2, 2, 968, 969, 3, 2, 2, 2, 969, 970, 3, 2, 2, 2, 970, 971, 5, 215, 108, 2, 971, 973, 3, 2, 2, 2, 972, 965, 3, 2, 2, 2, 972, 973, 3, 2, 2, 2, 973, 220, 3, 2, 2, 2, 974, 975, 7, 50, 2, 2, 975, 976, 7, 122, 2, 2, 976, 978, 3, 2, 2, 2, 977, 979, 5, 217, 109, 2, 978, 977, 3, 2, 2, 2, 979, 980, 3, 2, 2, 2, 980, 978, 3, 2, 2, 2, 980, 981, 3, 2, 2, 2, 981, 992, 3, 2, 2, 2, 982, 983, 7, 90, 2, 2, 983, 985, 5, 73, 37, 2, 984, 986, 5, 217, 109, 2, 985, 984, 3, 2, 2, 2, 986, 987, 3, 2, 2, 2, 987, 985, 3, 2, 2, 2, 987, 988, 3, 2, 2, 2, 988, 989, 3, 2, 2, 2, 989, 990, 5, 73, 37, 2, 990, 992, 3, 2, 2, 2, 991, 974, 3, 2, 2, 2, 991, 982, 3, 2, 2, 2, 992, 222, 3, 2, 2, 2, 993, 994, 7, 50, 2, 2, 994, 995, 7, 100, 2, 2, 995, 997, 3, 2, 2, 2, 996, 998, 4, 50, 51, 2, 997, 996, 3, 2, 2, 2, 998, 999, 3, 2, 2, 2, 999, 997, 3, 2, 2, 2, 999, 1000, 3, 2, 2, 2, 1000, 1011, 3, 2, 2, 2, 1001, 1002, 5, 161, 81, 2, 1002, 1004, 5, 73, 37, 2, 1003, 1005, 4, 50, 51, 2, 1004, 1003, 3, 2, 2, 2, 1005, 1006, 3, 2, 2, 2, 1006, 1004, 3, 2, 2, 2, 1006, 1007, 3, 2, 2, 2, 1007, 1008, 3, 2, 2, 2, 1008, 1009, 5, 73, 37, 2, 1009, 1011, 3, 2, 2, 2, 1010, 993, 3, 2, 2, 2, 1010, 1001, 3, 2, 2, 2, 1011, 224, 3, 2, 2, 2, 26, 2, 279, 328, 899, 905, 910, 917, 921, 929, 931, 942, 944, 949, 954, 959, 962, 968, 972, 980, 987, 991, 999, 1006, 1010, 3, 8, 2, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleLexer.java b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleLexer.java deleted file mode 100644 index 86f98282..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleLexer.java +++ /dev/null @@ -1,515 +0,0 @@ -// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/mask/BaseRule.g4 by ANTLR 4.9.2 -import org.antlr.v4.runtime.Lexer; -import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.TokenStream; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.misc.*; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class BaseRuleLexer extends Lexer { - static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, - SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, - ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, - DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, - LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, - SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, - WS=43, TRUE=44, FALSE=45, CREATE=46, ALTER=47, DROP=48, SHOW=49, RULE=50, - FROM=51, MASK=52, TYPE=53, NAME=54, PROPERTIES=55, COLUMN=56, RULES=57, - TABLE=58, COLUMNS=59, IF=60, EXISTS=61, COUNT=62, NOT=63, MD5=64, KEEP_FIRST_N_LAST_M=65, - KEEP_FROM_X_TO_Y=66, MASK_FIRST_N_LAST_M=67, MASK_FROM_X_TO_Y=68, MASK_BEFORE_SPECIAL_CHARS=69, - MASK_AFTER_SPECIAL_CHARS=70, PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE=71, - MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE=72, LANDLINE_NUMBER_RANDOM_REPLACE=73, - TELEPHONE_RANDOM_REPLACE=74, UNIFIED_CREDIT_CODE_RANDOM_REPLACE=75, GENERIC_TABLE_RANDOM_REPLACE=76, - ADDRESS_RANDOM_REPLACE=77, FOR_GENERATOR=78, IDENTIFIER_=79, STRING_=80, - INT_=81, HEX_=82, NUMBER_=83, HEXDIGIT_=84, BITNUM_=85; - public static String[] channelNames = { - "DEFAULT_TOKEN_CHANNEL", "HIDDEN" - }; - - public static String[] modeNames = { - "DEFAULT_MODE" - }; - - private static String[] makeRuleNames() { - return new String[] { - "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", - "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", - "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", - "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", - "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", - "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", "FALSE", "CREATE", "ALTER", - "DROP", "SHOW", "RULE", "FROM", "MASK", "TYPE", "NAME", "PROPERTIES", - "COLUMN", "RULES", "TABLE", "COLUMNS", "IF", "EXISTS", "COUNT", "NOT", - "MD5", "KEEP_FIRST_N_LAST_M", "KEEP_FROM_X_TO_Y", "MASK_FIRST_N_LAST_M", - "MASK_FROM_X_TO_Y", "MASK_BEFORE_SPECIAL_CHARS", "MASK_AFTER_SPECIAL_CHARS", - "PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE", "MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE", - "LANDLINE_NUMBER_RANDOM_REPLACE", "TELEPHONE_RANDOM_REPLACE", "UNIFIED_CREDIT_CODE_RANDOM_REPLACE", - "GENERIC_TABLE_RANDOM_REPLACE", "ADDRESS_RANDOM_REPLACE", "FOR_GENERATOR", - "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", - "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "IDENTIFIER_", - "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", - "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", - "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", - "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", - "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", - "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", - "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", - "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", - "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", - "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", - "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", "FROM", "MASK", "TYPE", - "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", "COLUMNS", "IF", "EXISTS", - "COUNT", "NOT", "MD5", "KEEP_FIRST_N_LAST_M", "KEEP_FROM_X_TO_Y", "MASK_FIRST_N_LAST_M", - "MASK_FROM_X_TO_Y", "MASK_BEFORE_SPECIAL_CHARS", "MASK_AFTER_SPECIAL_CHARS", - "PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE", "MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE", - "LANDLINE_NUMBER_RANDOM_REPLACE", "TELEPHONE_RANDOM_REPLACE", "UNIFIED_CREDIT_CODE_RANDOM_REPLACE", - "GENERIC_TABLE_RANDOM_REPLACE", "ADDRESS_RANDOM_REPLACE", "FOR_GENERATOR", - "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - - public BaseRuleLexer(CharStream input) { - super(input); - _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - @Override - public String getGrammarFileName() { return "BaseRule.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public String[] getChannelNames() { return channelNames; } - - @Override - public String[] getModeNames() { return modeNames; } - - @Override - public ATN getATN() { return _ATN; } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2W\u03f4\b\1\4\2\t"+ - "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ - "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ - "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ - "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ - "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ - ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ - "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ - "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+ - "\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+ - "\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+ - "`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\4k\t"+ - "k\4l\tl\4m\tm\4n\tn\4o\to\4p\tp\3\2\3\2\3\2\3\3\3\3\3\3\3\4\3\4\3\5\3"+ - "\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\t\3\t\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3"+ - "\r\3\r\3\16\3\16\3\17\3\17\3\20\3\20\3\21\3\21\3\22\3\22\3\23\3\23\3\23"+ - "\3\24\3\24\3\24\3\24\3\25\3\25\3\25\3\26\3\26\3\27\3\27\3\27\3\27\5\27"+ - "\u0118\n\27\3\30\3\30\3\31\3\31\3\31\3\32\3\32\3\33\3\33\3\33\3\34\3\34"+ - "\3\35\3\35\3\36\3\36\3\37\3\37\3 \3 \3!\3!\3\"\3\"\3#\3#\3$\3$\3%\3%\3"+ - "&\3&\3\'\3\'\3(\3(\3)\3)\3*\3*\3*\3*\3+\3+\3,\6,\u0147\n,\r,\16,\u0148"+ - "\3,\3,\3-\3-\3-\3-\3-\3.\3.\3.\3.\3.\3.\3/\3/\3/\3/\3/\3/\3/\3\60\3\60"+ - "\3\60\3\60\3\60\3\60\3\61\3\61\3\61\3\61\3\61\3\62\3\62\3\62\3\62\3\62"+ - "\3\63\3\63\3\63\3\63\3\63\3\64\3\64\3\64\3\64\3\64\3\65\3\65\3\65\3\65"+ - "\3\65\3\66\3\66\3\66\3\66\3\66\3\67\3\67\3\67\3\67\3\67\38\38\38\38\3"+ - "8\38\38\38\38\38\38\39\39\39\39\39\39\39\3:\3:\3:\3:\3:\3:\3;\3;\3;\3"+ - ";\3;\3;\3<\3<\3<\3<\3<\3<\3<\3<\3=\3=\3=\3>\3>\3>\3>\3>\3>\3>\3?\3?\3"+ - "?\3?\3?\3?\3@\3@\3@\3@\3A\3A\3A\3A\3B\3B\3B\3B\3B\3B\3B\3B\3B\3B\3B\3"+ - "B\3B\3B\3B\3B\3B\3B\3B\3B\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3"+ - "C\3C\3C\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3"+ - "E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3F\3F\3F\3F\3F\3F\3"+ - "F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3G\3G\3G\3"+ - "G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3H\3"+ - "H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3"+ - "H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3I\3I\3I\3I\3I\3I\3I\3"+ - "I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3"+ - "I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3"+ - "J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3K\3K\3K\3K\3K\3"+ - "K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3L\3L\3L\3"+ - "L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3"+ - "L\3L\3L\3L\3L\3L\3L\3L\3L\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3"+ - "M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3N\3N\3N\3N\3N\3N\3N\3N\3"+ - "N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3O\3O\3O\3O\3O\3O\3O\3O\3"+ - "O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3"+ - "O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3P\3P\3Q\3Q\3R\3R\3S\3S\3T\3T\3U\3"+ - "U\3V\3V\3W\3W\3X\3X\3Y\3Y\3Z\3Z\3[\3[\3\\\3\\\3]\3]\3^\3^\3_\3_\3`\3`"+ - "\3a\3a\3b\3b\3c\3c\3d\3d\3e\3e\3f\3f\3g\3g\3h\3h\3i\3i\3j\7j\u0382\nj"+ - "\fj\16j\u0385\13j\3j\6j\u0388\nj\rj\16j\u0389\3j\7j\u038d\nj\fj\16j\u0390"+ - "\13j\3j\3j\6j\u0394\nj\rj\16j\u0395\3j\3j\5j\u039a\nj\3k\3k\3k\3k\3k\3"+ - "k\7k\u03a2\nk\fk\16k\u03a5\13k\3k\3k\3k\3k\3k\3k\3k\3k\7k\u03af\nk\fk"+ - "\16k\u03b2\13k\3k\3k\5k\u03b6\nk\3l\6l\u03b9\nl\rl\16l\u03ba\3m\3m\3n"+ - "\5n\u03c0\nn\3n\5n\u03c3\nn\3n\3n\3n\3n\5n\u03c9\nn\3n\3n\5n\u03cd\nn"+ - "\3o\3o\3o\3o\6o\u03d3\no\ro\16o\u03d4\3o\3o\3o\6o\u03da\no\ro\16o\u03db"+ - "\3o\3o\5o\u03e0\no\3p\3p\3p\3p\6p\u03e6\np\rp\16p\u03e7\3p\3p\3p\6p\u03ed"+ - "\np\rp\16p\u03ee\3p\3p\5p\u03f3\np\4\u0383\u0389\2q\3\3\5\4\7\5\t\6\13"+ - "\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\35\20\37\21!\22#\23%\24\'"+ - "\25)\26+\27-\30/\31\61\32\63\33\65\34\67\359\36;\37= ?!A\"C#E$G%I&K\'"+ - "M(O)Q*S+U,W-Y.[/]\60_\61a\62c\63e\64g\65i\66k\67m8o9q:s;u{?}@\177"+ - "A\u0081B\u0083C\u0085D\u0087E\u0089F\u008bG\u008dH\u008fI\u0091J\u0093"+ - "K\u0095L\u0097M\u0099N\u009bO\u009dP\u009f\2\u00a1\2\u00a3\2\u00a5\2\u00a7"+ - "\2\u00a9\2\u00ab\2\u00ad\2\u00af\2\u00b1\2\u00b3\2\u00b5\2\u00b7\2\u00b9"+ - "\2\u00bb\2\u00bd\2\u00bf\2\u00c1\2\u00c3\2\u00c5\2\u00c7\2\u00c9\2\u00cb"+ - "\2\u00cd\2\u00cf\2\u00d1\2\u00d3Q\u00d5R\u00d7S\u00d9T\u00dbU\u00ddV\u00df"+ - "W\3\2%\5\2\13\f\17\17\"\"\3\2\67\67\4\2CCcc\4\2DDdd\4\2EEee\4\2FFff\4"+ - "\2GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4\2LLll\4\2MMmm\4\2NNnn\4\2OOo"+ - "o\4\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4\2TTtt\4\2UUuu\4\2VVvv\4\2WWww\4\2"+ - "XXxx\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\||\7\2&&\62;C\\aac|\6\2&&C\\aac|\3"+ - "\2bb\4\2$$^^\4\2))^^\3\2\62;\5\2\62;CHch\2\u03f3\2\3\3\2\2\2\2\5\3\2\2"+ - "\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17\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\31\3\2\2\2\2\33\3\2"+ - "\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2\2\2%\3\2\2\2\2\'\3"+ - "\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\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\29\3\2\2\2\2;\3\2\2\2\2=\3\2\2\2\2?\3"+ - "\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2\2I\3\2\2\2\2K\3\2\2"+ - "\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2\2\2\2W\3\2\2\2\2"+ - "Y\3\2\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3\2\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3"+ - "\2\2\2\2g\3\2\2\2\2i\3\2\2\2\2k\3\2\2\2\2m\3\2\2\2\2o\3\2\2\2\2q\3\2\2"+ - "\2\2s\3\2\2\2\2u\3\2\2\2\2w\3\2\2\2\2y\3\2\2\2\2{\3\2\2\2\2}\3\2\2\2\2"+ - "\177\3\2\2\2\2\u0081\3\2\2\2\2\u0083\3\2\2\2\2\u0085\3\2\2\2\2\u0087\3"+ - "\2\2\2\2\u0089\3\2\2\2\2\u008b\3\2\2\2\2\u008d\3\2\2\2\2\u008f\3\2\2\2"+ - "\2\u0091\3\2\2\2\2\u0093\3\2\2\2\2\u0095\3\2\2\2\2\u0097\3\2\2\2\2\u0099"+ - "\3\2\2\2\2\u009b\3\2\2\2\2\u009d\3\2\2\2\2\u00d3\3\2\2\2\2\u00d5\3\2\2"+ - "\2\2\u00d7\3\2\2\2\2\u00d9\3\2\2\2\2\u00db\3\2\2\2\2\u00dd\3\2\2\2\2\u00df"+ - "\3\2\2\2\3\u00e1\3\2\2\2\5\u00e4\3\2\2\2\7\u00e7\3\2\2\2\t\u00e9\3\2\2"+ - "\2\13\u00eb\3\2\2\2\r\u00ed\3\2\2\2\17\u00ef\3\2\2\2\21\u00f2\3\2\2\2"+ - "\23\u00f5\3\2\2\2\25\u00f7\3\2\2\2\27\u00f9\3\2\2\2\31\u00fb\3\2\2\2\33"+ - "\u00fd\3\2\2\2\35\u00ff\3\2\2\2\37\u0101\3\2\2\2!\u0103\3\2\2\2#\u0105"+ - "\3\2\2\2%\u0107\3\2\2\2\'\u010a\3\2\2\2)\u010e\3\2\2\2+\u0111\3\2\2\2"+ - "-\u0117\3\2\2\2/\u0119\3\2\2\2\61\u011b\3\2\2\2\63\u011e\3\2\2\2\65\u0120"+ - "\3\2\2\2\67\u0123\3\2\2\29\u0125\3\2\2\2;\u0127\3\2\2\2=\u0129\3\2\2\2"+ - "?\u012b\3\2\2\2A\u012d\3\2\2\2C\u012f\3\2\2\2E\u0131\3\2\2\2G\u0133\3"+ - "\2\2\2I\u0135\3\2\2\2K\u0137\3\2\2\2M\u0139\3\2\2\2O\u013b\3\2\2\2Q\u013d"+ - "\3\2\2\2S\u013f\3\2\2\2U\u0143\3\2\2\2W\u0146\3\2\2\2Y\u014c\3\2\2\2["+ - "\u0151\3\2\2\2]\u0157\3\2\2\2_\u015e\3\2\2\2a\u0164\3\2\2\2c\u0169\3\2"+ - "\2\2e\u016e\3\2\2\2g\u0173\3\2\2\2i\u0178\3\2\2\2k\u017d\3\2\2\2m\u0182"+ - "\3\2\2\2o\u0187\3\2\2\2q\u0192\3\2\2\2s\u0199\3\2\2\2u\u019f\3\2\2\2w"+ - "\u01a5\3\2\2\2y\u01ad\3\2\2\2{\u01b0\3\2\2\2}\u01b7\3\2\2\2\177\u01bd"+ - "\3\2\2\2\u0081\u01c1\3\2\2\2\u0083\u01c5\3\2\2\2\u0085\u01d9\3\2\2\2\u0087"+ - "\u01ea\3\2\2\2\u0089\u01fe\3\2\2\2\u008b\u020f\3\2\2\2\u008d\u0229\3\2"+ - "\2\2\u008f\u0242\3\2\2\2\u0091\u026a\3\2\2\2\u0093\u0292\3\2\2\2\u0095"+ - "\u02b1\3\2\2\2\u0097\u02ca\3\2\2\2\u0099\u02ed\3\2\2\2\u009b\u030a\3\2"+ - "\2\2\u009d\u0321\3\2\2\2\u009f\u034c\3\2\2\2\u00a1\u034e\3\2\2\2\u00a3"+ - "\u0350\3\2\2\2\u00a5\u0352\3\2\2\2\u00a7\u0354\3\2\2\2\u00a9\u0356\3\2"+ - "\2\2\u00ab\u0358\3\2\2\2\u00ad\u035a\3\2\2\2\u00af\u035c\3\2\2\2\u00b1"+ - "\u035e\3\2\2\2\u00b3\u0360\3\2\2\2\u00b5\u0362\3\2\2\2\u00b7\u0364\3\2"+ - "\2\2\u00b9\u0366\3\2\2\2\u00bb\u0368\3\2\2\2\u00bd\u036a\3\2\2\2\u00bf"+ - "\u036c\3\2\2\2\u00c1\u036e\3\2\2\2\u00c3\u0370\3\2\2\2\u00c5\u0372\3\2"+ - "\2\2\u00c7\u0374\3\2\2\2\u00c9\u0376\3\2\2\2\u00cb\u0378\3\2\2\2\u00cd"+ - "\u037a\3\2\2\2\u00cf\u037c\3\2\2\2\u00d1\u037e\3\2\2\2\u00d3\u0399\3\2"+ - "\2\2\u00d5\u03b5\3\2\2\2\u00d7\u03b8\3\2\2\2\u00d9\u03bc\3\2\2\2\u00db"+ - "\u03bf\3\2\2\2\u00dd\u03df\3\2\2\2\u00df\u03f2\3\2\2\2\u00e1\u00e2\7("+ - "\2\2\u00e2\u00e3\7(\2\2\u00e3\4\3\2\2\2\u00e4\u00e5\7~\2\2\u00e5\u00e6"+ - "\7~\2\2\u00e6\6\3\2\2\2\u00e7\u00e8\7#\2\2\u00e8\b\3\2\2\2\u00e9\u00ea"+ - "\7\u0080\2\2\u00ea\n\3\2\2\2\u00eb\u00ec\7~\2\2\u00ec\f\3\2\2\2\u00ed"+ - "\u00ee\7(\2\2\u00ee\16\3\2\2\2\u00ef\u00f0\7>\2\2\u00f0\u00f1\7>\2\2\u00f1"+ - "\20\3\2\2\2\u00f2\u00f3\7@\2\2\u00f3\u00f4\7@\2\2\u00f4\22\3\2\2\2\u00f5"+ - "\u00f6\7`\2\2\u00f6\24\3\2\2\2\u00f7\u00f8\7\'\2\2\u00f8\26\3\2\2\2\u00f9"+ - "\u00fa\7<\2\2\u00fa\30\3\2\2\2\u00fb\u00fc\7-\2\2\u00fc\32\3\2\2\2\u00fd"+ - "\u00fe\7/\2\2\u00fe\34\3\2\2\2\u00ff\u0100\7,\2\2\u0100\36\3\2\2\2\u0101"+ - "\u0102\7\61\2\2\u0102 \3\2\2\2\u0103\u0104\7^\2\2\u0104\"\3\2\2\2\u0105"+ - "\u0106\7\60\2\2\u0106$\3\2\2\2\u0107\u0108\7\60\2\2\u0108\u0109\7,\2\2"+ - "\u0109&\3\2\2\2\u010a\u010b\7>\2\2\u010b\u010c\7?\2\2\u010c\u010d\7@\2"+ - "\2\u010d(\3\2\2\2\u010e\u010f\7?\2\2\u010f\u0110\7?\2\2\u0110*\3\2\2\2"+ - "\u0111\u0112\7?\2\2\u0112,\3\2\2\2\u0113\u0114\7>\2\2\u0114\u0118\7@\2"+ - "\2\u0115\u0116\7#\2\2\u0116\u0118\7?\2\2\u0117\u0113\3\2\2\2\u0117\u0115"+ - "\3\2\2\2\u0118.\3\2\2\2\u0119\u011a\7@\2\2\u011a\60\3\2\2\2\u011b\u011c"+ - "\7@\2\2\u011c\u011d\7?\2\2\u011d\62\3\2\2\2\u011e\u011f\7>\2\2\u011f\64"+ - "\3\2\2\2\u0120\u0121\7>\2\2\u0121\u0122\7?\2\2\u0122\66\3\2\2\2\u0123"+ - "\u0124\7%\2\2\u01248\3\2\2\2\u0125\u0126\7*\2\2\u0126:\3\2\2\2\u0127\u0128"+ - "\7+\2\2\u0128<\3\2\2\2\u0129\u012a\7}\2\2\u012a>\3\2\2\2\u012b\u012c\7"+ - "\177\2\2\u012c@\3\2\2\2\u012d\u012e\7]\2\2\u012eB\3\2\2\2\u012f\u0130"+ - "\7_\2\2\u0130D\3\2\2\2\u0131\u0132\7.\2\2\u0132F\3\2\2\2\u0133\u0134\7"+ - "$\2\2\u0134H\3\2\2\2\u0135\u0136\7)\2\2\u0136J\3\2\2\2\u0137\u0138\7b"+ - "\2\2\u0138L\3\2\2\2\u0139\u013a\7A\2\2\u013aN\3\2\2\2\u013b\u013c\7B\2"+ - "\2\u013cP\3\2\2\2\u013d\u013e\7=\2\2\u013eR\3\2\2\2\u013f\u0140\7/\2\2"+ - "\u0140\u0141\7@\2\2\u0141\u0142\7@\2\2\u0142T\3\2\2\2\u0143\u0144\7a\2"+ - "\2\u0144V\3\2\2\2\u0145\u0147\t\2\2\2\u0146\u0145\3\2\2\2\u0147\u0148"+ - "\3\2\2\2\u0148\u0146\3\2\2\2\u0148\u0149\3\2\2\2\u0149\u014a\3\2\2\2\u014a"+ - "\u014b\b,\2\2\u014bX\3\2\2\2\u014c\u014d\5\u00c5c\2\u014d\u014e\5\u00c1"+ - "a\2\u014e\u014f\5\u00c7d\2\u014f\u0150\5\u00a7T\2\u0150Z\3\2\2\2\u0151"+ - "\u0152\5\u00a9U\2\u0152\u0153\5\u009fP\2\u0153\u0154\5\u00b5[\2\u0154"+ - "\u0155\5\u00c3b\2\u0155\u0156\5\u00a7T\2\u0156\\\3\2\2\2\u0157\u0158\5"+ - "\u00a3R\2\u0158\u0159\5\u00c1a\2\u0159\u015a\5\u00a7T\2\u015a\u015b\5"+ - "\u009fP\2\u015b\u015c\5\u00c5c\2\u015c\u015d\5\u00a7T\2\u015d^\3\2\2\2"+ - "\u015e\u015f\5\u009fP\2\u015f\u0160\5\u00b5[\2\u0160\u0161\5\u00c5c\2"+ - "\u0161\u0162\5\u00a7T\2\u0162\u0163\5\u00c1a\2\u0163`\3\2\2\2\u0164\u0165"+ - "\5\u00a5S\2\u0165\u0166\5\u00c1a\2\u0166\u0167\5\u00bb^\2\u0167\u0168"+ - "\5\u00bd_\2\u0168b\3\2\2\2\u0169\u016a\5\u00c3b\2\u016a\u016b\5\u00ad"+ - "W\2\u016b\u016c\5\u00bb^\2\u016c\u016d\5\u00cbf\2\u016dd\3\2\2\2\u016e"+ - "\u016f\5\u00c1a\2\u016f\u0170\5\u00c7d\2\u0170\u0171\5\u00b5[\2\u0171"+ - "\u0172\5\u00a7T\2\u0172f\3\2\2\2\u0173\u0174\5\u00a9U\2\u0174\u0175\5"+ - "\u00c1a\2\u0175\u0176\5\u00bb^\2\u0176\u0177\5\u00b7\\\2\u0177h\3\2\2"+ - "\2\u0178\u0179\5\u00b7\\\2\u0179\u017a\5\u009fP\2\u017a\u017b\5\u00c3"+ - "b\2\u017b\u017c\5\u00b3Z\2\u017cj\3\2\2\2\u017d\u017e\5\u00c5c\2\u017e"+ - "\u017f\5\u00cfh\2\u017f\u0180\5\u00bd_\2\u0180\u0181\5\u00a7T\2\u0181"+ - "l\3\2\2\2\u0182\u0183\5\u00b9]\2\u0183\u0184\5\u009fP\2\u0184\u0185\5"+ - "\u00b7\\\2\u0185\u0186\5\u00a7T\2\u0186n\3\2\2\2\u0187\u0188\5\u00bd_"+ - "\2\u0188\u0189\5\u00c1a\2\u0189\u018a\5\u00bb^\2\u018a\u018b\5\u00bd_"+ - "\2\u018b\u018c\5\u00a7T\2\u018c\u018d\5\u00c1a\2\u018d\u018e\5\u00c5c"+ - "\2\u018e\u018f\5\u00afX\2\u018f\u0190\5\u00a7T\2\u0190\u0191\5\u00c3b"+ - "\2\u0191p\3\2\2\2\u0192\u0193\5\u00a3R\2\u0193\u0194\5\u00bb^\2\u0194"+ - "\u0195\5\u00b5[\2\u0195\u0196\5\u00c7d\2\u0196\u0197\5\u00b7\\\2\u0197"+ - "\u0198\5\u00b9]\2\u0198r\3\2\2\2\u0199\u019a\5\u00c1a\2\u019a\u019b\5"+ - "\u00c7d\2\u019b\u019c\5\u00b5[\2\u019c\u019d\5\u00a7T\2\u019d\u019e\5"+ - "\u00c3b\2\u019et\3\2\2\2\u019f\u01a0\5\u00c5c\2\u01a0\u01a1\5\u009fP\2"+ - "\u01a1\u01a2\5\u00a1Q\2\u01a2\u01a3\5\u00b5[\2\u01a3\u01a4\5\u00a7T\2"+ - "\u01a4v\3\2\2\2\u01a5\u01a6\5\u00a3R\2\u01a6\u01a7\5\u00bb^\2\u01a7\u01a8"+ - "\5\u00b5[\2\u01a8\u01a9\5\u00c7d\2\u01a9\u01aa\5\u00b7\\\2\u01aa\u01ab"+ - "\5\u00b9]\2\u01ab\u01ac\5\u00c3b\2\u01acx\3\2\2\2\u01ad\u01ae\5\u00af"+ - "X\2\u01ae\u01af\5\u00a9U\2\u01afz\3\2\2\2\u01b0\u01b1\5\u00a7T\2\u01b1"+ - "\u01b2\5\u00cdg\2\u01b2\u01b3\5\u00afX\2\u01b3\u01b4\5\u00c3b\2\u01b4"+ - "\u01b5\5\u00c5c\2\u01b5\u01b6\5\u00c3b\2\u01b6|\3\2\2\2\u01b7\u01b8\5"+ - "\u00a3R\2\u01b8\u01b9\5\u00bb^\2\u01b9\u01ba\5\u00c7d\2\u01ba\u01bb\5"+ - "\u00b9]\2\u01bb\u01bc\5\u00c5c\2\u01bc~\3\2\2\2\u01bd\u01be\5\u00b9]\2"+ - "\u01be\u01bf\5\u00bb^\2\u01bf\u01c0\5\u00c5c\2\u01c0\u0080\3\2\2\2\u01c1"+ - "\u01c2\5\u00b7\\\2\u01c2\u01c3\5\u00a5S\2\u01c3\u01c4\t\3\2\2\u01c4\u0082"+ - "\3\2\2\2\u01c5\u01c6\5\u00b3Z\2\u01c6\u01c7\5\u00a7T\2\u01c7\u01c8\5\u00a7"+ - "T\2\u01c8\u01c9\5\u00bd_\2\u01c9\u01ca\5U+\2\u01ca\u01cb\5\u00a9U\2\u01cb"+ - "\u01cc\5\u00afX\2\u01cc\u01cd\5\u00c1a\2\u01cd\u01ce\5\u00c3b\2\u01ce"+ - "\u01cf\5\u00c5c\2\u01cf\u01d0\5U+\2\u01d0\u01d1\5\u00b9]\2\u01d1\u01d2"+ - "\5U+\2\u01d2\u01d3\5\u00b5[\2\u01d3\u01d4\5\u009fP\2\u01d4\u01d5\5\u00c3"+ - "b\2\u01d5\u01d6\5\u00c5c\2\u01d6\u01d7\5U+\2\u01d7\u01d8\5\u00b7\\\2\u01d8"+ - "\u0084\3\2\2\2\u01d9\u01da\5\u00b3Z\2\u01da\u01db\5\u00a7T\2\u01db\u01dc"+ - "\5\u00a7T\2\u01dc\u01dd\5\u00bd_\2\u01dd\u01de\5U+\2\u01de\u01df\5\u00a9"+ - "U\2\u01df\u01e0\5\u00c1a\2\u01e0\u01e1\5\u00bb^\2\u01e1\u01e2\5\u00b7"+ - "\\\2\u01e2\u01e3\5U+\2\u01e3\u01e4\5\u00cdg\2\u01e4\u01e5\5U+\2\u01e5"+ - "\u01e6\5\u00c5c\2\u01e6\u01e7\5\u00bb^\2\u01e7\u01e8\5U+\2\u01e8\u01e9"+ - "\5\u00cfh\2\u01e9\u0086\3\2\2\2\u01ea\u01eb\5\u00b7\\\2\u01eb\u01ec\5"+ - "\u009fP\2\u01ec\u01ed\5\u00c3b\2\u01ed\u01ee\5\u00b3Z\2\u01ee\u01ef\5"+ - "U+\2\u01ef\u01f0\5\u00a9U\2\u01f0\u01f1\5\u00afX\2\u01f1\u01f2\5\u00c1"+ - "a\2\u01f2\u01f3\5\u00c3b\2\u01f3\u01f4\5\u00c5c\2\u01f4\u01f5\5U+\2\u01f5"+ - "\u01f6\5\u00b9]\2\u01f6\u01f7\5U+\2\u01f7\u01f8\5\u00b5[\2\u01f8\u01f9"+ - "\5\u009fP\2\u01f9\u01fa\5\u00c3b\2\u01fa\u01fb\5\u00c5c\2\u01fb\u01fc"+ - "\5U+\2\u01fc\u01fd\5\u00b7\\\2\u01fd\u0088\3\2\2\2\u01fe\u01ff\5\u00b7"+ - "\\\2\u01ff\u0200\5\u009fP\2\u0200\u0201\5\u00c3b\2\u0201\u0202\5\u00b3"+ - "Z\2\u0202\u0203\5U+\2\u0203\u0204\5\u00a9U\2\u0204\u0205\5\u00c1a\2\u0205"+ - "\u0206\5\u00bb^\2\u0206\u0207\5\u00b7\\\2\u0207\u0208\5U+\2\u0208\u0209"+ - "\5\u00cdg\2\u0209\u020a\5U+\2\u020a\u020b\5\u00c5c\2\u020b\u020c\5\u00bb"+ - "^\2\u020c\u020d\5U+\2\u020d\u020e\5\u00cfh\2\u020e\u008a\3\2\2\2\u020f"+ - "\u0210\5\u00b7\\\2\u0210\u0211\5\u009fP\2\u0211\u0212\5\u00c3b\2\u0212"+ - "\u0213\5\u00b3Z\2\u0213\u0214\5U+\2\u0214\u0215\5\u00a1Q\2\u0215\u0216"+ - "\5\u00a7T\2\u0216\u0217\5\u00a9U\2\u0217\u0218\5\u00bb^\2\u0218\u0219"+ - "\5\u00c1a\2\u0219\u021a\5\u00a7T\2\u021a\u021b\5U+\2\u021b\u021c\5\u00c3"+ - "b\2\u021c\u021d\5\u00bd_\2\u021d\u021e\5\u00a7T\2\u021e\u021f\5\u00a3"+ - "R\2\u021f\u0220\5\u00afX\2\u0220\u0221\5\u009fP\2\u0221\u0222\5\u00b5"+ - "[\2\u0222\u0223\5U+\2\u0223\u0224\5\u00a3R\2\u0224\u0225\5\u00adW\2\u0225"+ - "\u0226\5\u009fP\2\u0226\u0227\5\u00c1a\2\u0227\u0228\5\u00c3b\2\u0228"+ - "\u008c\3\2\2\2\u0229\u022a\5\u00b7\\\2\u022a\u022b\5\u009fP\2\u022b\u022c"+ - "\5\u00c3b\2\u022c\u022d\5\u00b3Z\2\u022d\u022e\5U+\2\u022e\u022f\5\u009f"+ - "P\2\u022f\u0230\5\u00a9U\2\u0230\u0231\5\u00c5c\2\u0231\u0232\5\u00a7"+ - "T\2\u0232\u0233\5\u00c1a\2\u0233\u0234\5U+\2\u0234\u0235\5\u00c3b\2\u0235"+ - "\u0236\5\u00bd_\2\u0236\u0237\5\u00a7T\2\u0237\u0238\5\u00a3R\2\u0238"+ - "\u0239\5\u00afX\2\u0239\u023a\5\u009fP\2\u023a\u023b\5\u00b5[\2\u023b"+ - "\u023c\5U+\2\u023c\u023d\5\u00a3R\2\u023d\u023e\5\u00adW\2\u023e\u023f"+ - "\5\u009fP\2\u023f\u0240\5\u00c1a\2\u0240\u0241\5\u00c3b\2\u0241\u008e"+ - "\3\2\2\2\u0242\u0243\5\u00bd_\2\u0243\u0244\5\u00a7T\2\u0244\u0245\5\u00c1"+ - "a\2\u0245\u0246\5\u00c3b\2\u0246\u0247\5\u00bb^\2\u0247\u0248\5\u00b9"+ - "]\2\u0248\u0249\5\u009fP\2\u0249\u024a\5\u00b5[\2\u024a\u024b\5U+\2\u024b"+ - "\u024c\5\u00afX\2\u024c\u024d\5\u00a5S\2\u024d\u024e\5\u00a7T\2\u024e"+ - "\u024f\5\u00b9]\2\u024f\u0250\5\u00c5c\2\u0250\u0251\5\u00afX\2\u0251"+ - "\u0252\5\u00c5c\2\u0252\u0253\5\u00cfh\2\u0253\u0254\5U+\2\u0254\u0255"+ - "\5\u00b9]\2\u0255\u0256\5\u00c7d\2\u0256\u0257\5\u00b7\\\2\u0257\u0258"+ - "\5\u00a1Q\2\u0258\u0259\5\u00a7T\2\u0259\u025a\5\u00c1a\2\u025a\u025b"+ - "\5U+\2\u025b\u025c\5\u00c1a\2\u025c\u025d\5\u009fP\2\u025d\u025e\5\u00b9"+ - "]\2\u025e\u025f\5\u00a5S\2\u025f\u0260\5\u00bb^\2\u0260\u0261\5\u00b7"+ - "\\\2\u0261\u0262\5U+\2\u0262\u0263\5\u00c1a\2\u0263\u0264\5\u00a7T\2\u0264"+ - "\u0265\5\u00bd_\2\u0265\u0266\5\u00b5[\2\u0266\u0267\5\u009fP\2\u0267"+ - "\u0268\5\u00a3R\2\u0268\u0269\5\u00a7T\2\u0269\u0090\3\2\2\2\u026a\u026b"+ - "\5\u00b7\\\2\u026b\u026c\5\u00afX\2\u026c\u026d\5\u00b5[\2\u026d\u026e"+ - "\5\u00afX\2\u026e\u026f\5\u00c5c\2\u026f\u0270\5\u009fP\2\u0270\u0271"+ - "\5\u00c1a\2\u0271\u0272\5\u00cfh\2\u0272\u0273\5U+\2\u0273\u0274\5\u00af"+ - "X\2\u0274\u0275\5\u00a5S\2\u0275\u0276\5\u00a7T\2\u0276\u0277\5\u00b9"+ - "]\2\u0277\u0278\5\u00c5c\2\u0278\u0279\5\u00afX\2\u0279\u027a\5\u00c5"+ - "c\2\u027a\u027b\5\u00cfh\2\u027b\u027c\5U+\2\u027c\u027d\5\u00b9]\2\u027d"+ - "\u027e\5\u00c7d\2\u027e\u027f\5\u00b7\\\2\u027f\u0280\5\u00a1Q\2\u0280"+ - "\u0281\5\u00a7T\2\u0281\u0282\5\u00c1a\2\u0282\u0283\5U+\2\u0283\u0284"+ - "\5\u00c1a\2\u0284\u0285\5\u009fP\2\u0285\u0286\5\u00b9]\2\u0286\u0287"+ - "\5\u00a5S\2\u0287\u0288\5\u00bb^\2\u0288\u0289\5\u00b7\\\2\u0289\u028a"+ - "\5U+\2\u028a\u028b\5\u00c1a\2\u028b\u028c\5\u00a7T\2\u028c\u028d\5\u00bd"+ - "_\2\u028d\u028e\5\u00b5[\2\u028e\u028f\5\u009fP\2\u028f\u0290\5\u00a3"+ - "R\2\u0290\u0291\5\u00a7T\2\u0291\u0092\3\2\2\2\u0292\u0293\5\u00b5[\2"+ - "\u0293\u0294\5\u009fP\2\u0294\u0295\5\u00b9]\2\u0295\u0296\5\u00a5S\2"+ - "\u0296\u0297\5\u00b5[\2\u0297\u0298\5\u00afX\2\u0298\u0299\5\u00b9]\2"+ - "\u0299\u029a\5\u00a7T\2\u029a\u029b\5U+\2\u029b\u029c\5\u00b9]\2\u029c"+ - "\u029d\5\u00c7d\2\u029d\u029e\5\u00b7\\\2\u029e\u029f\5\u00a1Q\2\u029f"+ - "\u02a0\5\u00a7T\2\u02a0\u02a1\5\u00c1a\2\u02a1\u02a2\5U+\2\u02a2\u02a3"+ - "\5\u00c1a\2\u02a3\u02a4\5\u009fP\2\u02a4\u02a5\5\u00b9]\2\u02a5\u02a6"+ - "\5\u00a5S\2\u02a6\u02a7\5\u00bb^\2\u02a7\u02a8\5\u00b7\\\2\u02a8\u02a9"+ - "\5U+\2\u02a9\u02aa\5\u00c1a\2\u02aa\u02ab\5\u00a7T\2\u02ab\u02ac\5\u00bd"+ - "_\2\u02ac\u02ad\5\u00b5[\2\u02ad\u02ae\5\u009fP\2\u02ae\u02af\5\u00a3"+ - "R\2\u02af\u02b0\5\u00a7T\2\u02b0\u0094\3\2\2\2\u02b1\u02b2\5\u00c5c\2"+ - "\u02b2\u02b3\5\u00a7T\2\u02b3\u02b4\5\u00b5[\2\u02b4\u02b5\5\u00a7T\2"+ - "\u02b5\u02b6\5\u00bd_\2\u02b6\u02b7\5\u00adW\2\u02b7\u02b8\5\u00bb^\2"+ - "\u02b8\u02b9\5\u00b9]\2\u02b9\u02ba\5\u00a7T\2\u02ba\u02bb\5U+\2\u02bb"+ - "\u02bc\5\u00c1a\2\u02bc\u02bd\5\u009fP\2\u02bd\u02be\5\u00b9]\2\u02be"+ - "\u02bf\5\u00a5S\2\u02bf\u02c0\5\u00bb^\2\u02c0\u02c1\5\u00b7\\\2\u02c1"+ - "\u02c2\5U+\2\u02c2\u02c3\5\u00c1a\2\u02c3\u02c4\5\u00a7T\2\u02c4\u02c5"+ - "\5\u00bd_\2\u02c5\u02c6\5\u00b5[\2\u02c6\u02c7\5\u009fP\2\u02c7\u02c8"+ - "\5\u00a3R\2\u02c8\u02c9\5\u00a7T\2\u02c9\u0096\3\2\2\2\u02ca\u02cb\5\u00c7"+ - "d\2\u02cb\u02cc\5\u00b9]\2\u02cc\u02cd\5\u00afX\2\u02cd\u02ce\5\u00a9"+ - "U\2\u02ce\u02cf\5\u00afX\2\u02cf\u02d0\5\u00a7T\2\u02d0\u02d1\5\u00a5"+ - "S\2\u02d1\u02d2\5U+\2\u02d2\u02d3\5\u00a3R\2\u02d3\u02d4\5\u00c1a\2\u02d4"+ - "\u02d5\5\u00a7T\2\u02d5\u02d6\5\u00a5S\2\u02d6\u02d7\5\u00afX\2\u02d7"+ - "\u02d8\5\u00c5c\2\u02d8\u02d9\5U+\2\u02d9\u02da\5\u00a3R\2\u02da\u02db"+ - "\5\u00bb^\2\u02db\u02dc\5\u00a5S\2\u02dc\u02dd\5\u00a7T\2\u02dd\u02de"+ - "\5U+\2\u02de\u02df\5\u00c1a\2\u02df\u02e0\5\u009fP\2\u02e0\u02e1\5\u00b9"+ - "]\2\u02e1\u02e2\5\u00a5S\2\u02e2\u02e3\5\u00bb^\2\u02e3\u02e4\5\u00b7"+ - "\\\2\u02e4\u02e5\5U+\2\u02e5\u02e6\5\u00c1a\2\u02e6\u02e7\5\u00a7T\2\u02e7"+ - "\u02e8\5\u00bd_\2\u02e8\u02e9\5\u00b5[\2\u02e9\u02ea\5\u009fP\2\u02ea"+ - "\u02eb\5\u00a3R\2\u02eb\u02ec\5\u00a7T\2\u02ec\u0098\3\2\2\2\u02ed\u02ee"+ - "\5\u00abV\2\u02ee\u02ef\5\u00a7T\2\u02ef\u02f0\5\u00b9]\2\u02f0\u02f1"+ - "\5\u00a7T\2\u02f1\u02f2\5\u00c1a\2\u02f2\u02f3\5\u00afX\2\u02f3\u02f4"+ - "\5\u00a3R\2\u02f4\u02f5\5U+\2\u02f5\u02f6\5\u00c5c\2\u02f6\u02f7\5\u009f"+ - "P\2\u02f7\u02f8\5\u00a1Q\2\u02f8\u02f9\5\u00b5[\2\u02f9\u02fa\5\u00a7"+ - "T\2\u02fa\u02fb\5U+\2\u02fb\u02fc\5\u00c1a\2\u02fc\u02fd\5\u009fP\2\u02fd"+ - "\u02fe\5\u00b9]\2\u02fe\u02ff\5\u00a5S\2\u02ff\u0300\5\u00bb^\2\u0300"+ - "\u0301\5\u00b7\\\2\u0301\u0302\5U+\2\u0302\u0303\5\u00c1a\2\u0303\u0304"+ - "\5\u00a7T\2\u0304\u0305\5\u00bd_\2\u0305\u0306\5\u00b5[\2\u0306\u0307"+ - "\5\u009fP\2\u0307\u0308\5\u00a3R\2\u0308\u0309\5\u00a7T\2\u0309\u009a"+ - "\3\2\2\2\u030a\u030b\5\u009fP\2\u030b\u030c\5\u00a5S\2\u030c\u030d\5\u00a5"+ - "S\2\u030d\u030e\5\u00c1a\2\u030e\u030f\5\u00a7T\2\u030f\u0310\5\u00c3"+ - "b\2\u0310\u0311\5\u00c3b\2\u0311\u0312\5U+\2\u0312\u0313\5\u00c1a\2\u0313"+ - "\u0314\5\u009fP\2\u0314\u0315\5\u00b9]\2\u0315\u0316\5\u00a5S\2\u0316"+ - "\u0317\5\u00bb^\2\u0317\u0318\5\u00b7\\\2\u0318\u0319\5U+\2\u0319\u031a"+ - "\5\u00c1a\2\u031a\u031b\5\u00a7T\2\u031b\u031c\5\u00bd_\2\u031c\u031d"+ - "\5\u00b5[\2\u031d\u031e\5\u009fP\2\u031e\u031f\5\u00a3R\2\u031f\u0320"+ - "\5\u00a7T\2\u0320\u009c\3\2\2\2\u0321\u0322\7F\2\2\u0322\u0323\7Q\2\2"+ - "\u0323\u0324\7\"\2\2\u0324\u0325\7P\2\2\u0325\u0326\7Q\2\2\u0326\u0327"+ - "\7V\2\2\u0327\u0328\7\"\2\2\u0328\u0329\7O\2\2\u0329\u032a\7C\2\2\u032a"+ - "\u032b\7V\2\2\u032b\u032c\7E\2\2\u032c\u032d\7J\2\2\u032d\u032e\7\"\2"+ - "\2\u032e\u032f\7C\2\2\u032f\u0330\7P\2\2\u0330\u0331\7[\2\2\u0331\u0332"+ - "\7\"\2\2\u0332\u0333\7V\2\2\u0333\u0334\7J\2\2\u0334\u0335\7K\2\2\u0335"+ - "\u0336\7P\2\2\u0336\u0337\7I\2\2\u0337\u0338\7.\2\2\u0338\u0339\7\"\2"+ - "\2\u0339\u033a\7L\2\2\u033a\u033b\7W\2\2\u033b\u033c\7U\2\2\u033c\u033d"+ - "\7V\2\2\u033d\u033e\7\"\2\2\u033e\u033f\7H\2\2\u033f\u0340\7Q\2\2\u0340"+ - "\u0341\7T\2\2\u0341\u0342\7\"\2\2\u0342\u0343\7I\2\2\u0343\u0344\7G\2"+ - "\2\u0344\u0345\7P\2\2\u0345\u0346\7G\2\2\u0346\u0347\7T\2\2\u0347\u0348"+ - "\7C\2\2\u0348\u0349\7V\2\2\u0349\u034a\7Q\2\2\u034a\u034b\7T\2\2\u034b"+ - "\u009e\3\2\2\2\u034c\u034d\t\4\2\2\u034d\u00a0\3\2\2\2\u034e\u034f\t\5"+ - "\2\2\u034f\u00a2\3\2\2\2\u0350\u0351\t\6\2\2\u0351\u00a4\3\2\2\2\u0352"+ - "\u0353\t\7\2\2\u0353\u00a6\3\2\2\2\u0354\u0355\t\b\2\2\u0355\u00a8\3\2"+ - "\2\2\u0356\u0357\t\t\2\2\u0357\u00aa\3\2\2\2\u0358\u0359\t\n\2\2\u0359"+ - "\u00ac\3\2\2\2\u035a\u035b\t\13\2\2\u035b\u00ae\3\2\2\2\u035c\u035d\t"+ - "\f\2\2\u035d\u00b0\3\2\2\2\u035e\u035f\t\r\2\2\u035f\u00b2\3\2\2\2\u0360"+ - "\u0361\t\16\2\2\u0361\u00b4\3\2\2\2\u0362\u0363\t\17\2\2\u0363\u00b6\3"+ - "\2\2\2\u0364\u0365\t\20\2\2\u0365\u00b8\3\2\2\2\u0366\u0367\t\21\2\2\u0367"+ - "\u00ba\3\2\2\2\u0368\u0369\t\22\2\2\u0369\u00bc\3\2\2\2\u036a\u036b\t"+ - "\23\2\2\u036b\u00be\3\2\2\2\u036c\u036d\t\24\2\2\u036d\u00c0\3\2\2\2\u036e"+ - "\u036f\t\25\2\2\u036f\u00c2\3\2\2\2\u0370\u0371\t\26\2\2\u0371\u00c4\3"+ - "\2\2\2\u0372\u0373\t\27\2\2\u0373\u00c6\3\2\2\2\u0374\u0375\t\30\2\2\u0375"+ - "\u00c8\3\2\2\2\u0376\u0377\t\31\2\2\u0377\u00ca\3\2\2\2\u0378\u0379\t"+ - "\32\2\2\u0379\u00cc\3\2\2\2\u037a\u037b\t\33\2\2\u037b\u00ce\3\2\2\2\u037c"+ - "\u037d\t\34\2\2\u037d\u00d0\3\2\2\2\u037e\u037f\t\35\2\2\u037f\u00d2\3"+ - "\2\2\2\u0380\u0382\t\36\2\2\u0381\u0380\3\2\2\2\u0382\u0385\3\2\2\2\u0383"+ - "\u0384\3\2\2\2\u0383\u0381\3\2\2\2\u0384\u0387\3\2\2\2\u0385\u0383\3\2"+ - "\2\2\u0386\u0388\t\37\2\2\u0387\u0386\3\2\2\2\u0388\u0389\3\2\2\2\u0389"+ - "\u038a\3\2\2\2\u0389\u0387\3\2\2\2\u038a\u038e\3\2\2\2\u038b\u038d\t\36"+ - "\2\2\u038c\u038b\3\2\2\2\u038d\u0390\3\2\2\2\u038e\u038c\3\2\2\2\u038e"+ - "\u038f\3\2\2\2\u038f\u039a\3\2\2\2\u0390\u038e\3\2\2\2\u0391\u0393\5K"+ - "&\2\u0392\u0394\n \2\2\u0393\u0392\3\2\2\2\u0394\u0395\3\2\2\2\u0395\u0393"+ - "\3\2\2\2\u0395\u0396\3\2\2\2\u0396\u0397\3\2\2\2\u0397\u0398\5K&\2\u0398"+ - "\u039a\3\2\2\2\u0399\u0383\3\2\2\2\u0399\u0391\3\2\2\2\u039a\u00d4\3\2"+ - "\2\2\u039b\u03a3\5G$\2\u039c\u039d\7^\2\2\u039d\u03a2\13\2\2\2\u039e\u039f"+ - "\7$\2\2\u039f\u03a2\7$\2\2\u03a0\u03a2\n!\2\2\u03a1\u039c\3\2\2\2\u03a1"+ - "\u039e\3\2\2\2\u03a1\u03a0\3\2\2\2\u03a2\u03a5\3\2\2\2\u03a3\u03a1\3\2"+ - "\2\2\u03a3\u03a4\3\2\2\2\u03a4\u03a6\3\2\2\2\u03a5\u03a3\3\2\2\2\u03a6"+ - "\u03a7\5G$\2\u03a7\u03b6\3\2\2\2\u03a8\u03b0\5I%\2\u03a9\u03aa\7^\2\2"+ - "\u03aa\u03af\13\2\2\2\u03ab\u03ac\7)\2\2\u03ac\u03af\7)\2\2\u03ad\u03af"+ - "\n\"\2\2\u03ae\u03a9\3\2\2\2\u03ae\u03ab\3\2\2\2\u03ae\u03ad\3\2\2\2\u03af"+ - "\u03b2\3\2\2\2\u03b0\u03ae\3\2\2\2\u03b0\u03b1\3\2\2\2\u03b1\u03b3\3\2"+ - "\2\2\u03b2\u03b0\3\2\2\2\u03b3\u03b4\5I%\2\u03b4\u03b6\3\2\2\2\u03b5\u039b"+ - "\3\2\2\2\u03b5\u03a8\3\2\2\2\u03b6\u00d6\3\2\2\2\u03b7\u03b9\t#\2\2\u03b8"+ - "\u03b7\3\2\2\2\u03b9\u03ba\3\2\2\2\u03ba\u03b8\3\2\2\2\u03ba\u03bb\3\2"+ - "\2\2\u03bb\u00d8\3\2\2\2\u03bc\u03bd\t$\2\2\u03bd\u00da\3\2\2\2\u03be"+ - "\u03c0\5\u00d7l\2\u03bf\u03be\3\2\2\2\u03bf\u03c0\3\2\2\2\u03c0\u03c2"+ - "\3\2\2\2\u03c1\u03c3\5#\22\2\u03c2\u03c1\3\2\2\2\u03c2\u03c3\3\2\2\2\u03c3"+ - "\u03c4\3\2\2\2\u03c4\u03cc\5\u00d7l\2\u03c5\u03c8\5\u00a7T\2\u03c6\u03c9"+ - "\5\31\r\2\u03c7\u03c9\5\33\16\2\u03c8\u03c6\3\2\2\2\u03c8\u03c7\3\2\2"+ - "\2\u03c8\u03c9\3\2\2\2\u03c9\u03ca\3\2\2\2\u03ca\u03cb\5\u00d7l\2\u03cb"+ - "\u03cd\3\2\2\2\u03cc\u03c5\3\2\2\2\u03cc\u03cd\3\2\2\2\u03cd\u00dc\3\2"+ - "\2\2\u03ce\u03cf\7\62\2\2\u03cf\u03d0\7z\2\2\u03d0\u03d2\3\2\2\2\u03d1"+ - "\u03d3\5\u00d9m\2\u03d2\u03d1\3\2\2\2\u03d3\u03d4\3\2\2\2\u03d4\u03d2"+ - "\3\2\2\2\u03d4\u03d5\3\2\2\2\u03d5\u03e0\3\2\2\2\u03d6\u03d7\7Z\2\2\u03d7"+ - "\u03d9\5I%\2\u03d8\u03da\5\u00d9m\2\u03d9\u03d8\3\2\2\2\u03da\u03db\3"+ - "\2\2\2\u03db\u03d9\3\2\2\2\u03db\u03dc\3\2\2\2\u03dc\u03dd\3\2\2\2\u03dd"+ - "\u03de\5I%\2\u03de\u03e0\3\2\2\2\u03df\u03ce\3\2\2\2\u03df\u03d6\3\2\2"+ - "\2\u03e0\u00de\3\2\2\2\u03e1\u03e2\7\62\2\2\u03e2\u03e3\7d\2\2\u03e3\u03e5"+ - "\3\2\2\2\u03e4\u03e6\4\62\63\2\u03e5\u03e4\3\2\2\2\u03e6\u03e7\3\2\2\2"+ - "\u03e7\u03e5\3\2\2\2\u03e7\u03e8\3\2\2\2\u03e8\u03f3\3\2\2\2\u03e9\u03ea"+ - "\5\u00a1Q\2\u03ea\u03ec\5I%\2\u03eb\u03ed\4\62\63\2\u03ec\u03eb\3\2\2"+ - "\2\u03ed\u03ee\3\2\2\2\u03ee\u03ec\3\2\2\2\u03ee\u03ef\3\2\2\2\u03ef\u03f0"+ - "\3\2\2\2\u03f0\u03f1\5I%\2\u03f1\u03f3\3\2\2\2\u03f2\u03e1\3\2\2\2\u03f2"+ - "\u03e9\3\2\2\2\u03f3\u00e0\3\2\2\2\32\2\u0117\u0148\u0383\u0389\u038e"+ - "\u0395\u0399\u03a1\u03a3\u03ae\u03b0\u03b5\u03ba\u03bf\u03c2\u03c8\u03cc"+ - "\u03d4\u03db\u03df\u03e7\u03ee\u03f2\3\b\2\2"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleLexer.tokens b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleLexer.tokens deleted file mode 100644 index 8f82b7ee..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleLexer.tokens +++ /dev/null @@ -1,127 +0,0 @@ -AND_=1 -OR_=2 -NOT_=3 -TILDE_=4 -VERTICALBAR_=5 -AMPERSAND_=6 -SIGNEDLEFTSHIFT_=7 -SIGNEDRIGHTSHIFT_=8 -CARET_=9 -MOD_=10 -COLON_=11 -PLUS_=12 -MINUS_=13 -ASTERISK_=14 -SLASH_=15 -BACKSLASH_=16 -DOT_=17 -DOTASTERISK_=18 -SAFEEQ_=19 -DEQ_=20 -EQ_=21 -NEQ_=22 -GT_=23 -GTE_=24 -LT_=25 -LTE_=26 -POUND_=27 -LP_=28 -RP_=29 -LBE_=30 -RBE_=31 -LBT_=32 -RBT_=33 -COMMA_=34 -DQ_=35 -SQ_=36 -BQ_=37 -QUESTION_=38 -AT_=39 -SEMI_=40 -JSONSEPARATOR_=41 -UL_=42 -WS=43 -TRUE=44 -FALSE=45 -CREATE=46 -ALTER=47 -DROP=48 -SHOW=49 -RULE=50 -FROM=51 -MASK=52 -TYPE=53 -NAME=54 -PROPERTIES=55 -COLUMN=56 -RULES=57 -TABLE=58 -COLUMNS=59 -IF=60 -EXISTS=61 -COUNT=62 -NOT=63 -MD5=64 -KEEP_FIRST_N_LAST_M=65 -KEEP_FROM_X_TO_Y=66 -MASK_FIRST_N_LAST_M=67 -MASK_FROM_X_TO_Y=68 -MASK_BEFORE_SPECIAL_CHARS=69 -MASK_AFTER_SPECIAL_CHARS=70 -PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE=71 -MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE=72 -LANDLINE_NUMBER_RANDOM_REPLACE=73 -TELEPHONE_RANDOM_REPLACE=74 -UNIFIED_CREDIT_CODE_RANDOM_REPLACE=75 -GENERIC_TABLE_RANDOM_REPLACE=76 -ADDRESS_RANDOM_REPLACE=77 -FOR_GENERATOR=78 -IDENTIFIER_=79 -STRING_=80 -INT_=81 -HEX_=82 -NUMBER_=83 -HEXDIGIT_=84 -BITNUM_=85 -'&&'=1 -'||'=2 -'!'=3 -'~'=4 -'|'=5 -'&'=6 -'<<'=7 -'>>'=8 -'^'=9 -'%'=10 -':'=11 -'+'=12 -'-'=13 -'*'=14 -'/'=15 -'\\'=16 -'.'=17 -'.*'=18 -'<=>'=19 -'=='=20 -'='=21 -'>'=23 -'>='=24 -'<'=25 -'<='=26 -'#'=27 -'('=28 -')'=29 -'{'=30 -'}'=31 -'['=32 -']'=33 -','=34 -'"'=35 -'\''=36 -'`'=37 -'?'=38 -'@'=39 -';'=40 -'->>'=41 -'_'=42 -'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=78 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleParser.java b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleParser.java deleted file mode 100644 index 00b014fd..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/BaseRuleParser.java +++ /dev/null @@ -1,572 +0,0 @@ -// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/mask/BaseRule.g4 by ANTLR 4.9.2 -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.misc.*; -import org.antlr.v4.runtime.tree.*; -import java.util.List; -import java.util.Iterator; -import java.util.ArrayList; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class BaseRuleParser extends Parser { - static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, - SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, - ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, - DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, - LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, - SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, - WS=43, TRUE=44, FALSE=45, CREATE=46, ALTER=47, DROP=48, SHOW=49, RULE=50, - FROM=51, MASK=52, TYPE=53, NAME=54, PROPERTIES=55, COLUMN=56, RULES=57, - TABLE=58, COLUMNS=59, IF=60, EXISTS=61, COUNT=62, NOT=63, MD5=64, KEEP_FIRST_N_LAST_M=65, - KEEP_FROM_X_TO_Y=66, MASK_FIRST_N_LAST_M=67, MASK_FROM_X_TO_Y=68, MASK_BEFORE_SPECIAL_CHARS=69, - MASK_AFTER_SPECIAL_CHARS=70, PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE=71, - MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE=72, LANDLINE_NUMBER_RANDOM_REPLACE=73, - TELEPHONE_RANDOM_REPLACE=74, UNIFIED_CREDIT_CODE_RANDOM_REPLACE=75, GENERIC_TABLE_RANDOM_REPLACE=76, - ADDRESS_RANDOM_REPLACE=77, FOR_GENERATOR=78, IDENTIFIER_=79, STRING_=80, - INT_=81, HEX_=82, NUMBER_=83, HEXDIGIT_=84, BITNUM_=85; - public static final int - RULE_literal = 0, RULE_algorithmDefinition = 1, RULE_algorithmTypeName = 2, - RULE_buildInMaskAlgorithmType = 3, RULE_propertiesDefinition = 4, RULE_properties = 5, - RULE_property = 6, RULE_ruleName = 7; - private static String[] makeRuleNames() { - return new String[] { - "literal", "algorithmDefinition", "algorithmTypeName", "buildInMaskAlgorithmType", - "propertiesDefinition", "properties", "property", "ruleName" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", - "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", - "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", - "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", - "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", - "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", - "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", - "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", - "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", - "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", - "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", "FROM", "MASK", "TYPE", - "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", "COLUMNS", "IF", "EXISTS", - "COUNT", "NOT", "MD5", "KEEP_FIRST_N_LAST_M", "KEEP_FROM_X_TO_Y", "MASK_FIRST_N_LAST_M", - "MASK_FROM_X_TO_Y", "MASK_BEFORE_SPECIAL_CHARS", "MASK_AFTER_SPECIAL_CHARS", - "PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE", "MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE", - "LANDLINE_NUMBER_RANDOM_REPLACE", "TELEPHONE_RANDOM_REPLACE", "UNIFIED_CREDIT_CODE_RANDOM_REPLACE", - "GENERIC_TABLE_RANDOM_REPLACE", "ADDRESS_RANDOM_REPLACE", "FOR_GENERATOR", - "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - @Override - public String getGrammarFileName() { return "BaseRule.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public ATN getATN() { return _ATN; } - - public BaseRuleParser(TokenStream input) { - super(input); - _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - public static class LiteralContext extends ParserRuleContext { - public TerminalNode STRING_() { return getToken(BaseRuleParser.STRING_, 0); } - public TerminalNode INT_() { return getToken(BaseRuleParser.INT_, 0); } - public TerminalNode MINUS_() { return getToken(BaseRuleParser.MINUS_, 0); } - public TerminalNode TRUE() { return getToken(BaseRuleParser.TRUE, 0); } - public TerminalNode FALSE() { return getToken(BaseRuleParser.FALSE, 0); } - public LiteralContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_literal; } - } - - public final LiteralContext literal() throws RecognitionException { - LiteralContext _localctx = new LiteralContext(_ctx, getState()); - enterRule(_localctx, 0, RULE_literal); - int _la; - try { - setState(23); - _errHandler.sync(this); - switch (_input.LA(1)) { - case STRING_: - enterOuterAlt(_localctx, 1); - { - setState(16); - match(STRING_); - } - break; - case MINUS_: - case INT_: - enterOuterAlt(_localctx, 2); - { - setState(18); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==MINUS_) { - { - setState(17); - match(MINUS_); - } - } - - setState(20); - match(INT_); - } - break; - case TRUE: - enterOuterAlt(_localctx, 3); - { - setState(21); - match(TRUE); - } - break; - case FALSE: - enterOuterAlt(_localctx, 4); - { - setState(22); - match(FALSE); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AlgorithmDefinitionContext extends ParserRuleContext { - public TerminalNode TYPE() { return getToken(BaseRuleParser.TYPE, 0); } - public TerminalNode LP_() { return getToken(BaseRuleParser.LP_, 0); } - public TerminalNode NAME() { return getToken(BaseRuleParser.NAME, 0); } - public TerminalNode EQ_() { return getToken(BaseRuleParser.EQ_, 0); } - public AlgorithmTypeNameContext algorithmTypeName() { - return getRuleContext(AlgorithmTypeNameContext.class,0); - } - public TerminalNode RP_() { return getToken(BaseRuleParser.RP_, 0); } - public TerminalNode COMMA_() { return getToken(BaseRuleParser.COMMA_, 0); } - public PropertiesDefinitionContext propertiesDefinition() { - return getRuleContext(PropertiesDefinitionContext.class,0); - } - public AlgorithmDefinitionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_algorithmDefinition; } - } - - public final AlgorithmDefinitionContext algorithmDefinition() throws RecognitionException { - AlgorithmDefinitionContext _localctx = new AlgorithmDefinitionContext(_ctx, getState()); - enterRule(_localctx, 2, RULE_algorithmDefinition); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(25); - match(TYPE); - setState(26); - match(LP_); - setState(27); - match(NAME); - setState(28); - match(EQ_); - setState(29); - algorithmTypeName(); - setState(32); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==COMMA_) { - { - setState(30); - match(COMMA_); - setState(31); - propertiesDefinition(); - } - } - - setState(34); - match(RP_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AlgorithmTypeNameContext extends ParserRuleContext { - public TerminalNode STRING_() { return getToken(BaseRuleParser.STRING_, 0); } - public BuildInMaskAlgorithmTypeContext buildInMaskAlgorithmType() { - return getRuleContext(BuildInMaskAlgorithmTypeContext.class,0); - } - public AlgorithmTypeNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_algorithmTypeName; } - } - - public final AlgorithmTypeNameContext algorithmTypeName() throws RecognitionException { - AlgorithmTypeNameContext _localctx = new AlgorithmTypeNameContext(_ctx, getState()); - enterRule(_localctx, 4, RULE_algorithmTypeName); - try { - setState(38); - _errHandler.sync(this); - switch (_input.LA(1)) { - case STRING_: - enterOuterAlt(_localctx, 1); - { - setState(36); - match(STRING_); - } - break; - case MD5: - case KEEP_FIRST_N_LAST_M: - case KEEP_FROM_X_TO_Y: - case MASK_FIRST_N_LAST_M: - case MASK_FROM_X_TO_Y: - case MASK_BEFORE_SPECIAL_CHARS: - case MASK_AFTER_SPECIAL_CHARS: - case PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE: - case MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE: - case LANDLINE_NUMBER_RANDOM_REPLACE: - case TELEPHONE_RANDOM_REPLACE: - case UNIFIED_CREDIT_CODE_RANDOM_REPLACE: - case GENERIC_TABLE_RANDOM_REPLACE: - enterOuterAlt(_localctx, 2); - { - setState(37); - buildInMaskAlgorithmType(); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class BuildInMaskAlgorithmTypeContext extends ParserRuleContext { - public TerminalNode MD5() { return getToken(BaseRuleParser.MD5, 0); } - public TerminalNode KEEP_FIRST_N_LAST_M() { return getToken(BaseRuleParser.KEEP_FIRST_N_LAST_M, 0); } - public TerminalNode KEEP_FROM_X_TO_Y() { return getToken(BaseRuleParser.KEEP_FROM_X_TO_Y, 0); } - public TerminalNode MASK_FIRST_N_LAST_M() { return getToken(BaseRuleParser.MASK_FIRST_N_LAST_M, 0); } - public TerminalNode MASK_FROM_X_TO_Y() { return getToken(BaseRuleParser.MASK_FROM_X_TO_Y, 0); } - public TerminalNode MASK_BEFORE_SPECIAL_CHARS() { return getToken(BaseRuleParser.MASK_BEFORE_SPECIAL_CHARS, 0); } - public TerminalNode MASK_AFTER_SPECIAL_CHARS() { return getToken(BaseRuleParser.MASK_AFTER_SPECIAL_CHARS, 0); } - public TerminalNode PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE() { return getToken(BaseRuleParser.PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE, 0); } - public TerminalNode MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE() { return getToken(BaseRuleParser.MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE, 0); } - public TerminalNode LANDLINE_NUMBER_RANDOM_REPLACE() { return getToken(BaseRuleParser.LANDLINE_NUMBER_RANDOM_REPLACE, 0); } - public TerminalNode TELEPHONE_RANDOM_REPLACE() { return getToken(BaseRuleParser.TELEPHONE_RANDOM_REPLACE, 0); } - public TerminalNode UNIFIED_CREDIT_CODE_RANDOM_REPLACE() { return getToken(BaseRuleParser.UNIFIED_CREDIT_CODE_RANDOM_REPLACE, 0); } - public TerminalNode GENERIC_TABLE_RANDOM_REPLACE() { return getToken(BaseRuleParser.GENERIC_TABLE_RANDOM_REPLACE, 0); } - public BuildInMaskAlgorithmTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_buildInMaskAlgorithmType; } - } - - public final BuildInMaskAlgorithmTypeContext buildInMaskAlgorithmType() throws RecognitionException { - BuildInMaskAlgorithmTypeContext _localctx = new BuildInMaskAlgorithmTypeContext(_ctx, getState()); - enterRule(_localctx, 6, RULE_buildInMaskAlgorithmType); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(40); - _la = _input.LA(1); - if ( !(((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (MD5 - 64)) | (1L << (KEEP_FIRST_N_LAST_M - 64)) | (1L << (KEEP_FROM_X_TO_Y - 64)) | (1L << (MASK_FIRST_N_LAST_M - 64)) | (1L << (MASK_FROM_X_TO_Y - 64)) | (1L << (MASK_BEFORE_SPECIAL_CHARS - 64)) | (1L << (MASK_AFTER_SPECIAL_CHARS - 64)) | (1L << (PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE - 64)) | (1L << (MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE - 64)) | (1L << (LANDLINE_NUMBER_RANDOM_REPLACE - 64)) | (1L << (TELEPHONE_RANDOM_REPLACE - 64)) | (1L << (UNIFIED_CREDIT_CODE_RANDOM_REPLACE - 64)) | (1L << (GENERIC_TABLE_RANDOM_REPLACE - 64)))) != 0)) ) { - _errHandler.recoverInline(this); - } - else { - if ( _input.LA(1)==Token.EOF ) matchedEOF = true; - _errHandler.reportMatch(this); - consume(); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PropertiesDefinitionContext extends ParserRuleContext { - public TerminalNode PROPERTIES() { return getToken(BaseRuleParser.PROPERTIES, 0); } - public TerminalNode LP_() { return getToken(BaseRuleParser.LP_, 0); } - public TerminalNode RP_() { return getToken(BaseRuleParser.RP_, 0); } - public PropertiesContext properties() { - return getRuleContext(PropertiesContext.class,0); - } - public PropertiesDefinitionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_propertiesDefinition; } - } - - public final PropertiesDefinitionContext propertiesDefinition() throws RecognitionException { - PropertiesDefinitionContext _localctx = new PropertiesDefinitionContext(_ctx, getState()); - enterRule(_localctx, 8, RULE_propertiesDefinition); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(42); - match(PROPERTIES); - setState(43); - match(LP_); - setState(45); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==STRING_) { - { - setState(44); - properties(); - } - } - - setState(47); - match(RP_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PropertiesContext extends ParserRuleContext { - public List property() { - return getRuleContexts(PropertyContext.class); - } - public PropertyContext property(int i) { - return getRuleContext(PropertyContext.class,i); - } - public List COMMA_() { return getTokens(BaseRuleParser.COMMA_); } - public TerminalNode COMMA_(int i) { - return getToken(BaseRuleParser.COMMA_, i); - } - public PropertiesContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_properties; } - } - - public final PropertiesContext properties() throws RecognitionException { - PropertiesContext _localctx = new PropertiesContext(_ctx, getState()); - enterRule(_localctx, 10, RULE_properties); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(49); - property(); - setState(54); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA_) { - { - { - setState(50); - match(COMMA_); - setState(51); - property(); - } - } - setState(56); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PropertyContext extends ParserRuleContext { - public Token key; - public LiteralContext value; - public TerminalNode EQ_() { return getToken(BaseRuleParser.EQ_, 0); } - public TerminalNode STRING_() { return getToken(BaseRuleParser.STRING_, 0); } - public LiteralContext literal() { - return getRuleContext(LiteralContext.class,0); - } - public PropertyContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_property; } - } - - public final PropertyContext property() throws RecognitionException { - PropertyContext _localctx = new PropertyContext(_ctx, getState()); - enterRule(_localctx, 12, RULE_property); - try { - enterOuterAlt(_localctx, 1); - { - setState(57); - ((PropertyContext)_localctx).key = match(STRING_); - setState(58); - match(EQ_); - setState(59); - ((PropertyContext)_localctx).value = literal(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class RuleNameContext extends ParserRuleContext { - public TerminalNode IDENTIFIER_() { return getToken(BaseRuleParser.IDENTIFIER_, 0); } - public RuleNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_ruleName; } - } - - public final RuleNameContext ruleName() throws RecognitionException { - RuleNameContext _localctx = new RuleNameContext(_ctx, getState()); - enterRule(_localctx, 14, RULE_ruleName); - try { - enterOuterAlt(_localctx, 1); - { - setState(61); - match(IDENTIFIER_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3WB\4\2\t\2\4\3\t\3"+ - "\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\3\2\3\2\5\2\25\n\2\3"+ - "\2\3\2\3\2\5\2\32\n\2\3\3\3\3\3\3\3\3\3\3\3\3\3\3\5\3#\n\3\3\3\3\3\3\4"+ - "\3\4\5\4)\n\4\3\5\3\5\3\6\3\6\3\6\5\6\60\n\6\3\6\3\6\3\7\3\7\3\7\7\7\67"+ - "\n\7\f\7\16\7:\13\7\3\b\3\b\3\b\3\b\3\t\3\t\3\t\2\2\n\2\4\6\b\n\f\16\20"+ - "\2\3\3\2BN\2A\2\31\3\2\2\2\4\33\3\2\2\2\6(\3\2\2\2\b*\3\2\2\2\n,\3\2\2"+ - "\2\f\63\3\2\2\2\16;\3\2\2\2\20?\3\2\2\2\22\32\7R\2\2\23\25\7\17\2\2\24"+ - "\23\3\2\2\2\24\25\3\2\2\2\25\26\3\2\2\2\26\32\7S\2\2\27\32\7.\2\2\30\32"+ - "\7/\2\2\31\22\3\2\2\2\31\24\3\2\2\2\31\27\3\2\2\2\31\30\3\2\2\2\32\3\3"+ - "\2\2\2\33\34\7\67\2\2\34\35\7\36\2\2\35\36\78\2\2\36\37\7\27\2\2\37\""+ - "\5\6\4\2 !\7$\2\2!#\5\n\6\2\" \3\2\2\2\"#\3\2\2\2#$\3\2\2\2$%\7\37\2\2"+ - "%\5\3\2\2\2&)\7R\2\2\')\5\b\5\2(&\3\2\2\2(\'\3\2\2\2)\7\3\2\2\2*+\t\2"+ - "\2\2+\t\3\2\2\2,-\79\2\2-/\7\36\2\2.\60\5\f\7\2/.\3\2\2\2/\60\3\2\2\2"+ - "\60\61\3\2\2\2\61\62\7\37\2\2\62\13\3\2\2\2\638\5\16\b\2\64\65\7$\2\2"+ - "\65\67\5\16\b\2\66\64\3\2\2\2\67:\3\2\2\28\66\3\2\2\289\3\2\2\29\r\3\2"+ - "\2\2:8\3\2\2\2;<\7R\2\2<=\7\27\2\2=>\5\2\2\2>\17\3\2\2\2?@\7Q\2\2@\21"+ - "\3\2\2\2\b\24\31\"(/8"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Keyword.interp b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Keyword.interp deleted file mode 100644 index 95b83172..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Keyword.interp +++ /dev/null @@ -1,152 +0,0 @@ -token literal names: -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -'DO NOT MATCH ANY THING, JUST FOR GENERATOR' - -token symbolic names: -null -WS -TRUE -FALSE -CREATE -ALTER -DROP -SHOW -RULE -FROM -MASK -TYPE -NAME -PROPERTIES -COLUMN -RULES -TABLE -COLUMNS -IF -EXISTS -COUNT -NOT -MD5 -KEEP_FIRST_N_LAST_M -KEEP_FROM_X_TO_Y -MASK_FIRST_N_LAST_M -MASK_FROM_X_TO_Y -MASK_BEFORE_SPECIAL_CHARS -MASK_AFTER_SPECIAL_CHARS -PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE -MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE -LANDLINE_NUMBER_RANDOM_REPLACE -TELEPHONE_RANDOM_REPLACE -UNIFIED_CREDIT_CODE_RANDOM_REPLACE -GENERIC_TABLE_RANDOM_REPLACE -ADDRESS_RANDOM_REPLACE -FOR_GENERATOR - -rule names: -WS -TRUE -FALSE -CREATE -ALTER -DROP -SHOW -RULE -FROM -MASK -TYPE -NAME -PROPERTIES -COLUMN -RULES -TABLE -COLUMNS -IF -EXISTS -COUNT -NOT -MD5 -KEEP_FIRST_N_LAST_M -KEEP_FROM_X_TO_Y -MASK_FIRST_N_LAST_M -MASK_FROM_X_TO_Y -MASK_BEFORE_SPECIAL_CHARS -MASK_AFTER_SPECIAL_CHARS -PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE -MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE -LANDLINE_NUMBER_RANDOM_REPLACE -TELEPHONE_RANDOM_REPLACE -UNIFIED_CREDIT_CODE_RANDOM_REPLACE -GENERIC_TABLE_RANDOM_REPLACE -ADDRESS_RANDOM_REPLACE -FOR_GENERATOR -A -B -C -D -E -F -G -H -I -J -K -L -M -N -O -P -Q -R -S -T -U -V -W -X -Y -Z -UL_ - -channel names: -DEFAULT_TOKEN_CHANNEL -HIDDEN - -mode names: -DEFAULT_MODE - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 38, 702, 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, 3, 2, 6, 2, 131, 10, 2, 13, 2, 14, 2, 132, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 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, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 16, 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, 18, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 22, 3, 22, 3, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 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, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 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, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 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, 36, 3, 36, 3, 36, 3, 36, 3, 36, 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, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 43, 3, 43, 3, 44, 3, 44, 3, 45, 3, 45, 3, 46, 3, 46, 3, 47, 3, 47, 3, 48, 3, 48, 3, 49, 3, 49, 3, 50, 3, 50, 3, 51, 3, 51, 3, 52, 3, 52, 3, 53, 3, 53, 3, 54, 3, 54, 3, 55, 3, 55, 3, 56, 3, 56, 3, 57, 3, 57, 3, 58, 3, 58, 3, 59, 3, 59, 3, 60, 3, 60, 3, 61, 3, 61, 3, 62, 3, 62, 3, 63, 3, 63, 3, 64, 3, 64, 2, 2, 65, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 2, 77, 2, 79, 2, 81, 2, 83, 2, 85, 2, 87, 2, 89, 2, 91, 2, 93, 2, 95, 2, 97, 2, 99, 2, 101, 2, 103, 2, 105, 2, 107, 2, 109, 2, 111, 2, 113, 2, 115, 2, 117, 2, 119, 2, 121, 2, 123, 2, 125, 2, 127, 2, 3, 2, 30, 5, 2, 11, 12, 15, 15, 34, 34, 3, 2, 55, 55, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 2, 675, 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, 3, 130, 3, 2, 2, 2, 5, 136, 3, 2, 2, 2, 7, 141, 3, 2, 2, 2, 9, 147, 3, 2, 2, 2, 11, 154, 3, 2, 2, 2, 13, 160, 3, 2, 2, 2, 15, 165, 3, 2, 2, 2, 17, 170, 3, 2, 2, 2, 19, 175, 3, 2, 2, 2, 21, 180, 3, 2, 2, 2, 23, 185, 3, 2, 2, 2, 25, 190, 3, 2, 2, 2, 27, 195, 3, 2, 2, 2, 29, 206, 3, 2, 2, 2, 31, 213, 3, 2, 2, 2, 33, 219, 3, 2, 2, 2, 35, 225, 3, 2, 2, 2, 37, 233, 3, 2, 2, 2, 39, 236, 3, 2, 2, 2, 41, 243, 3, 2, 2, 2, 43, 249, 3, 2, 2, 2, 45, 253, 3, 2, 2, 2, 47, 257, 3, 2, 2, 2, 49, 277, 3, 2, 2, 2, 51, 294, 3, 2, 2, 2, 53, 314, 3, 2, 2, 2, 55, 331, 3, 2, 2, 2, 57, 357, 3, 2, 2, 2, 59, 382, 3, 2, 2, 2, 61, 422, 3, 2, 2, 2, 63, 462, 3, 2, 2, 2, 65, 493, 3, 2, 2, 2, 67, 518, 3, 2, 2, 2, 69, 553, 3, 2, 2, 2, 71, 582, 3, 2, 2, 2, 73, 605, 3, 2, 2, 2, 75, 648, 3, 2, 2, 2, 77, 650, 3, 2, 2, 2, 79, 652, 3, 2, 2, 2, 81, 654, 3, 2, 2, 2, 83, 656, 3, 2, 2, 2, 85, 658, 3, 2, 2, 2, 87, 660, 3, 2, 2, 2, 89, 662, 3, 2, 2, 2, 91, 664, 3, 2, 2, 2, 93, 666, 3, 2, 2, 2, 95, 668, 3, 2, 2, 2, 97, 670, 3, 2, 2, 2, 99, 672, 3, 2, 2, 2, 101, 674, 3, 2, 2, 2, 103, 676, 3, 2, 2, 2, 105, 678, 3, 2, 2, 2, 107, 680, 3, 2, 2, 2, 109, 682, 3, 2, 2, 2, 111, 684, 3, 2, 2, 2, 113, 686, 3, 2, 2, 2, 115, 688, 3, 2, 2, 2, 117, 690, 3, 2, 2, 2, 119, 692, 3, 2, 2, 2, 121, 694, 3, 2, 2, 2, 123, 696, 3, 2, 2, 2, 125, 698, 3, 2, 2, 2, 127, 700, 3, 2, 2, 2, 129, 131, 9, 2, 2, 2, 130, 129, 3, 2, 2, 2, 131, 132, 3, 2, 2, 2, 132, 130, 3, 2, 2, 2, 132, 133, 3, 2, 2, 2, 133, 134, 3, 2, 2, 2, 134, 135, 8, 2, 2, 2, 135, 4, 3, 2, 2, 2, 136, 137, 5, 113, 57, 2, 137, 138, 5, 109, 55, 2, 138, 139, 5, 115, 58, 2, 139, 140, 5, 83, 42, 2, 140, 6, 3, 2, 2, 2, 141, 142, 5, 85, 43, 2, 142, 143, 5, 75, 38, 2, 143, 144, 5, 97, 49, 2, 144, 145, 5, 111, 56, 2, 145, 146, 5, 83, 42, 2, 146, 8, 3, 2, 2, 2, 147, 148, 5, 79, 40, 2, 148, 149, 5, 109, 55, 2, 149, 150, 5, 83, 42, 2, 150, 151, 5, 75, 38, 2, 151, 152, 5, 113, 57, 2, 152, 153, 5, 83, 42, 2, 153, 10, 3, 2, 2, 2, 154, 155, 5, 75, 38, 2, 155, 156, 5, 97, 49, 2, 156, 157, 5, 113, 57, 2, 157, 158, 5, 83, 42, 2, 158, 159, 5, 109, 55, 2, 159, 12, 3, 2, 2, 2, 160, 161, 5, 81, 41, 2, 161, 162, 5, 109, 55, 2, 162, 163, 5, 103, 52, 2, 163, 164, 5, 105, 53, 2, 164, 14, 3, 2, 2, 2, 165, 166, 5, 111, 56, 2, 166, 167, 5, 89, 45, 2, 167, 168, 5, 103, 52, 2, 168, 169, 5, 119, 60, 2, 169, 16, 3, 2, 2, 2, 170, 171, 5, 109, 55, 2, 171, 172, 5, 115, 58, 2, 172, 173, 5, 97, 49, 2, 173, 174, 5, 83, 42, 2, 174, 18, 3, 2, 2, 2, 175, 176, 5, 85, 43, 2, 176, 177, 5, 109, 55, 2, 177, 178, 5, 103, 52, 2, 178, 179, 5, 99, 50, 2, 179, 20, 3, 2, 2, 2, 180, 181, 5, 99, 50, 2, 181, 182, 5, 75, 38, 2, 182, 183, 5, 111, 56, 2, 183, 184, 5, 95, 48, 2, 184, 22, 3, 2, 2, 2, 185, 186, 5, 113, 57, 2, 186, 187, 5, 123, 62, 2, 187, 188, 5, 105, 53, 2, 188, 189, 5, 83, 42, 2, 189, 24, 3, 2, 2, 2, 190, 191, 5, 101, 51, 2, 191, 192, 5, 75, 38, 2, 192, 193, 5, 99, 50, 2, 193, 194, 5, 83, 42, 2, 194, 26, 3, 2, 2, 2, 195, 196, 5, 105, 53, 2, 196, 197, 5, 109, 55, 2, 197, 198, 5, 103, 52, 2, 198, 199, 5, 105, 53, 2, 199, 200, 5, 83, 42, 2, 200, 201, 5, 109, 55, 2, 201, 202, 5, 113, 57, 2, 202, 203, 5, 91, 46, 2, 203, 204, 5, 83, 42, 2, 204, 205, 5, 111, 56, 2, 205, 28, 3, 2, 2, 2, 206, 207, 5, 79, 40, 2, 207, 208, 5, 103, 52, 2, 208, 209, 5, 97, 49, 2, 209, 210, 5, 115, 58, 2, 210, 211, 5, 99, 50, 2, 211, 212, 5, 101, 51, 2, 212, 30, 3, 2, 2, 2, 213, 214, 5, 109, 55, 2, 214, 215, 5, 115, 58, 2, 215, 216, 5, 97, 49, 2, 216, 217, 5, 83, 42, 2, 217, 218, 5, 111, 56, 2, 218, 32, 3, 2, 2, 2, 219, 220, 5, 113, 57, 2, 220, 221, 5, 75, 38, 2, 221, 222, 5, 77, 39, 2, 222, 223, 5, 97, 49, 2, 223, 224, 5, 83, 42, 2, 224, 34, 3, 2, 2, 2, 225, 226, 5, 79, 40, 2, 226, 227, 5, 103, 52, 2, 227, 228, 5, 97, 49, 2, 228, 229, 5, 115, 58, 2, 229, 230, 5, 99, 50, 2, 230, 231, 5, 101, 51, 2, 231, 232, 5, 111, 56, 2, 232, 36, 3, 2, 2, 2, 233, 234, 5, 91, 46, 2, 234, 235, 5, 85, 43, 2, 235, 38, 3, 2, 2, 2, 236, 237, 5, 83, 42, 2, 237, 238, 5, 121, 61, 2, 238, 239, 5, 91, 46, 2, 239, 240, 5, 111, 56, 2, 240, 241, 5, 113, 57, 2, 241, 242, 5, 111, 56, 2, 242, 40, 3, 2, 2, 2, 243, 244, 5, 79, 40, 2, 244, 245, 5, 103, 52, 2, 245, 246, 5, 115, 58, 2, 246, 247, 5, 101, 51, 2, 247, 248, 5, 113, 57, 2, 248, 42, 3, 2, 2, 2, 249, 250, 5, 101, 51, 2, 250, 251, 5, 103, 52, 2, 251, 252, 5, 113, 57, 2, 252, 44, 3, 2, 2, 2, 253, 254, 5, 99, 50, 2, 254, 255, 5, 81, 41, 2, 255, 256, 9, 3, 2, 2, 256, 46, 3, 2, 2, 2, 257, 258, 5, 95, 48, 2, 258, 259, 5, 83, 42, 2, 259, 260, 5, 83, 42, 2, 260, 261, 5, 105, 53, 2, 261, 262, 5, 127, 64, 2, 262, 263, 5, 85, 43, 2, 263, 264, 5, 91, 46, 2, 264, 265, 5, 109, 55, 2, 265, 266, 5, 111, 56, 2, 266, 267, 5, 113, 57, 2, 267, 268, 5, 127, 64, 2, 268, 269, 5, 101, 51, 2, 269, 270, 5, 127, 64, 2, 270, 271, 5, 97, 49, 2, 271, 272, 5, 75, 38, 2, 272, 273, 5, 111, 56, 2, 273, 274, 5, 113, 57, 2, 274, 275, 5, 127, 64, 2, 275, 276, 5, 99, 50, 2, 276, 48, 3, 2, 2, 2, 277, 278, 5, 95, 48, 2, 278, 279, 5, 83, 42, 2, 279, 280, 5, 83, 42, 2, 280, 281, 5, 105, 53, 2, 281, 282, 5, 127, 64, 2, 282, 283, 5, 85, 43, 2, 283, 284, 5, 109, 55, 2, 284, 285, 5, 103, 52, 2, 285, 286, 5, 99, 50, 2, 286, 287, 5, 127, 64, 2, 287, 288, 5, 121, 61, 2, 288, 289, 5, 127, 64, 2, 289, 290, 5, 113, 57, 2, 290, 291, 5, 103, 52, 2, 291, 292, 5, 127, 64, 2, 292, 293, 5, 123, 62, 2, 293, 50, 3, 2, 2, 2, 294, 295, 5, 99, 50, 2, 295, 296, 5, 75, 38, 2, 296, 297, 5, 111, 56, 2, 297, 298, 5, 95, 48, 2, 298, 299, 5, 127, 64, 2, 299, 300, 5, 85, 43, 2, 300, 301, 5, 91, 46, 2, 301, 302, 5, 109, 55, 2, 302, 303, 5, 111, 56, 2, 303, 304, 5, 113, 57, 2, 304, 305, 5, 127, 64, 2, 305, 306, 5, 101, 51, 2, 306, 307, 5, 127, 64, 2, 307, 308, 5, 97, 49, 2, 308, 309, 5, 75, 38, 2, 309, 310, 5, 111, 56, 2, 310, 311, 5, 113, 57, 2, 311, 312, 5, 127, 64, 2, 312, 313, 5, 99, 50, 2, 313, 52, 3, 2, 2, 2, 314, 315, 5, 99, 50, 2, 315, 316, 5, 75, 38, 2, 316, 317, 5, 111, 56, 2, 317, 318, 5, 95, 48, 2, 318, 319, 5, 127, 64, 2, 319, 320, 5, 85, 43, 2, 320, 321, 5, 109, 55, 2, 321, 322, 5, 103, 52, 2, 322, 323, 5, 99, 50, 2, 323, 324, 5, 127, 64, 2, 324, 325, 5, 121, 61, 2, 325, 326, 5, 127, 64, 2, 326, 327, 5, 113, 57, 2, 327, 328, 5, 103, 52, 2, 328, 329, 5, 127, 64, 2, 329, 330, 5, 123, 62, 2, 330, 54, 3, 2, 2, 2, 331, 332, 5, 99, 50, 2, 332, 333, 5, 75, 38, 2, 333, 334, 5, 111, 56, 2, 334, 335, 5, 95, 48, 2, 335, 336, 5, 127, 64, 2, 336, 337, 5, 77, 39, 2, 337, 338, 5, 83, 42, 2, 338, 339, 5, 85, 43, 2, 339, 340, 5, 103, 52, 2, 340, 341, 5, 109, 55, 2, 341, 342, 5, 83, 42, 2, 342, 343, 5, 127, 64, 2, 343, 344, 5, 111, 56, 2, 344, 345, 5, 105, 53, 2, 345, 346, 5, 83, 42, 2, 346, 347, 5, 79, 40, 2, 347, 348, 5, 91, 46, 2, 348, 349, 5, 75, 38, 2, 349, 350, 5, 97, 49, 2, 350, 351, 5, 127, 64, 2, 351, 352, 5, 79, 40, 2, 352, 353, 5, 89, 45, 2, 353, 354, 5, 75, 38, 2, 354, 355, 5, 109, 55, 2, 355, 356, 5, 111, 56, 2, 356, 56, 3, 2, 2, 2, 357, 358, 5, 99, 50, 2, 358, 359, 5, 75, 38, 2, 359, 360, 5, 111, 56, 2, 360, 361, 5, 95, 48, 2, 361, 362, 5, 127, 64, 2, 362, 363, 5, 75, 38, 2, 363, 364, 5, 85, 43, 2, 364, 365, 5, 113, 57, 2, 365, 366, 5, 83, 42, 2, 366, 367, 5, 109, 55, 2, 367, 368, 5, 127, 64, 2, 368, 369, 5, 111, 56, 2, 369, 370, 5, 105, 53, 2, 370, 371, 5, 83, 42, 2, 371, 372, 5, 79, 40, 2, 372, 373, 5, 91, 46, 2, 373, 374, 5, 75, 38, 2, 374, 375, 5, 97, 49, 2, 375, 376, 5, 127, 64, 2, 376, 377, 5, 79, 40, 2, 377, 378, 5, 89, 45, 2, 378, 379, 5, 75, 38, 2, 379, 380, 5, 109, 55, 2, 380, 381, 5, 111, 56, 2, 381, 58, 3, 2, 2, 2, 382, 383, 5, 105, 53, 2, 383, 384, 5, 83, 42, 2, 384, 385, 5, 109, 55, 2, 385, 386, 5, 111, 56, 2, 386, 387, 5, 103, 52, 2, 387, 388, 5, 101, 51, 2, 388, 389, 5, 75, 38, 2, 389, 390, 5, 97, 49, 2, 390, 391, 5, 127, 64, 2, 391, 392, 5, 91, 46, 2, 392, 393, 5, 81, 41, 2, 393, 394, 5, 83, 42, 2, 394, 395, 5, 101, 51, 2, 395, 396, 5, 113, 57, 2, 396, 397, 5, 91, 46, 2, 397, 398, 5, 113, 57, 2, 398, 399, 5, 123, 62, 2, 399, 400, 5, 127, 64, 2, 400, 401, 5, 101, 51, 2, 401, 402, 5, 115, 58, 2, 402, 403, 5, 99, 50, 2, 403, 404, 5, 77, 39, 2, 404, 405, 5, 83, 42, 2, 405, 406, 5, 109, 55, 2, 406, 407, 5, 127, 64, 2, 407, 408, 5, 109, 55, 2, 408, 409, 5, 75, 38, 2, 409, 410, 5, 101, 51, 2, 410, 411, 5, 81, 41, 2, 411, 412, 5, 103, 52, 2, 412, 413, 5, 99, 50, 2, 413, 414, 5, 127, 64, 2, 414, 415, 5, 109, 55, 2, 415, 416, 5, 83, 42, 2, 416, 417, 5, 105, 53, 2, 417, 418, 5, 97, 49, 2, 418, 419, 5, 75, 38, 2, 419, 420, 5, 79, 40, 2, 420, 421, 5, 83, 42, 2, 421, 60, 3, 2, 2, 2, 422, 423, 5, 99, 50, 2, 423, 424, 5, 91, 46, 2, 424, 425, 5, 97, 49, 2, 425, 426, 5, 91, 46, 2, 426, 427, 5, 113, 57, 2, 427, 428, 5, 75, 38, 2, 428, 429, 5, 109, 55, 2, 429, 430, 5, 123, 62, 2, 430, 431, 5, 127, 64, 2, 431, 432, 5, 91, 46, 2, 432, 433, 5, 81, 41, 2, 433, 434, 5, 83, 42, 2, 434, 435, 5, 101, 51, 2, 435, 436, 5, 113, 57, 2, 436, 437, 5, 91, 46, 2, 437, 438, 5, 113, 57, 2, 438, 439, 5, 123, 62, 2, 439, 440, 5, 127, 64, 2, 440, 441, 5, 101, 51, 2, 441, 442, 5, 115, 58, 2, 442, 443, 5, 99, 50, 2, 443, 444, 5, 77, 39, 2, 444, 445, 5, 83, 42, 2, 445, 446, 5, 109, 55, 2, 446, 447, 5, 127, 64, 2, 447, 448, 5, 109, 55, 2, 448, 449, 5, 75, 38, 2, 449, 450, 5, 101, 51, 2, 450, 451, 5, 81, 41, 2, 451, 452, 5, 103, 52, 2, 452, 453, 5, 99, 50, 2, 453, 454, 5, 127, 64, 2, 454, 455, 5, 109, 55, 2, 455, 456, 5, 83, 42, 2, 456, 457, 5, 105, 53, 2, 457, 458, 5, 97, 49, 2, 458, 459, 5, 75, 38, 2, 459, 460, 5, 79, 40, 2, 460, 461, 5, 83, 42, 2, 461, 62, 3, 2, 2, 2, 462, 463, 5, 97, 49, 2, 463, 464, 5, 75, 38, 2, 464, 465, 5, 101, 51, 2, 465, 466, 5, 81, 41, 2, 466, 467, 5, 97, 49, 2, 467, 468, 5, 91, 46, 2, 468, 469, 5, 101, 51, 2, 469, 470, 5, 83, 42, 2, 470, 471, 5, 127, 64, 2, 471, 472, 5, 101, 51, 2, 472, 473, 5, 115, 58, 2, 473, 474, 5, 99, 50, 2, 474, 475, 5, 77, 39, 2, 475, 476, 5, 83, 42, 2, 476, 477, 5, 109, 55, 2, 477, 478, 5, 127, 64, 2, 478, 479, 5, 109, 55, 2, 479, 480, 5, 75, 38, 2, 480, 481, 5, 101, 51, 2, 481, 482, 5, 81, 41, 2, 482, 483, 5, 103, 52, 2, 483, 484, 5, 99, 50, 2, 484, 485, 5, 127, 64, 2, 485, 486, 5, 109, 55, 2, 486, 487, 5, 83, 42, 2, 487, 488, 5, 105, 53, 2, 488, 489, 5, 97, 49, 2, 489, 490, 5, 75, 38, 2, 490, 491, 5, 79, 40, 2, 491, 492, 5, 83, 42, 2, 492, 64, 3, 2, 2, 2, 493, 494, 5, 113, 57, 2, 494, 495, 5, 83, 42, 2, 495, 496, 5, 97, 49, 2, 496, 497, 5, 83, 42, 2, 497, 498, 5, 105, 53, 2, 498, 499, 5, 89, 45, 2, 499, 500, 5, 103, 52, 2, 500, 501, 5, 101, 51, 2, 501, 502, 5, 83, 42, 2, 502, 503, 5, 127, 64, 2, 503, 504, 5, 109, 55, 2, 504, 505, 5, 75, 38, 2, 505, 506, 5, 101, 51, 2, 506, 507, 5, 81, 41, 2, 507, 508, 5, 103, 52, 2, 508, 509, 5, 99, 50, 2, 509, 510, 5, 127, 64, 2, 510, 511, 5, 109, 55, 2, 511, 512, 5, 83, 42, 2, 512, 513, 5, 105, 53, 2, 513, 514, 5, 97, 49, 2, 514, 515, 5, 75, 38, 2, 515, 516, 5, 79, 40, 2, 516, 517, 5, 83, 42, 2, 517, 66, 3, 2, 2, 2, 518, 519, 5, 115, 58, 2, 519, 520, 5, 101, 51, 2, 520, 521, 5, 91, 46, 2, 521, 522, 5, 85, 43, 2, 522, 523, 5, 91, 46, 2, 523, 524, 5, 83, 42, 2, 524, 525, 5, 81, 41, 2, 525, 526, 5, 127, 64, 2, 526, 527, 5, 79, 40, 2, 527, 528, 5, 109, 55, 2, 528, 529, 5, 83, 42, 2, 529, 530, 5, 81, 41, 2, 530, 531, 5, 91, 46, 2, 531, 532, 5, 113, 57, 2, 532, 533, 5, 127, 64, 2, 533, 534, 5, 79, 40, 2, 534, 535, 5, 103, 52, 2, 535, 536, 5, 81, 41, 2, 536, 537, 5, 83, 42, 2, 537, 538, 5, 127, 64, 2, 538, 539, 5, 109, 55, 2, 539, 540, 5, 75, 38, 2, 540, 541, 5, 101, 51, 2, 541, 542, 5, 81, 41, 2, 542, 543, 5, 103, 52, 2, 543, 544, 5, 99, 50, 2, 544, 545, 5, 127, 64, 2, 545, 546, 5, 109, 55, 2, 546, 547, 5, 83, 42, 2, 547, 548, 5, 105, 53, 2, 548, 549, 5, 97, 49, 2, 549, 550, 5, 75, 38, 2, 550, 551, 5, 79, 40, 2, 551, 552, 5, 83, 42, 2, 552, 68, 3, 2, 2, 2, 553, 554, 5, 87, 44, 2, 554, 555, 5, 83, 42, 2, 555, 556, 5, 101, 51, 2, 556, 557, 5, 83, 42, 2, 557, 558, 5, 109, 55, 2, 558, 559, 5, 91, 46, 2, 559, 560, 5, 79, 40, 2, 560, 561, 5, 127, 64, 2, 561, 562, 5, 113, 57, 2, 562, 563, 5, 75, 38, 2, 563, 564, 5, 77, 39, 2, 564, 565, 5, 97, 49, 2, 565, 566, 5, 83, 42, 2, 566, 567, 5, 127, 64, 2, 567, 568, 5, 109, 55, 2, 568, 569, 5, 75, 38, 2, 569, 570, 5, 101, 51, 2, 570, 571, 5, 81, 41, 2, 571, 572, 5, 103, 52, 2, 572, 573, 5, 99, 50, 2, 573, 574, 5, 127, 64, 2, 574, 575, 5, 109, 55, 2, 575, 576, 5, 83, 42, 2, 576, 577, 5, 105, 53, 2, 577, 578, 5, 97, 49, 2, 578, 579, 5, 75, 38, 2, 579, 580, 5, 79, 40, 2, 580, 581, 5, 83, 42, 2, 581, 70, 3, 2, 2, 2, 582, 583, 5, 75, 38, 2, 583, 584, 5, 81, 41, 2, 584, 585, 5, 81, 41, 2, 585, 586, 5, 109, 55, 2, 586, 587, 5, 83, 42, 2, 587, 588, 5, 111, 56, 2, 588, 589, 5, 111, 56, 2, 589, 590, 5, 127, 64, 2, 590, 591, 5, 109, 55, 2, 591, 592, 5, 75, 38, 2, 592, 593, 5, 101, 51, 2, 593, 594, 5, 81, 41, 2, 594, 595, 5, 103, 52, 2, 595, 596, 5, 99, 50, 2, 596, 597, 5, 127, 64, 2, 597, 598, 5, 109, 55, 2, 598, 599, 5, 83, 42, 2, 599, 600, 5, 105, 53, 2, 600, 601, 5, 97, 49, 2, 601, 602, 5, 75, 38, 2, 602, 603, 5, 79, 40, 2, 603, 604, 5, 83, 42, 2, 604, 72, 3, 2, 2, 2, 605, 606, 7, 70, 2, 2, 606, 607, 7, 81, 2, 2, 607, 608, 7, 34, 2, 2, 608, 609, 7, 80, 2, 2, 609, 610, 7, 81, 2, 2, 610, 611, 7, 86, 2, 2, 611, 612, 7, 34, 2, 2, 612, 613, 7, 79, 2, 2, 613, 614, 7, 67, 2, 2, 614, 615, 7, 86, 2, 2, 615, 616, 7, 69, 2, 2, 616, 617, 7, 74, 2, 2, 617, 618, 7, 34, 2, 2, 618, 619, 7, 67, 2, 2, 619, 620, 7, 80, 2, 2, 620, 621, 7, 91, 2, 2, 621, 622, 7, 34, 2, 2, 622, 623, 7, 86, 2, 2, 623, 624, 7, 74, 2, 2, 624, 625, 7, 75, 2, 2, 625, 626, 7, 80, 2, 2, 626, 627, 7, 73, 2, 2, 627, 628, 7, 46, 2, 2, 628, 629, 7, 34, 2, 2, 629, 630, 7, 76, 2, 2, 630, 631, 7, 87, 2, 2, 631, 632, 7, 85, 2, 2, 632, 633, 7, 86, 2, 2, 633, 634, 7, 34, 2, 2, 634, 635, 7, 72, 2, 2, 635, 636, 7, 81, 2, 2, 636, 637, 7, 84, 2, 2, 637, 638, 7, 34, 2, 2, 638, 639, 7, 73, 2, 2, 639, 640, 7, 71, 2, 2, 640, 641, 7, 80, 2, 2, 641, 642, 7, 71, 2, 2, 642, 643, 7, 84, 2, 2, 643, 644, 7, 67, 2, 2, 644, 645, 7, 86, 2, 2, 645, 646, 7, 81, 2, 2, 646, 647, 7, 84, 2, 2, 647, 74, 3, 2, 2, 2, 648, 649, 9, 4, 2, 2, 649, 76, 3, 2, 2, 2, 650, 651, 9, 5, 2, 2, 651, 78, 3, 2, 2, 2, 652, 653, 9, 6, 2, 2, 653, 80, 3, 2, 2, 2, 654, 655, 9, 7, 2, 2, 655, 82, 3, 2, 2, 2, 656, 657, 9, 8, 2, 2, 657, 84, 3, 2, 2, 2, 658, 659, 9, 9, 2, 2, 659, 86, 3, 2, 2, 2, 660, 661, 9, 10, 2, 2, 661, 88, 3, 2, 2, 2, 662, 663, 9, 11, 2, 2, 663, 90, 3, 2, 2, 2, 664, 665, 9, 12, 2, 2, 665, 92, 3, 2, 2, 2, 666, 667, 9, 13, 2, 2, 667, 94, 3, 2, 2, 2, 668, 669, 9, 14, 2, 2, 669, 96, 3, 2, 2, 2, 670, 671, 9, 15, 2, 2, 671, 98, 3, 2, 2, 2, 672, 673, 9, 16, 2, 2, 673, 100, 3, 2, 2, 2, 674, 675, 9, 17, 2, 2, 675, 102, 3, 2, 2, 2, 676, 677, 9, 18, 2, 2, 677, 104, 3, 2, 2, 2, 678, 679, 9, 19, 2, 2, 679, 106, 3, 2, 2, 2, 680, 681, 9, 20, 2, 2, 681, 108, 3, 2, 2, 2, 682, 683, 9, 21, 2, 2, 683, 110, 3, 2, 2, 2, 684, 685, 9, 22, 2, 2, 685, 112, 3, 2, 2, 2, 686, 687, 9, 23, 2, 2, 687, 114, 3, 2, 2, 2, 688, 689, 9, 24, 2, 2, 689, 116, 3, 2, 2, 2, 690, 691, 9, 25, 2, 2, 691, 118, 3, 2, 2, 2, 692, 693, 9, 26, 2, 2, 693, 120, 3, 2, 2, 2, 694, 695, 9, 27, 2, 2, 695, 122, 3, 2, 2, 2, 696, 697, 9, 28, 2, 2, 697, 124, 3, 2, 2, 2, 698, 699, 9, 29, 2, 2, 699, 126, 3, 2, 2, 2, 700, 701, 7, 97, 2, 2, 701, 128, 3, 2, 2, 2, 4, 2, 132, 3, 8, 2, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Keyword.java b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Keyword.java deleted file mode 100644 index 553eb137..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Keyword.java +++ /dev/null @@ -1,362 +0,0 @@ -// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/mask/Keyword.g4 by ANTLR 4.9.2 -import org.antlr.v4.runtime.Lexer; -import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.TokenStream; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.misc.*; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class Keyword extends Lexer { - static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - WS=1, TRUE=2, FALSE=3, CREATE=4, ALTER=5, DROP=6, SHOW=7, RULE=8, FROM=9, - MASK=10, TYPE=11, NAME=12, PROPERTIES=13, COLUMN=14, RULES=15, TABLE=16, - COLUMNS=17, IF=18, EXISTS=19, COUNT=20, NOT=21, MD5=22, KEEP_FIRST_N_LAST_M=23, - KEEP_FROM_X_TO_Y=24, MASK_FIRST_N_LAST_M=25, MASK_FROM_X_TO_Y=26, MASK_BEFORE_SPECIAL_CHARS=27, - MASK_AFTER_SPECIAL_CHARS=28, PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE=29, - MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE=30, LANDLINE_NUMBER_RANDOM_REPLACE=31, - TELEPHONE_RANDOM_REPLACE=32, UNIFIED_CREDIT_CODE_RANDOM_REPLACE=33, GENERIC_TABLE_RANDOM_REPLACE=34, - ADDRESS_RANDOM_REPLACE=35, FOR_GENERATOR=36; - public static String[] channelNames = { - "DEFAULT_TOKEN_CHANNEL", "HIDDEN" - }; - - public static String[] modeNames = { - "DEFAULT_MODE" - }; - - private static String[] makeRuleNames() { - return new String[] { - "WS", "TRUE", "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", "FROM", - "MASK", "TYPE", "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", "COLUMNS", - "IF", "EXISTS", "COUNT", "NOT", "MD5", "KEEP_FIRST_N_LAST_M", "KEEP_FROM_X_TO_Y", - "MASK_FIRST_N_LAST_M", "MASK_FROM_X_TO_Y", "MASK_BEFORE_SPECIAL_CHARS", - "MASK_AFTER_SPECIAL_CHARS", "PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE", - "MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE", "LANDLINE_NUMBER_RANDOM_REPLACE", - "TELEPHONE_RANDOM_REPLACE", "UNIFIED_CREDIT_CODE_RANDOM_REPLACE", "GENERIC_TABLE_RANDOM_REPLACE", - "ADDRESS_RANDOM_REPLACE", "FOR_GENERATOR", "A", "B", "C", "D", "E", "F", - "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", - "U", "V", "W", "X", "Y", "Z", "UL_" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "WS", "TRUE", "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", - "FROM", "MASK", "TYPE", "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", - "COLUMNS", "IF", "EXISTS", "COUNT", "NOT", "MD5", "KEEP_FIRST_N_LAST_M", - "KEEP_FROM_X_TO_Y", "MASK_FIRST_N_LAST_M", "MASK_FROM_X_TO_Y", "MASK_BEFORE_SPECIAL_CHARS", - "MASK_AFTER_SPECIAL_CHARS", "PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE", - "MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE", "LANDLINE_NUMBER_RANDOM_REPLACE", - "TELEPHONE_RANDOM_REPLACE", "UNIFIED_CREDIT_CODE_RANDOM_REPLACE", "GENERIC_TABLE_RANDOM_REPLACE", - "ADDRESS_RANDOM_REPLACE", "FOR_GENERATOR" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - - public Keyword(CharStream input) { - super(input); - _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - @Override - public String getGrammarFileName() { return "Keyword.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public String[] getChannelNames() { return channelNames; } - - @Override - public String[] getModeNames() { return modeNames; } - - @Override - public ATN getATN() { return _ATN; } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2&\u02be\b\1\4\2\t"+ - "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ - "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ - "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ - "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ - "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ - ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ - "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ - "\4>\t>\4?\t?\4@\t@\3\2\6\2\u0083\n\2\r\2\16\2\u0084\3\2\3\2\3\3\3\3\3"+ - "\3\3\3\3\3\3\4\3\4\3\4\3\4\3\4\3\4\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\6\3\6"+ - "\3\6\3\6\3\6\3\6\3\7\3\7\3\7\3\7\3\7\3\b\3\b\3\b\3\b\3\b\3\t\3\t\3\t\3"+ - "\t\3\t\3\n\3\n\3\n\3\n\3\n\3\13\3\13\3\13\3\13\3\13\3\f\3\f\3\f\3\f\3"+ - "\f\3\r\3\r\3\r\3\r\3\r\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3"+ - "\16\3\16\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\20\3\20\3\20\3\20\3\20\3"+ - "\20\3\21\3\21\3\21\3\21\3\21\3\21\3\22\3\22\3\22\3\22\3\22\3\22\3\22\3"+ - "\22\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"+ - "\25\3\25\3\25\3\26\3\26\3\26\3\26\3\27\3\27\3\27\3\27\3\30\3\30\3\30\3"+ - "\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3"+ - "\30\3\30\3\30\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\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\32\3\32\3"+ - "\32\3\32\3\32\3\32\3\32\3\32\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\33\3\33\3\33\3\33\3\33\3\33\3\33\3\33\3\33\3\33\3"+ - "\33\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3"+ - "\34\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3\35\3"+ - "\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3"+ - "\35\3\35\3\35\3\35\3\35\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\36\3\36\3\36\3\36\3\36\3\36\3\36\3\36\3\36\3"+ - "\36\3\36\3\36\3\36\3\36\3\36\3\36\3\36\3\36\3\36\3\36\3\36\3\36\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"+ - "\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3"+ - "\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3"+ - "\37\3\37\3\37\3\37\3\37\3\37\3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3"+ - " \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3!\3!\3!\3!\3!\3"+ - "!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3\"\3\"\3\""+ - "\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3"+ - "\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3#\3#\3#\3"+ - "#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3"+ - "#\3#\3#\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3$\3"+ - "$\3$\3$\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3"+ - "%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3%\3"+ - "&\3&\3\'\3\'\3(\3(\3)\3)\3*\3*\3+\3+\3,\3,\3-\3-\3.\3.\3/\3/\3\60\3\60"+ - "\3\61\3\61\3\62\3\62\3\63\3\63\3\64\3\64\3\65\3\65\3\66\3\66\3\67\3\67"+ - "\38\38\39\39\3:\3:\3;\3;\3<\3<\3=\3=\3>\3>\3?\3?\3@\3@\2\2A\3\3\5\4\7"+ - "\5\t\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\35\20\37\21!\22"+ - "#\23%\24\'\25)\26+\27-\30/\31\61\32\63\33\65\34\67\359\36;\37= ?!A\"C"+ - "#E$G%I&K\2M\2O\2Q\2S\2U\2W\2Y\2[\2]\2_\2a\2c\2e\2g\2i\2k\2m\2o\2q\2s\2"+ - "u\2w\2y\2{\2}\2\177\2\3\2\36\5\2\13\f\17\17\"\"\3\2\67\67\4\2CCcc\4\2"+ - "DDdd\4\2EEee\4\2FFff\4\2GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4\2LLll\4"+ - "\2MMmm\4\2NNnn\4\2OOoo\4\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4\2TTtt\4\2UUu"+ - "u\4\2VVvv\4\2WWww\4\2XXxx\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\||\2\u02a3\2"+ - "\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2"+ - "\2\2\17\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"+ - "\31\3\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2"+ - "\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\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\29\3\2\2\2\2;\3\2"+ - "\2\2\2=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2"+ - "\2I\3\2\2\2\3\u0082\3\2\2\2\5\u0088\3\2\2\2\7\u008d\3\2\2\2\t\u0093\3"+ - "\2\2\2\13\u009a\3\2\2\2\r\u00a0\3\2\2\2\17\u00a5\3\2\2\2\21\u00aa\3\2"+ - "\2\2\23\u00af\3\2\2\2\25\u00b4\3\2\2\2\27\u00b9\3\2\2\2\31\u00be\3\2\2"+ - "\2\33\u00c3\3\2\2\2\35\u00ce\3\2\2\2\37\u00d5\3\2\2\2!\u00db\3\2\2\2#"+ - "\u00e1\3\2\2\2%\u00e9\3\2\2\2\'\u00ec\3\2\2\2)\u00f3\3\2\2\2+\u00f9\3"+ - "\2\2\2-\u00fd\3\2\2\2/\u0101\3\2\2\2\61\u0115\3\2\2\2\63\u0126\3\2\2\2"+ - "\65\u013a\3\2\2\2\67\u014b\3\2\2\29\u0165\3\2\2\2;\u017e\3\2\2\2=\u01a6"+ - "\3\2\2\2?\u01ce\3\2\2\2A\u01ed\3\2\2\2C\u0206\3\2\2\2E\u0229\3\2\2\2G"+ - "\u0246\3\2\2\2I\u025d\3\2\2\2K\u0288\3\2\2\2M\u028a\3\2\2\2O\u028c\3\2"+ - "\2\2Q\u028e\3\2\2\2S\u0290\3\2\2\2U\u0292\3\2\2\2W\u0294\3\2\2\2Y\u0296"+ - "\3\2\2\2[\u0298\3\2\2\2]\u029a\3\2\2\2_\u029c\3\2\2\2a\u029e\3\2\2\2c"+ - "\u02a0\3\2\2\2e\u02a2\3\2\2\2g\u02a4\3\2\2\2i\u02a6\3\2\2\2k\u02a8\3\2"+ - "\2\2m\u02aa\3\2\2\2o\u02ac\3\2\2\2q\u02ae\3\2\2\2s\u02b0\3\2\2\2u\u02b2"+ - "\3\2\2\2w\u02b4\3\2\2\2y\u02b6\3\2\2\2{\u02b8\3\2\2\2}\u02ba\3\2\2\2\177"+ - "\u02bc\3\2\2\2\u0081\u0083\t\2\2\2\u0082\u0081\3\2\2\2\u0083\u0084\3\2"+ - "\2\2\u0084\u0082\3\2\2\2\u0084\u0085\3\2\2\2\u0085\u0086\3\2\2\2\u0086"+ - "\u0087\b\2\2\2\u0087\4\3\2\2\2\u0088\u0089\5q9\2\u0089\u008a\5m\67\2\u008a"+ - "\u008b\5s:\2\u008b\u008c\5S*\2\u008c\6\3\2\2\2\u008d\u008e\5U+\2\u008e"+ - "\u008f\5K&\2\u008f\u0090\5a\61\2\u0090\u0091\5o8\2\u0091\u0092\5S*\2\u0092"+ - "\b\3\2\2\2\u0093\u0094\5O(\2\u0094\u0095\5m\67\2\u0095\u0096\5S*\2\u0096"+ - "\u0097\5K&\2\u0097\u0098\5q9\2\u0098\u0099\5S*\2\u0099\n\3\2\2\2\u009a"+ - "\u009b\5K&\2\u009b\u009c\5a\61\2\u009c\u009d\5q9\2\u009d\u009e\5S*\2\u009e"+ - "\u009f\5m\67\2\u009f\f\3\2\2\2\u00a0\u00a1\5Q)\2\u00a1\u00a2\5m\67\2\u00a2"+ - "\u00a3\5g\64\2\u00a3\u00a4\5i\65\2\u00a4\16\3\2\2\2\u00a5\u00a6\5o8\2"+ - "\u00a6\u00a7\5Y-\2\u00a7\u00a8\5g\64\2\u00a8\u00a9\5w<\2\u00a9\20\3\2"+ - "\2\2\u00aa\u00ab\5m\67\2\u00ab\u00ac\5s:\2\u00ac\u00ad\5a\61\2\u00ad\u00ae"+ - "\5S*\2\u00ae\22\3\2\2\2\u00af\u00b0\5U+\2\u00b0\u00b1\5m\67\2\u00b1\u00b2"+ - "\5g\64\2\u00b2\u00b3\5c\62\2\u00b3\24\3\2\2\2\u00b4\u00b5\5c\62\2\u00b5"+ - "\u00b6\5K&\2\u00b6\u00b7\5o8\2\u00b7\u00b8\5_\60\2\u00b8\26\3\2\2\2\u00b9"+ - "\u00ba\5q9\2\u00ba\u00bb\5{>\2\u00bb\u00bc\5i\65\2\u00bc\u00bd\5S*\2\u00bd"+ - "\30\3\2\2\2\u00be\u00bf\5e\63\2\u00bf\u00c0\5K&\2\u00c0\u00c1\5c\62\2"+ - "\u00c1\u00c2\5S*\2\u00c2\32\3\2\2\2\u00c3\u00c4\5i\65\2\u00c4\u00c5\5"+ - "m\67\2\u00c5\u00c6\5g\64\2\u00c6\u00c7\5i\65\2\u00c7\u00c8\5S*\2\u00c8"+ - "\u00c9\5m\67\2\u00c9\u00ca\5q9\2\u00ca\u00cb\5[.\2\u00cb\u00cc\5S*\2\u00cc"+ - "\u00cd\5o8\2\u00cd\34\3\2\2\2\u00ce\u00cf\5O(\2\u00cf\u00d0\5g\64\2\u00d0"+ - "\u00d1\5a\61\2\u00d1\u00d2\5s:\2\u00d2\u00d3\5c\62\2\u00d3\u00d4\5e\63"+ - "\2\u00d4\36\3\2\2\2\u00d5\u00d6\5m\67\2\u00d6\u00d7\5s:\2\u00d7\u00d8"+ - "\5a\61\2\u00d8\u00d9\5S*\2\u00d9\u00da\5o8\2\u00da \3\2\2\2\u00db\u00dc"+ - "\5q9\2\u00dc\u00dd\5K&\2\u00dd\u00de\5M\'\2\u00de\u00df\5a\61\2\u00df"+ - "\u00e0\5S*\2\u00e0\"\3\2\2\2\u00e1\u00e2\5O(\2\u00e2\u00e3\5g\64\2\u00e3"+ - "\u00e4\5a\61\2\u00e4\u00e5\5s:\2\u00e5\u00e6\5c\62\2\u00e6\u00e7\5e\63"+ - "\2\u00e7\u00e8\5o8\2\u00e8$\3\2\2\2\u00e9\u00ea\5[.\2\u00ea\u00eb\5U+"+ - "\2\u00eb&\3\2\2\2\u00ec\u00ed\5S*\2\u00ed\u00ee\5y=\2\u00ee\u00ef\5[."+ - "\2\u00ef\u00f0\5o8\2\u00f0\u00f1\5q9\2\u00f1\u00f2\5o8\2\u00f2(\3\2\2"+ - "\2\u00f3\u00f4\5O(\2\u00f4\u00f5\5g\64\2\u00f5\u00f6\5s:\2\u00f6\u00f7"+ - "\5e\63\2\u00f7\u00f8\5q9\2\u00f8*\3\2\2\2\u00f9\u00fa\5e\63\2\u00fa\u00fb"+ - "\5g\64\2\u00fb\u00fc\5q9\2\u00fc,\3\2\2\2\u00fd\u00fe\5c\62\2\u00fe\u00ff"+ - "\5Q)\2\u00ff\u0100\t\3\2\2\u0100.\3\2\2\2\u0101\u0102\5_\60\2\u0102\u0103"+ - "\5S*\2\u0103\u0104\5S*\2\u0104\u0105\5i\65\2\u0105\u0106\5\177@\2\u0106"+ - "\u0107\5U+\2\u0107\u0108\5[.\2\u0108\u0109\5m\67\2\u0109\u010a\5o8\2\u010a"+ - "\u010b\5q9\2\u010b\u010c\5\177@\2\u010c\u010d\5e\63\2\u010d\u010e\5\177"+ - "@\2\u010e\u010f\5a\61\2\u010f\u0110\5K&\2\u0110\u0111\5o8\2\u0111\u0112"+ - "\5q9\2\u0112\u0113\5\177@\2\u0113\u0114\5c\62\2\u0114\60\3\2\2\2\u0115"+ - "\u0116\5_\60\2\u0116\u0117\5S*\2\u0117\u0118\5S*\2\u0118\u0119\5i\65\2"+ - "\u0119\u011a\5\177@\2\u011a\u011b\5U+\2\u011b\u011c\5m\67\2\u011c\u011d"+ - "\5g\64\2\u011d\u011e\5c\62\2\u011e\u011f\5\177@\2\u011f\u0120\5y=\2\u0120"+ - "\u0121\5\177@\2\u0121\u0122\5q9\2\u0122\u0123\5g\64\2\u0123\u0124\5\177"+ - "@\2\u0124\u0125\5{>\2\u0125\62\3\2\2\2\u0126\u0127\5c\62\2\u0127\u0128"+ - "\5K&\2\u0128\u0129\5o8\2\u0129\u012a\5_\60\2\u012a\u012b\5\177@\2\u012b"+ - "\u012c\5U+\2\u012c\u012d\5[.\2\u012d\u012e\5m\67\2\u012e\u012f\5o8\2\u012f"+ - "\u0130\5q9\2\u0130\u0131\5\177@\2\u0131\u0132\5e\63\2\u0132\u0133\5\177"+ - "@\2\u0133\u0134\5a\61\2\u0134\u0135\5K&\2\u0135\u0136\5o8\2\u0136\u0137"+ - "\5q9\2\u0137\u0138\5\177@\2\u0138\u0139\5c\62\2\u0139\64\3\2\2\2\u013a"+ - "\u013b\5c\62\2\u013b\u013c\5K&\2\u013c\u013d\5o8\2\u013d\u013e\5_\60\2"+ - "\u013e\u013f\5\177@\2\u013f\u0140\5U+\2\u0140\u0141\5m\67\2\u0141\u0142"+ - "\5g\64\2\u0142\u0143\5c\62\2\u0143\u0144\5\177@\2\u0144\u0145\5y=\2\u0145"+ - "\u0146\5\177@\2\u0146\u0147\5q9\2\u0147\u0148\5g\64\2\u0148\u0149\5\177"+ - "@\2\u0149\u014a\5{>\2\u014a\66\3\2\2\2\u014b\u014c\5c\62\2\u014c\u014d"+ - "\5K&\2\u014d\u014e\5o8\2\u014e\u014f\5_\60\2\u014f\u0150\5\177@\2\u0150"+ - "\u0151\5M\'\2\u0151\u0152\5S*\2\u0152\u0153\5U+\2\u0153\u0154\5g\64\2"+ - "\u0154\u0155\5m\67\2\u0155\u0156\5S*\2\u0156\u0157\5\177@\2\u0157\u0158"+ - "\5o8\2\u0158\u0159\5i\65\2\u0159\u015a\5S*\2\u015a\u015b\5O(\2\u015b\u015c"+ - "\5[.\2\u015c\u015d\5K&\2\u015d\u015e\5a\61\2\u015e\u015f\5\177@\2\u015f"+ - "\u0160\5O(\2\u0160\u0161\5Y-\2\u0161\u0162\5K&\2\u0162\u0163\5m\67\2\u0163"+ - "\u0164\5o8\2\u01648\3\2\2\2\u0165\u0166\5c\62\2\u0166\u0167\5K&\2\u0167"+ - "\u0168\5o8\2\u0168\u0169\5_\60\2\u0169\u016a\5\177@\2\u016a\u016b\5K&"+ - "\2\u016b\u016c\5U+\2\u016c\u016d\5q9\2\u016d\u016e\5S*\2\u016e\u016f\5"+ - "m\67\2\u016f\u0170\5\177@\2\u0170\u0171\5o8\2\u0171\u0172\5i\65\2\u0172"+ - "\u0173\5S*\2\u0173\u0174\5O(\2\u0174\u0175\5[.\2\u0175\u0176\5K&\2\u0176"+ - "\u0177\5a\61\2\u0177\u0178\5\177@\2\u0178\u0179\5O(\2\u0179\u017a\5Y-"+ - "\2\u017a\u017b\5K&\2\u017b\u017c\5m\67\2\u017c\u017d\5o8\2\u017d:\3\2"+ - "\2\2\u017e\u017f\5i\65\2\u017f\u0180\5S*\2\u0180\u0181\5m\67\2\u0181\u0182"+ - "\5o8\2\u0182\u0183\5g\64\2\u0183\u0184\5e\63\2\u0184\u0185\5K&\2\u0185"+ - "\u0186\5a\61\2\u0186\u0187\5\177@\2\u0187\u0188\5[.\2\u0188\u0189\5Q)"+ - "\2\u0189\u018a\5S*\2\u018a\u018b\5e\63\2\u018b\u018c\5q9\2\u018c\u018d"+ - "\5[.\2\u018d\u018e\5q9\2\u018e\u018f\5{>\2\u018f\u0190\5\177@\2\u0190"+ - "\u0191\5e\63\2\u0191\u0192\5s:\2\u0192\u0193\5c\62\2\u0193\u0194\5M\'"+ - "\2\u0194\u0195\5S*\2\u0195\u0196\5m\67\2\u0196\u0197\5\177@\2\u0197\u0198"+ - "\5m\67\2\u0198\u0199\5K&\2\u0199\u019a\5e\63\2\u019a\u019b\5Q)\2\u019b"+ - "\u019c\5g\64\2\u019c\u019d\5c\62\2\u019d\u019e\5\177@\2\u019e\u019f\5"+ - "m\67\2\u019f\u01a0\5S*\2\u01a0\u01a1\5i\65\2\u01a1\u01a2\5a\61\2\u01a2"+ - "\u01a3\5K&\2\u01a3\u01a4\5O(\2\u01a4\u01a5\5S*\2\u01a5<\3\2\2\2\u01a6"+ - "\u01a7\5c\62\2\u01a7\u01a8\5[.\2\u01a8\u01a9\5a\61\2\u01a9\u01aa\5[.\2"+ - "\u01aa\u01ab\5q9\2\u01ab\u01ac\5K&\2\u01ac\u01ad\5m\67\2\u01ad\u01ae\5"+ - "{>\2\u01ae\u01af\5\177@\2\u01af\u01b0\5[.\2\u01b0\u01b1\5Q)\2\u01b1\u01b2"+ - "\5S*\2\u01b2\u01b3\5e\63\2\u01b3\u01b4\5q9\2\u01b4\u01b5\5[.\2\u01b5\u01b6"+ - "\5q9\2\u01b6\u01b7\5{>\2\u01b7\u01b8\5\177@\2\u01b8\u01b9\5e\63\2\u01b9"+ - "\u01ba\5s:\2\u01ba\u01bb\5c\62\2\u01bb\u01bc\5M\'\2\u01bc\u01bd\5S*\2"+ - "\u01bd\u01be\5m\67\2\u01be\u01bf\5\177@\2\u01bf\u01c0\5m\67\2\u01c0\u01c1"+ - "\5K&\2\u01c1\u01c2\5e\63\2\u01c2\u01c3\5Q)\2\u01c3\u01c4\5g\64\2\u01c4"+ - "\u01c5\5c\62\2\u01c5\u01c6\5\177@\2\u01c6\u01c7\5m\67\2\u01c7\u01c8\5"+ - "S*\2\u01c8\u01c9\5i\65\2\u01c9\u01ca\5a\61\2\u01ca\u01cb\5K&\2\u01cb\u01cc"+ - "\5O(\2\u01cc\u01cd\5S*\2\u01cd>\3\2\2\2\u01ce\u01cf\5a\61\2\u01cf\u01d0"+ - "\5K&\2\u01d0\u01d1\5e\63\2\u01d1\u01d2\5Q)\2\u01d2\u01d3\5a\61\2\u01d3"+ - "\u01d4\5[.\2\u01d4\u01d5\5e\63\2\u01d5\u01d6\5S*\2\u01d6\u01d7\5\177@"+ - "\2\u01d7\u01d8\5e\63\2\u01d8\u01d9\5s:\2\u01d9\u01da\5c\62\2\u01da\u01db"+ - "\5M\'\2\u01db\u01dc\5S*\2\u01dc\u01dd\5m\67\2\u01dd\u01de\5\177@\2\u01de"+ - "\u01df\5m\67\2\u01df\u01e0\5K&\2\u01e0\u01e1\5e\63\2\u01e1\u01e2\5Q)\2"+ - "\u01e2\u01e3\5g\64\2\u01e3\u01e4\5c\62\2\u01e4\u01e5\5\177@\2\u01e5\u01e6"+ - "\5m\67\2\u01e6\u01e7\5S*\2\u01e7\u01e8\5i\65\2\u01e8\u01e9\5a\61\2\u01e9"+ - "\u01ea\5K&\2\u01ea\u01eb\5O(\2\u01eb\u01ec\5S*\2\u01ec@\3\2\2\2\u01ed"+ - "\u01ee\5q9\2\u01ee\u01ef\5S*\2\u01ef\u01f0\5a\61\2\u01f0\u01f1\5S*\2\u01f1"+ - "\u01f2\5i\65\2\u01f2\u01f3\5Y-\2\u01f3\u01f4\5g\64\2\u01f4\u01f5\5e\63"+ - "\2\u01f5\u01f6\5S*\2\u01f6\u01f7\5\177@\2\u01f7\u01f8\5m\67\2\u01f8\u01f9"+ - "\5K&\2\u01f9\u01fa\5e\63\2\u01fa\u01fb\5Q)\2\u01fb\u01fc\5g\64\2\u01fc"+ - "\u01fd\5c\62\2\u01fd\u01fe\5\177@\2\u01fe\u01ff\5m\67\2\u01ff\u0200\5"+ - "S*\2\u0200\u0201\5i\65\2\u0201\u0202\5a\61\2\u0202\u0203\5K&\2\u0203\u0204"+ - "\5O(\2\u0204\u0205\5S*\2\u0205B\3\2\2\2\u0206\u0207\5s:\2\u0207\u0208"+ - "\5e\63\2\u0208\u0209\5[.\2\u0209\u020a\5U+\2\u020a\u020b\5[.\2\u020b\u020c"+ - "\5S*\2\u020c\u020d\5Q)\2\u020d\u020e\5\177@\2\u020e\u020f\5O(\2\u020f"+ - "\u0210\5m\67\2\u0210\u0211\5S*\2\u0211\u0212\5Q)\2\u0212\u0213\5[.\2\u0213"+ - "\u0214\5q9\2\u0214\u0215\5\177@\2\u0215\u0216\5O(\2\u0216\u0217\5g\64"+ - "\2\u0217\u0218\5Q)\2\u0218\u0219\5S*\2\u0219\u021a\5\177@\2\u021a\u021b"+ - "\5m\67\2\u021b\u021c\5K&\2\u021c\u021d\5e\63\2\u021d\u021e\5Q)\2\u021e"+ - "\u021f\5g\64\2\u021f\u0220\5c\62\2\u0220\u0221\5\177@\2\u0221\u0222\5"+ - "m\67\2\u0222\u0223\5S*\2\u0223\u0224\5i\65\2\u0224\u0225\5a\61\2\u0225"+ - "\u0226\5K&\2\u0226\u0227\5O(\2\u0227\u0228\5S*\2\u0228D\3\2\2\2\u0229"+ - "\u022a\5W,\2\u022a\u022b\5S*\2\u022b\u022c\5e\63\2\u022c\u022d\5S*\2\u022d"+ - "\u022e\5m\67\2\u022e\u022f\5[.\2\u022f\u0230\5O(\2\u0230\u0231\5\177@"+ - "\2\u0231\u0232\5q9\2\u0232\u0233\5K&\2\u0233\u0234\5M\'\2\u0234\u0235"+ - "\5a\61\2\u0235\u0236\5S*\2\u0236\u0237\5\177@\2\u0237\u0238\5m\67\2\u0238"+ - "\u0239\5K&\2\u0239\u023a\5e\63\2\u023a\u023b\5Q)\2\u023b\u023c\5g\64\2"+ - "\u023c\u023d\5c\62\2\u023d\u023e\5\177@\2\u023e\u023f\5m\67\2\u023f\u0240"+ - "\5S*\2\u0240\u0241\5i\65\2\u0241\u0242\5a\61\2\u0242\u0243\5K&\2\u0243"+ - "\u0244\5O(\2\u0244\u0245\5S*\2\u0245F\3\2\2\2\u0246\u0247\5K&\2\u0247"+ - "\u0248\5Q)\2\u0248\u0249\5Q)\2\u0249\u024a\5m\67\2\u024a\u024b\5S*\2\u024b"+ - "\u024c\5o8\2\u024c\u024d\5o8\2\u024d\u024e\5\177@\2\u024e\u024f\5m\67"+ - "\2\u024f\u0250\5K&\2\u0250\u0251\5e\63\2\u0251\u0252\5Q)\2\u0252\u0253"+ - "\5g\64\2\u0253\u0254\5c\62\2\u0254\u0255\5\177@\2\u0255\u0256\5m\67\2"+ - "\u0256\u0257\5S*\2\u0257\u0258\5i\65\2\u0258\u0259\5a\61\2\u0259\u025a"+ - "\5K&\2\u025a\u025b\5O(\2\u025b\u025c\5S*\2\u025cH\3\2\2\2\u025d\u025e"+ - "\7F\2\2\u025e\u025f\7Q\2\2\u025f\u0260\7\"\2\2\u0260\u0261\7P\2\2\u0261"+ - "\u0262\7Q\2\2\u0262\u0263\7V\2\2\u0263\u0264\7\"\2\2\u0264\u0265\7O\2"+ - "\2\u0265\u0266\7C\2\2\u0266\u0267\7V\2\2\u0267\u0268\7E\2\2\u0268\u0269"+ - "\7J\2\2\u0269\u026a\7\"\2\2\u026a\u026b\7C\2\2\u026b\u026c\7P\2\2\u026c"+ - "\u026d\7[\2\2\u026d\u026e\7\"\2\2\u026e\u026f\7V\2\2\u026f\u0270\7J\2"+ - "\2\u0270\u0271\7K\2\2\u0271\u0272\7P\2\2\u0272\u0273\7I\2\2\u0273\u0274"+ - "\7.\2\2\u0274\u0275\7\"\2\2\u0275\u0276\7L\2\2\u0276\u0277\7W\2\2\u0277"+ - "\u0278\7U\2\2\u0278\u0279\7V\2\2\u0279\u027a\7\"\2\2\u027a\u027b\7H\2"+ - "\2\u027b\u027c\7Q\2\2\u027c\u027d\7T\2\2\u027d\u027e\7\"\2\2\u027e\u027f"+ - "\7I\2\2\u027f\u0280\7G\2\2\u0280\u0281\7P\2\2\u0281\u0282\7G\2\2\u0282"+ - "\u0283\7T\2\2\u0283\u0284\7C\2\2\u0284\u0285\7V\2\2\u0285\u0286\7Q\2\2"+ - "\u0286\u0287\7T\2\2\u0287J\3\2\2\2\u0288\u0289\t\4\2\2\u0289L\3\2\2\2"+ - "\u028a\u028b\t\5\2\2\u028bN\3\2\2\2\u028c\u028d\t\6\2\2\u028dP\3\2\2\2"+ - "\u028e\u028f\t\7\2\2\u028fR\3\2\2\2\u0290\u0291\t\b\2\2\u0291T\3\2\2\2"+ - "\u0292\u0293\t\t\2\2\u0293V\3\2\2\2\u0294\u0295\t\n\2\2\u0295X\3\2\2\2"+ - "\u0296\u0297\t\13\2\2\u0297Z\3\2\2\2\u0298\u0299\t\f\2\2\u0299\\\3\2\2"+ - "\2\u029a\u029b\t\r\2\2\u029b^\3\2\2\2\u029c\u029d\t\16\2\2\u029d`\3\2"+ - "\2\2\u029e\u029f\t\17\2\2\u029fb\3\2\2\2\u02a0\u02a1\t\20\2\2\u02a1d\3"+ - "\2\2\2\u02a2\u02a3\t\21\2\2\u02a3f\3\2\2\2\u02a4\u02a5\t\22\2\2\u02a5"+ - "h\3\2\2\2\u02a6\u02a7\t\23\2\2\u02a7j\3\2\2\2\u02a8\u02a9\t\24\2\2\u02a9"+ - "l\3\2\2\2\u02aa\u02ab\t\25\2\2\u02abn\3\2\2\2\u02ac\u02ad\t\26\2\2\u02ad"+ - "p\3\2\2\2\u02ae\u02af\t\27\2\2\u02afr\3\2\2\2\u02b0\u02b1\t\30\2\2\u02b1"+ - "t\3\2\2\2\u02b2\u02b3\t\31\2\2\u02b3v\3\2\2\2\u02b4\u02b5\t\32\2\2\u02b5"+ - "x\3\2\2\2\u02b6\u02b7\t\33\2\2\u02b7z\3\2\2\2\u02b8\u02b9\t\34\2\2\u02b9"+ - "|\3\2\2\2\u02ba\u02bb\t\35\2\2\u02bb~\3\2\2\2\u02bc\u02bd\7a\2\2\u02bd"+ - "\u0080\3\2\2\2\4\2\u0084\3\b\2\2"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Keyword.tokens b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Keyword.tokens deleted file mode 100644 index efea8d0f..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Keyword.tokens +++ /dev/null @@ -1,37 +0,0 @@ -WS=1 -TRUE=2 -FALSE=3 -CREATE=4 -ALTER=5 -DROP=6 -SHOW=7 -RULE=8 -FROM=9 -MASK=10 -TYPE=11 -NAME=12 -PROPERTIES=13 -COLUMN=14 -RULES=15 -TABLE=16 -COLUMNS=17 -IF=18 -EXISTS=19 -COUNT=20 -NOT=21 -MD5=22 -KEEP_FIRST_N_LAST_M=23 -KEEP_FROM_X_TO_Y=24 -MASK_FIRST_N_LAST_M=25 -MASK_FROM_X_TO_Y=26 -MASK_BEFORE_SPECIAL_CHARS=27 -MASK_AFTER_SPECIAL_CHARS=28 -PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE=29 -MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE=30 -LANDLINE_NUMBER_RANDOM_REPLACE=31 -TELEPHONE_RANDOM_REPLACE=32 -UNIFIED_CREDIT_CODE_RANDOM_REPLACE=33 -GENERIC_TABLE_RANDOM_REPLACE=34 -ADDRESS_RANDOM_REPLACE=35 -FOR_GENERATOR=36 -'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=36 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Literals.interp b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Literals.interp deleted file mode 100644 index af532573..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Literals.interp +++ /dev/null @@ -1,191 +0,0 @@ -token literal names: -null -null -null -null -null -null -null -null -'DO NOT MATCH ANY THING, JUST FOR GENERATOR' -'&&' -'||' -'!' -'~' -'|' -'&' -'<<' -'>>' -'^' -'%' -':' -'+' -'-' -'*' -'/' -'\\' -'.' -'.*' -'<=>' -'==' -'=' -null -'>' -'>=' -'<' -'<=' -'#' -'(' -')' -'{' -'}' -'[' -']' -',' -'"' -'\'' -'`' -'?' -'@' -';' -'->>' - -token symbolic names: -null -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ -FOR_GENERATOR -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ - -rule names: -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ -FOR_GENERATOR -A -B -C -D -E -F -G -H -I -J -K -L -M -N -O -P -Q -R -S -T -U -V -W -X -Y -Z -UL_ -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ - -channel names: -DEFAULT_TOKEN_CHANNEL -HIDDEN - -mode names: -DEFAULT_MODE - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 51, 466, 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, 3, 2, 7, 2, 157, 10, 2, 12, 2, 14, 2, 160, 11, 2, 3, 2, 6, 2, 163, 10, 2, 13, 2, 14, 2, 164, 3, 2, 7, 2, 168, 10, 2, 12, 2, 14, 2, 171, 11, 2, 3, 2, 3, 2, 6, 2, 175, 10, 2, 13, 2, 14, 2, 176, 3, 2, 3, 2, 5, 2, 181, 10, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 189, 10, 3, 12, 3, 14, 3, 192, 11, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 202, 10, 3, 12, 3, 14, 3, 205, 11, 3, 3, 3, 3, 3, 5, 3, 209, 10, 3, 3, 4, 6, 4, 212, 10, 4, 13, 4, 14, 4, 213, 3, 5, 3, 5, 3, 6, 5, 6, 219, 10, 6, 3, 6, 5, 6, 222, 10, 6, 3, 6, 3, 6, 3, 6, 3, 6, 5, 6, 228, 10, 6, 3, 6, 3, 6, 5, 6, 232, 10, 6, 3, 7, 3, 7, 3, 7, 3, 7, 6, 7, 238, 10, 7, 13, 7, 14, 7, 239, 3, 7, 3, 7, 3, 7, 6, 7, 245, 10, 7, 13, 7, 14, 7, 246, 3, 7, 3, 7, 5, 7, 251, 10, 7, 3, 8, 3, 8, 3, 8, 3, 8, 6, 8, 257, 10, 8, 13, 8, 14, 8, 258, 3, 8, 3, 8, 3, 8, 6, 8, 264, 10, 8, 13, 8, 14, 8, 265, 3, 8, 3, 8, 5, 8, 270, 10, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 3, 18, 3, 18, 3, 19, 3, 19, 3, 20, 3, 20, 3, 21, 3, 21, 3, 22, 3, 22, 3, 23, 3, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 37, 3, 38, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 43, 3, 43, 3, 43, 3, 44, 3, 44, 3, 44, 3, 45, 3, 45, 3, 46, 3, 46, 3, 47, 3, 47, 3, 48, 3, 48, 3, 49, 3, 49, 3, 50, 3, 50, 3, 51, 3, 51, 3, 52, 3, 52, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 5, 58, 423, 10, 58, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 64, 3, 64, 3, 65, 3, 65, 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, 72, 3, 72, 3, 73, 3, 73, 3, 74, 3, 74, 3, 75, 3, 75, 3, 76, 3, 76, 3, 77, 3, 77, 3, 77, 3, 77, 4, 158, 164, 2, 78, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 2, 21, 2, 23, 2, 25, 2, 27, 2, 29, 2, 31, 2, 33, 2, 35, 2, 37, 2, 39, 2, 41, 2, 43, 2, 45, 2, 47, 2, 49, 2, 51, 2, 53, 2, 55, 2, 57, 2, 59, 2, 61, 2, 63, 2, 65, 2, 67, 2, 69, 2, 71, 2, 73, 11, 75, 12, 77, 13, 79, 14, 81, 15, 83, 16, 85, 17, 87, 18, 89, 19, 91, 20, 93, 21, 95, 22, 97, 23, 99, 24, 101, 25, 103, 26, 105, 27, 107, 28, 109, 29, 111, 30, 113, 31, 115, 32, 117, 33, 119, 34, 121, 35, 123, 36, 125, 37, 127, 38, 129, 39, 131, 40, 133, 41, 135, 42, 137, 43, 139, 44, 141, 45, 143, 46, 145, 47, 147, 48, 149, 49, 151, 50, 153, 51, 3, 2, 35, 7, 2, 38, 38, 50, 59, 67, 92, 97, 97, 99, 124, 6, 2, 38, 38, 67, 92, 97, 97, 99, 124, 3, 2, 98, 98, 4, 2, 36, 36, 94, 94, 4, 2, 41, 41, 94, 94, 3, 2, 50, 59, 5, 2, 50, 59, 67, 72, 99, 104, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 2, 463, 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, 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, 3, 180, 3, 2, 2, 2, 5, 208, 3, 2, 2, 2, 7, 211, 3, 2, 2, 2, 9, 215, 3, 2, 2, 2, 11, 218, 3, 2, 2, 2, 13, 250, 3, 2, 2, 2, 15, 269, 3, 2, 2, 2, 17, 271, 3, 2, 2, 2, 19, 314, 3, 2, 2, 2, 21, 316, 3, 2, 2, 2, 23, 318, 3, 2, 2, 2, 25, 320, 3, 2, 2, 2, 27, 322, 3, 2, 2, 2, 29, 324, 3, 2, 2, 2, 31, 326, 3, 2, 2, 2, 33, 328, 3, 2, 2, 2, 35, 330, 3, 2, 2, 2, 37, 332, 3, 2, 2, 2, 39, 334, 3, 2, 2, 2, 41, 336, 3, 2, 2, 2, 43, 338, 3, 2, 2, 2, 45, 340, 3, 2, 2, 2, 47, 342, 3, 2, 2, 2, 49, 344, 3, 2, 2, 2, 51, 346, 3, 2, 2, 2, 53, 348, 3, 2, 2, 2, 55, 350, 3, 2, 2, 2, 57, 352, 3, 2, 2, 2, 59, 354, 3, 2, 2, 2, 61, 356, 3, 2, 2, 2, 63, 358, 3, 2, 2, 2, 65, 360, 3, 2, 2, 2, 67, 362, 3, 2, 2, 2, 69, 364, 3, 2, 2, 2, 71, 366, 3, 2, 2, 2, 73, 368, 3, 2, 2, 2, 75, 371, 3, 2, 2, 2, 77, 374, 3, 2, 2, 2, 79, 376, 3, 2, 2, 2, 81, 378, 3, 2, 2, 2, 83, 380, 3, 2, 2, 2, 85, 382, 3, 2, 2, 2, 87, 385, 3, 2, 2, 2, 89, 388, 3, 2, 2, 2, 91, 390, 3, 2, 2, 2, 93, 392, 3, 2, 2, 2, 95, 394, 3, 2, 2, 2, 97, 396, 3, 2, 2, 2, 99, 398, 3, 2, 2, 2, 101, 400, 3, 2, 2, 2, 103, 402, 3, 2, 2, 2, 105, 404, 3, 2, 2, 2, 107, 406, 3, 2, 2, 2, 109, 409, 3, 2, 2, 2, 111, 413, 3, 2, 2, 2, 113, 416, 3, 2, 2, 2, 115, 422, 3, 2, 2, 2, 117, 424, 3, 2, 2, 2, 119, 426, 3, 2, 2, 2, 121, 429, 3, 2, 2, 2, 123, 431, 3, 2, 2, 2, 125, 434, 3, 2, 2, 2, 127, 436, 3, 2, 2, 2, 129, 438, 3, 2, 2, 2, 131, 440, 3, 2, 2, 2, 133, 442, 3, 2, 2, 2, 135, 444, 3, 2, 2, 2, 137, 446, 3, 2, 2, 2, 139, 448, 3, 2, 2, 2, 141, 450, 3, 2, 2, 2, 143, 452, 3, 2, 2, 2, 145, 454, 3, 2, 2, 2, 147, 456, 3, 2, 2, 2, 149, 458, 3, 2, 2, 2, 151, 460, 3, 2, 2, 2, 153, 462, 3, 2, 2, 2, 155, 157, 9, 2, 2, 2, 156, 155, 3, 2, 2, 2, 157, 160, 3, 2, 2, 2, 158, 159, 3, 2, 2, 2, 158, 156, 3, 2, 2, 2, 159, 162, 3, 2, 2, 2, 160, 158, 3, 2, 2, 2, 161, 163, 9, 3, 2, 2, 162, 161, 3, 2, 2, 2, 163, 164, 3, 2, 2, 2, 164, 165, 3, 2, 2, 2, 164, 162, 3, 2, 2, 2, 165, 169, 3, 2, 2, 2, 166, 168, 9, 2, 2, 2, 167, 166, 3, 2, 2, 2, 168, 171, 3, 2, 2, 2, 169, 167, 3, 2, 2, 2, 169, 170, 3, 2, 2, 2, 170, 181, 3, 2, 2, 2, 171, 169, 3, 2, 2, 2, 172, 174, 5, 145, 73, 2, 173, 175, 10, 4, 2, 2, 174, 173, 3, 2, 2, 2, 175, 176, 3, 2, 2, 2, 176, 174, 3, 2, 2, 2, 176, 177, 3, 2, 2, 2, 177, 178, 3, 2, 2, 2, 178, 179, 5, 145, 73, 2, 179, 181, 3, 2, 2, 2, 180, 158, 3, 2, 2, 2, 180, 172, 3, 2, 2, 2, 181, 4, 3, 2, 2, 2, 182, 190, 5, 141, 71, 2, 183, 184, 7, 94, 2, 2, 184, 189, 11, 2, 2, 2, 185, 186, 7, 36, 2, 2, 186, 189, 7, 36, 2, 2, 187, 189, 10, 5, 2, 2, 188, 183, 3, 2, 2, 2, 188, 185, 3, 2, 2, 2, 188, 187, 3, 2, 2, 2, 189, 192, 3, 2, 2, 2, 190, 188, 3, 2, 2, 2, 190, 191, 3, 2, 2, 2, 191, 193, 3, 2, 2, 2, 192, 190, 3, 2, 2, 2, 193, 194, 5, 141, 71, 2, 194, 209, 3, 2, 2, 2, 195, 203, 5, 143, 72, 2, 196, 197, 7, 94, 2, 2, 197, 202, 11, 2, 2, 2, 198, 199, 7, 41, 2, 2, 199, 202, 7, 41, 2, 2, 200, 202, 10, 6, 2, 2, 201, 196, 3, 2, 2, 2, 201, 198, 3, 2, 2, 2, 201, 200, 3, 2, 2, 2, 202, 205, 3, 2, 2, 2, 203, 201, 3, 2, 2, 2, 203, 204, 3, 2, 2, 2, 204, 206, 3, 2, 2, 2, 205, 203, 3, 2, 2, 2, 206, 207, 5, 143, 72, 2, 207, 209, 3, 2, 2, 2, 208, 182, 3, 2, 2, 2, 208, 195, 3, 2, 2, 2, 209, 6, 3, 2, 2, 2, 210, 212, 9, 7, 2, 2, 211, 210, 3, 2, 2, 2, 212, 213, 3, 2, 2, 2, 213, 211, 3, 2, 2, 2, 213, 214, 3, 2, 2, 2, 214, 8, 3, 2, 2, 2, 215, 216, 9, 8, 2, 2, 216, 10, 3, 2, 2, 2, 217, 219, 5, 7, 4, 2, 218, 217, 3, 2, 2, 2, 218, 219, 3, 2, 2, 2, 219, 221, 3, 2, 2, 2, 220, 222, 5, 105, 53, 2, 221, 220, 3, 2, 2, 2, 221, 222, 3, 2, 2, 2, 222, 223, 3, 2, 2, 2, 223, 231, 5, 7, 4, 2, 224, 227, 5, 27, 14, 2, 225, 228, 5, 95, 48, 2, 226, 228, 5, 97, 49, 2, 227, 225, 3, 2, 2, 2, 227, 226, 3, 2, 2, 2, 227, 228, 3, 2, 2, 2, 228, 229, 3, 2, 2, 2, 229, 230, 5, 7, 4, 2, 230, 232, 3, 2, 2, 2, 231, 224, 3, 2, 2, 2, 231, 232, 3, 2, 2, 2, 232, 12, 3, 2, 2, 2, 233, 234, 7, 50, 2, 2, 234, 235, 7, 122, 2, 2, 235, 237, 3, 2, 2, 2, 236, 238, 5, 9, 5, 2, 237, 236, 3, 2, 2, 2, 238, 239, 3, 2, 2, 2, 239, 237, 3, 2, 2, 2, 239, 240, 3, 2, 2, 2, 240, 251, 3, 2, 2, 2, 241, 242, 7, 90, 2, 2, 242, 244, 5, 143, 72, 2, 243, 245, 5, 9, 5, 2, 244, 243, 3, 2, 2, 2, 245, 246, 3, 2, 2, 2, 246, 244, 3, 2, 2, 2, 246, 247, 3, 2, 2, 2, 247, 248, 3, 2, 2, 2, 248, 249, 5, 143, 72, 2, 249, 251, 3, 2, 2, 2, 250, 233, 3, 2, 2, 2, 250, 241, 3, 2, 2, 2, 251, 14, 3, 2, 2, 2, 252, 253, 7, 50, 2, 2, 253, 254, 7, 100, 2, 2, 254, 256, 3, 2, 2, 2, 255, 257, 4, 50, 51, 2, 256, 255, 3, 2, 2, 2, 257, 258, 3, 2, 2, 2, 258, 256, 3, 2, 2, 2, 258, 259, 3, 2, 2, 2, 259, 270, 3, 2, 2, 2, 260, 261, 5, 21, 11, 2, 261, 263, 5, 143, 72, 2, 262, 264, 4, 50, 51, 2, 263, 262, 3, 2, 2, 2, 264, 265, 3, 2, 2, 2, 265, 263, 3, 2, 2, 2, 265, 266, 3, 2, 2, 2, 266, 267, 3, 2, 2, 2, 267, 268, 5, 143, 72, 2, 268, 270, 3, 2, 2, 2, 269, 252, 3, 2, 2, 2, 269, 260, 3, 2, 2, 2, 270, 16, 3, 2, 2, 2, 271, 272, 7, 70, 2, 2, 272, 273, 7, 81, 2, 2, 273, 274, 7, 34, 2, 2, 274, 275, 7, 80, 2, 2, 275, 276, 7, 81, 2, 2, 276, 277, 7, 86, 2, 2, 277, 278, 7, 34, 2, 2, 278, 279, 7, 79, 2, 2, 279, 280, 7, 67, 2, 2, 280, 281, 7, 86, 2, 2, 281, 282, 7, 69, 2, 2, 282, 283, 7, 74, 2, 2, 283, 284, 7, 34, 2, 2, 284, 285, 7, 67, 2, 2, 285, 286, 7, 80, 2, 2, 286, 287, 7, 91, 2, 2, 287, 288, 7, 34, 2, 2, 288, 289, 7, 86, 2, 2, 289, 290, 7, 74, 2, 2, 290, 291, 7, 75, 2, 2, 291, 292, 7, 80, 2, 2, 292, 293, 7, 73, 2, 2, 293, 294, 7, 46, 2, 2, 294, 295, 7, 34, 2, 2, 295, 296, 7, 76, 2, 2, 296, 297, 7, 87, 2, 2, 297, 298, 7, 85, 2, 2, 298, 299, 7, 86, 2, 2, 299, 300, 7, 34, 2, 2, 300, 301, 7, 72, 2, 2, 301, 302, 7, 81, 2, 2, 302, 303, 7, 84, 2, 2, 303, 304, 7, 34, 2, 2, 304, 305, 7, 73, 2, 2, 305, 306, 7, 71, 2, 2, 306, 307, 7, 80, 2, 2, 307, 308, 7, 71, 2, 2, 308, 309, 7, 84, 2, 2, 309, 310, 7, 67, 2, 2, 310, 311, 7, 86, 2, 2, 311, 312, 7, 81, 2, 2, 312, 313, 7, 84, 2, 2, 313, 18, 3, 2, 2, 2, 314, 315, 9, 9, 2, 2, 315, 20, 3, 2, 2, 2, 316, 317, 9, 10, 2, 2, 317, 22, 3, 2, 2, 2, 318, 319, 9, 11, 2, 2, 319, 24, 3, 2, 2, 2, 320, 321, 9, 12, 2, 2, 321, 26, 3, 2, 2, 2, 322, 323, 9, 13, 2, 2, 323, 28, 3, 2, 2, 2, 324, 325, 9, 14, 2, 2, 325, 30, 3, 2, 2, 2, 326, 327, 9, 15, 2, 2, 327, 32, 3, 2, 2, 2, 328, 329, 9, 16, 2, 2, 329, 34, 3, 2, 2, 2, 330, 331, 9, 17, 2, 2, 331, 36, 3, 2, 2, 2, 332, 333, 9, 18, 2, 2, 333, 38, 3, 2, 2, 2, 334, 335, 9, 19, 2, 2, 335, 40, 3, 2, 2, 2, 336, 337, 9, 20, 2, 2, 337, 42, 3, 2, 2, 2, 338, 339, 9, 21, 2, 2, 339, 44, 3, 2, 2, 2, 340, 341, 9, 22, 2, 2, 341, 46, 3, 2, 2, 2, 342, 343, 9, 23, 2, 2, 343, 48, 3, 2, 2, 2, 344, 345, 9, 24, 2, 2, 345, 50, 3, 2, 2, 2, 346, 347, 9, 25, 2, 2, 347, 52, 3, 2, 2, 2, 348, 349, 9, 26, 2, 2, 349, 54, 3, 2, 2, 2, 350, 351, 9, 27, 2, 2, 351, 56, 3, 2, 2, 2, 352, 353, 9, 28, 2, 2, 353, 58, 3, 2, 2, 2, 354, 355, 9, 29, 2, 2, 355, 60, 3, 2, 2, 2, 356, 357, 9, 30, 2, 2, 357, 62, 3, 2, 2, 2, 358, 359, 9, 31, 2, 2, 359, 64, 3, 2, 2, 2, 360, 361, 9, 32, 2, 2, 361, 66, 3, 2, 2, 2, 362, 363, 9, 33, 2, 2, 363, 68, 3, 2, 2, 2, 364, 365, 9, 34, 2, 2, 365, 70, 3, 2, 2, 2, 366, 367, 7, 97, 2, 2, 367, 72, 3, 2, 2, 2, 368, 369, 7, 40, 2, 2, 369, 370, 7, 40, 2, 2, 370, 74, 3, 2, 2, 2, 371, 372, 7, 126, 2, 2, 372, 373, 7, 126, 2, 2, 373, 76, 3, 2, 2, 2, 374, 375, 7, 35, 2, 2, 375, 78, 3, 2, 2, 2, 376, 377, 7, 128, 2, 2, 377, 80, 3, 2, 2, 2, 378, 379, 7, 126, 2, 2, 379, 82, 3, 2, 2, 2, 380, 381, 7, 40, 2, 2, 381, 84, 3, 2, 2, 2, 382, 383, 7, 62, 2, 2, 383, 384, 7, 62, 2, 2, 384, 86, 3, 2, 2, 2, 385, 386, 7, 64, 2, 2, 386, 387, 7, 64, 2, 2, 387, 88, 3, 2, 2, 2, 388, 389, 7, 96, 2, 2, 389, 90, 3, 2, 2, 2, 390, 391, 7, 39, 2, 2, 391, 92, 3, 2, 2, 2, 392, 393, 7, 60, 2, 2, 393, 94, 3, 2, 2, 2, 394, 395, 7, 45, 2, 2, 395, 96, 3, 2, 2, 2, 396, 397, 7, 47, 2, 2, 397, 98, 3, 2, 2, 2, 398, 399, 7, 44, 2, 2, 399, 100, 3, 2, 2, 2, 400, 401, 7, 49, 2, 2, 401, 102, 3, 2, 2, 2, 402, 403, 7, 94, 2, 2, 403, 104, 3, 2, 2, 2, 404, 405, 7, 48, 2, 2, 405, 106, 3, 2, 2, 2, 406, 407, 7, 48, 2, 2, 407, 408, 7, 44, 2, 2, 408, 108, 3, 2, 2, 2, 409, 410, 7, 62, 2, 2, 410, 411, 7, 63, 2, 2, 411, 412, 7, 64, 2, 2, 412, 110, 3, 2, 2, 2, 413, 414, 7, 63, 2, 2, 414, 415, 7, 63, 2, 2, 415, 112, 3, 2, 2, 2, 416, 417, 7, 63, 2, 2, 417, 114, 3, 2, 2, 2, 418, 419, 7, 62, 2, 2, 419, 423, 7, 64, 2, 2, 420, 421, 7, 35, 2, 2, 421, 423, 7, 63, 2, 2, 422, 418, 3, 2, 2, 2, 422, 420, 3, 2, 2, 2, 423, 116, 3, 2, 2, 2, 424, 425, 7, 64, 2, 2, 425, 118, 3, 2, 2, 2, 426, 427, 7, 64, 2, 2, 427, 428, 7, 63, 2, 2, 428, 120, 3, 2, 2, 2, 429, 430, 7, 62, 2, 2, 430, 122, 3, 2, 2, 2, 431, 432, 7, 62, 2, 2, 432, 433, 7, 63, 2, 2, 433, 124, 3, 2, 2, 2, 434, 435, 7, 37, 2, 2, 435, 126, 3, 2, 2, 2, 436, 437, 7, 42, 2, 2, 437, 128, 3, 2, 2, 2, 438, 439, 7, 43, 2, 2, 439, 130, 3, 2, 2, 2, 440, 441, 7, 125, 2, 2, 441, 132, 3, 2, 2, 2, 442, 443, 7, 127, 2, 2, 443, 134, 3, 2, 2, 2, 444, 445, 7, 93, 2, 2, 445, 136, 3, 2, 2, 2, 446, 447, 7, 95, 2, 2, 447, 138, 3, 2, 2, 2, 448, 449, 7, 46, 2, 2, 449, 140, 3, 2, 2, 2, 450, 451, 7, 36, 2, 2, 451, 142, 3, 2, 2, 2, 452, 453, 7, 41, 2, 2, 453, 144, 3, 2, 2, 2, 454, 455, 7, 98, 2, 2, 455, 146, 3, 2, 2, 2, 456, 457, 7, 65, 2, 2, 457, 148, 3, 2, 2, 2, 458, 459, 7, 66, 2, 2, 459, 150, 3, 2, 2, 2, 460, 461, 7, 61, 2, 2, 461, 152, 3, 2, 2, 2, 462, 463, 7, 47, 2, 2, 463, 464, 7, 64, 2, 2, 464, 465, 7, 64, 2, 2, 465, 154, 3, 2, 2, 2, 25, 2, 158, 164, 169, 176, 180, 188, 190, 201, 203, 208, 213, 218, 221, 227, 231, 239, 246, 250, 258, 265, 269, 422, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Literals.java b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Literals.java deleted file mode 100644 index 3b7ff4a8..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Literals.java +++ /dev/null @@ -1,298 +0,0 @@ -// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/mask/Literals.g4 by ANTLR 4.9.2 -import org.antlr.v4.runtime.Lexer; -import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.TokenStream; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.misc.*; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class Literals extends Lexer { - static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - IDENTIFIER_=1, STRING_=2, INT_=3, HEX_=4, NUMBER_=5, HEXDIGIT_=6, BITNUM_=7, - FOR_GENERATOR=8, AND_=9, OR_=10, NOT_=11, TILDE_=12, VERTICALBAR_=13, - AMPERSAND_=14, SIGNEDLEFTSHIFT_=15, SIGNEDRIGHTSHIFT_=16, CARET_=17, MOD_=18, - COLON_=19, PLUS_=20, MINUS_=21, ASTERISK_=22, SLASH_=23, BACKSLASH_=24, - DOT_=25, DOTASTERISK_=26, SAFEEQ_=27, DEQ_=28, EQ_=29, NEQ_=30, GT_=31, - GTE_=32, LT_=33, LTE_=34, POUND_=35, LP_=36, RP_=37, LBE_=38, RBE_=39, - LBT_=40, RBT_=41, COMMA_=42, DQ_=43, SQ_=44, BQ_=45, QUESTION_=46, AT_=47, - SEMI_=48, JSONSEPARATOR_=49; - public static String[] channelNames = { - "DEFAULT_TOKEN_CHANNEL", "HIDDEN" - }; - - public static String[] modeNames = { - "DEFAULT_MODE" - }; - - private static String[] makeRuleNames() { - return new String[] { - "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_", - "FOR_GENERATOR", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", - "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", - "Z", "UL_", "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", - "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", - "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", - "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", - "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", - "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, null, null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'", - "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", "'%'", - "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", "'=='", - "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", "'{'", - "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", "';'", - "'->>'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", - "BITNUM_", "FOR_GENERATOR", "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", - "AMPERSAND_", "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", - "COLON_", "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", - "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", - "LTE_", "POUND_", "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", - "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - - public Literals(CharStream input) { - super(input); - _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - @Override - public String getGrammarFileName() { return "Literals.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public String[] getChannelNames() { return channelNames; } - - @Override - public String[] getModeNames() { return modeNames; } - - @Override - public ATN getATN() { return _ATN; } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2\63\u01d2\b\1\4\2"+ - "\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4"+ - "\13\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22"+ - "\t\22\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31"+ - "\t\31\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t"+ - " \4!\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t"+ - "+\4,\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64"+ - "\t\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t"+ - "=\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4"+ - "I\tI\4J\tJ\4K\tK\4L\tL\4M\tM\3\2\7\2\u009d\n\2\f\2\16\2\u00a0\13\2\3\2"+ - "\6\2\u00a3\n\2\r\2\16\2\u00a4\3\2\7\2\u00a8\n\2\f\2\16\2\u00ab\13\2\3"+ - "\2\3\2\6\2\u00af\n\2\r\2\16\2\u00b0\3\2\3\2\5\2\u00b5\n\2\3\3\3\3\3\3"+ - "\3\3\3\3\3\3\7\3\u00bd\n\3\f\3\16\3\u00c0\13\3\3\3\3\3\3\3\3\3\3\3\3\3"+ - "\3\3\3\3\7\3\u00ca\n\3\f\3\16\3\u00cd\13\3\3\3\3\3\5\3\u00d1\n\3\3\4\6"+ - "\4\u00d4\n\4\r\4\16\4\u00d5\3\5\3\5\3\6\5\6\u00db\n\6\3\6\5\6\u00de\n"+ - "\6\3\6\3\6\3\6\3\6\5\6\u00e4\n\6\3\6\3\6\5\6\u00e8\n\6\3\7\3\7\3\7\3\7"+ - "\6\7\u00ee\n\7\r\7\16\7\u00ef\3\7\3\7\3\7\6\7\u00f5\n\7\r\7\16\7\u00f6"+ - "\3\7\3\7\5\7\u00fb\n\7\3\b\3\b\3\b\3\b\6\b\u0101\n\b\r\b\16\b\u0102\3"+ - "\b\3\b\3\b\6\b\u0108\n\b\r\b\16\b\u0109\3\b\3\b\5\b\u010e\n\b\3\t\3\t"+ - "\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3"+ - "\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t"+ - "\3\t\3\t\3\t\3\t\3\t\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3"+ - "\17\3\17\3\20\3\20\3\21\3\21\3\22\3\22\3\23\3\23\3\24\3\24\3\25\3\25\3"+ - "\26\3\26\3\27\3\27\3\30\3\30\3\31\3\31\3\32\3\32\3\33\3\33\3\34\3\34\3"+ - "\35\3\35\3\36\3\36\3\37\3\37\3 \3 \3!\3!\3\"\3\"\3#\3#\3$\3$\3%\3%\3%"+ - "\3&\3&\3&\3\'\3\'\3(\3(\3)\3)\3*\3*\3+\3+\3+\3,\3,\3,\3-\3-\3.\3.\3/\3"+ - "/\3\60\3\60\3\61\3\61\3\62\3\62\3\63\3\63\3\64\3\64\3\65\3\65\3\66\3\66"+ - "\3\66\3\67\3\67\3\67\3\67\38\38\38\39\39\3:\3:\3:\3:\5:\u01a7\n:\3;\3"+ - ";\3<\3<\3<\3=\3=\3>\3>\3>\3?\3?\3@\3@\3A\3A\3B\3B\3C\3C\3D\3D\3E\3E\3"+ - "F\3F\3G\3G\3H\3H\3I\3I\3J\3J\3K\3K\3L\3L\3M\3M\3M\3M\4\u009e\u00a4\2N"+ - "\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23\2\25\2\27\2\31\2\33\2\35\2\37\2"+ - "!\2#\2%\2\'\2)\2+\2-\2/\2\61\2\63\2\65\2\67\29\2;\2=\2?\2A\2C\2E\2G\2"+ - "I\13K\fM\rO\16Q\17S\20U\21W\22Y\23[\24]\25_\26a\27c\30e\31g\32i\33k\34"+ - "m\35o\36q\37s u!w\"y#{$}%\177&\u0081\'\u0083(\u0085)\u0087*\u0089+\u008b"+ - ",\u008d-\u008f.\u0091/\u0093\60\u0095\61\u0097\62\u0099\63\3\2#\7\2&&"+ - "\62;C\\aac|\6\2&&C\\aac|\3\2bb\4\2$$^^\4\2))^^\3\2\62;\5\2\62;CHch\4\2"+ - "CCcc\4\2DDdd\4\2EEee\4\2FFff\4\2GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4"+ - "\2LLll\4\2MMmm\4\2NNnn\4\2OOoo\4\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4\2TTt"+ - "t\4\2UUuu\4\2VVvv\4\2WWww\4\2XXxx\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\||\2"+ - "\u01cf\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2"+ - "\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2\2\2\2I\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2"+ - "\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2["+ - "\3\2\2\2\2]\3\2\2\2\2_\3\2\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3\2"+ - "\2\2\2i\3\2\2\2\2k\3\2\2\2\2m\3\2\2\2\2o\3\2\2\2\2q\3\2\2\2\2s\3\2\2\2"+ - "\2u\3\2\2\2\2w\3\2\2\2\2y\3\2\2\2\2{\3\2\2\2\2}\3\2\2\2\2\177\3\2\2\2"+ - "\2\u0081\3\2\2\2\2\u0083\3\2\2\2\2\u0085\3\2\2\2\2\u0087\3\2\2\2\2\u0089"+ - "\3\2\2\2\2\u008b\3\2\2\2\2\u008d\3\2\2\2\2\u008f\3\2\2\2\2\u0091\3\2\2"+ - "\2\2\u0093\3\2\2\2\2\u0095\3\2\2\2\2\u0097\3\2\2\2\2\u0099\3\2\2\2\3\u00b4"+ - "\3\2\2\2\5\u00d0\3\2\2\2\7\u00d3\3\2\2\2\t\u00d7\3\2\2\2\13\u00da\3\2"+ - "\2\2\r\u00fa\3\2\2\2\17\u010d\3\2\2\2\21\u010f\3\2\2\2\23\u013a\3\2\2"+ - "\2\25\u013c\3\2\2\2\27\u013e\3\2\2\2\31\u0140\3\2\2\2\33\u0142\3\2\2\2"+ - "\35\u0144\3\2\2\2\37\u0146\3\2\2\2!\u0148\3\2\2\2#\u014a\3\2\2\2%\u014c"+ - "\3\2\2\2\'\u014e\3\2\2\2)\u0150\3\2\2\2+\u0152\3\2\2\2-\u0154\3\2\2\2"+ - "/\u0156\3\2\2\2\61\u0158\3\2\2\2\63\u015a\3\2\2\2\65\u015c\3\2\2\2\67"+ - "\u015e\3\2\2\29\u0160\3\2\2\2;\u0162\3\2\2\2=\u0164\3\2\2\2?\u0166\3\2"+ - "\2\2A\u0168\3\2\2\2C\u016a\3\2\2\2E\u016c\3\2\2\2G\u016e\3\2\2\2I\u0170"+ - "\3\2\2\2K\u0173\3\2\2\2M\u0176\3\2\2\2O\u0178\3\2\2\2Q\u017a\3\2\2\2S"+ - "\u017c\3\2\2\2U\u017e\3\2\2\2W\u0181\3\2\2\2Y\u0184\3\2\2\2[\u0186\3\2"+ - "\2\2]\u0188\3\2\2\2_\u018a\3\2\2\2a\u018c\3\2\2\2c\u018e\3\2\2\2e\u0190"+ - "\3\2\2\2g\u0192\3\2\2\2i\u0194\3\2\2\2k\u0196\3\2\2\2m\u0199\3\2\2\2o"+ - "\u019d\3\2\2\2q\u01a0\3\2\2\2s\u01a6\3\2\2\2u\u01a8\3\2\2\2w\u01aa\3\2"+ - "\2\2y\u01ad\3\2\2\2{\u01af\3\2\2\2}\u01b2\3\2\2\2\177\u01b4\3\2\2\2\u0081"+ - "\u01b6\3\2\2\2\u0083\u01b8\3\2\2\2\u0085\u01ba\3\2\2\2\u0087\u01bc\3\2"+ - "\2\2\u0089\u01be\3\2\2\2\u008b\u01c0\3\2\2\2\u008d\u01c2\3\2\2\2\u008f"+ - "\u01c4\3\2\2\2\u0091\u01c6\3\2\2\2\u0093\u01c8\3\2\2\2\u0095\u01ca\3\2"+ - "\2\2\u0097\u01cc\3\2\2\2\u0099\u01ce\3\2\2\2\u009b\u009d\t\2\2\2\u009c"+ - "\u009b\3\2\2\2\u009d\u00a0\3\2\2\2\u009e\u009f\3\2\2\2\u009e\u009c\3\2"+ - "\2\2\u009f\u00a2\3\2\2\2\u00a0\u009e\3\2\2\2\u00a1\u00a3\t\3\2\2\u00a2"+ - "\u00a1\3\2\2\2\u00a3\u00a4\3\2\2\2\u00a4\u00a5\3\2\2\2\u00a4\u00a2\3\2"+ - "\2\2\u00a5\u00a9\3\2\2\2\u00a6\u00a8\t\2\2\2\u00a7\u00a6\3\2\2\2\u00a8"+ - "\u00ab\3\2\2\2\u00a9\u00a7\3\2\2\2\u00a9\u00aa\3\2\2\2\u00aa\u00b5\3\2"+ - "\2\2\u00ab\u00a9\3\2\2\2\u00ac\u00ae\5\u0091I\2\u00ad\u00af\n\4\2\2\u00ae"+ - "\u00ad\3\2\2\2\u00af\u00b0\3\2\2\2\u00b0\u00ae\3\2\2\2\u00b0\u00b1\3\2"+ - "\2\2\u00b1\u00b2\3\2\2\2\u00b2\u00b3\5\u0091I\2\u00b3\u00b5\3\2\2\2\u00b4"+ - "\u009e\3\2\2\2\u00b4\u00ac\3\2\2\2\u00b5\4\3\2\2\2\u00b6\u00be\5\u008d"+ - "G\2\u00b7\u00b8\7^\2\2\u00b8\u00bd\13\2\2\2\u00b9\u00ba\7$\2\2\u00ba\u00bd"+ - "\7$\2\2\u00bb\u00bd\n\5\2\2\u00bc\u00b7\3\2\2\2\u00bc\u00b9\3\2\2\2\u00bc"+ - "\u00bb\3\2\2\2\u00bd\u00c0\3\2\2\2\u00be\u00bc\3\2\2\2\u00be\u00bf\3\2"+ - "\2\2\u00bf\u00c1\3\2\2\2\u00c0\u00be\3\2\2\2\u00c1\u00c2\5\u008dG\2\u00c2"+ - "\u00d1\3\2\2\2\u00c3\u00cb\5\u008fH\2\u00c4\u00c5\7^\2\2\u00c5\u00ca\13"+ - "\2\2\2\u00c6\u00c7\7)\2\2\u00c7\u00ca\7)\2\2\u00c8\u00ca\n\6\2\2\u00c9"+ - "\u00c4\3\2\2\2\u00c9\u00c6\3\2\2\2\u00c9\u00c8\3\2\2\2\u00ca\u00cd\3\2"+ - "\2\2\u00cb\u00c9\3\2\2\2\u00cb\u00cc\3\2\2\2\u00cc\u00ce\3\2\2\2\u00cd"+ - "\u00cb\3\2\2\2\u00ce\u00cf\5\u008fH\2\u00cf\u00d1\3\2\2\2\u00d0\u00b6"+ - "\3\2\2\2\u00d0\u00c3\3\2\2\2\u00d1\6\3\2\2\2\u00d2\u00d4\t\7\2\2\u00d3"+ - "\u00d2\3\2\2\2\u00d4\u00d5\3\2\2\2\u00d5\u00d3\3\2\2\2\u00d5\u00d6\3\2"+ - "\2\2\u00d6\b\3\2\2\2\u00d7\u00d8\t\b\2\2\u00d8\n\3\2\2\2\u00d9\u00db\5"+ - "\7\4\2\u00da\u00d9\3\2\2\2\u00da\u00db\3\2\2\2\u00db\u00dd\3\2\2\2\u00dc"+ - "\u00de\5i\65\2\u00dd\u00dc\3\2\2\2\u00dd\u00de\3\2\2\2\u00de\u00df\3\2"+ - "\2\2\u00df\u00e7\5\7\4\2\u00e0\u00e3\5\33\16\2\u00e1\u00e4\5_\60\2\u00e2"+ - "\u00e4\5a\61\2\u00e3\u00e1\3\2\2\2\u00e3\u00e2\3\2\2\2\u00e3\u00e4\3\2"+ - "\2\2\u00e4\u00e5\3\2\2\2\u00e5\u00e6\5\7\4\2\u00e6\u00e8\3\2\2\2\u00e7"+ - "\u00e0\3\2\2\2\u00e7\u00e8\3\2\2\2\u00e8\f\3\2\2\2\u00e9\u00ea\7\62\2"+ - "\2\u00ea\u00eb\7z\2\2\u00eb\u00ed\3\2\2\2\u00ec\u00ee\5\t\5\2\u00ed\u00ec"+ - "\3\2\2\2\u00ee\u00ef\3\2\2\2\u00ef\u00ed\3\2\2\2\u00ef\u00f0\3\2\2\2\u00f0"+ - "\u00fb\3\2\2\2\u00f1\u00f2\7Z\2\2\u00f2\u00f4\5\u008fH\2\u00f3\u00f5\5"+ - "\t\5\2\u00f4\u00f3\3\2\2\2\u00f5\u00f6\3\2\2\2\u00f6\u00f4\3\2\2\2\u00f6"+ - "\u00f7\3\2\2\2\u00f7\u00f8\3\2\2\2\u00f8\u00f9\5\u008fH\2\u00f9\u00fb"+ - "\3\2\2\2\u00fa\u00e9\3\2\2\2\u00fa\u00f1\3\2\2\2\u00fb\16\3\2\2\2\u00fc"+ - "\u00fd\7\62\2\2\u00fd\u00fe\7d\2\2\u00fe\u0100\3\2\2\2\u00ff\u0101\4\62"+ - "\63\2\u0100\u00ff\3\2\2\2\u0101\u0102\3\2\2\2\u0102\u0100\3\2\2\2\u0102"+ - "\u0103\3\2\2\2\u0103\u010e\3\2\2\2\u0104\u0105\5\25\13\2\u0105\u0107\5"+ - "\u008fH\2\u0106\u0108\4\62\63\2\u0107\u0106\3\2\2\2\u0108\u0109\3\2\2"+ - "\2\u0109\u0107\3\2\2\2\u0109\u010a\3\2\2\2\u010a\u010b\3\2\2\2\u010b\u010c"+ - "\5\u008fH\2\u010c\u010e\3\2\2\2\u010d\u00fc\3\2\2\2\u010d\u0104\3\2\2"+ - "\2\u010e\20\3\2\2\2\u010f\u0110\7F\2\2\u0110\u0111\7Q\2\2\u0111\u0112"+ - "\7\"\2\2\u0112\u0113\7P\2\2\u0113\u0114\7Q\2\2\u0114\u0115\7V\2\2\u0115"+ - "\u0116\7\"\2\2\u0116\u0117\7O\2\2\u0117\u0118\7C\2\2\u0118\u0119\7V\2"+ - "\2\u0119\u011a\7E\2\2\u011a\u011b\7J\2\2\u011b\u011c\7\"\2\2\u011c\u011d"+ - "\7C\2\2\u011d\u011e\7P\2\2\u011e\u011f\7[\2\2\u011f\u0120\7\"\2\2\u0120"+ - "\u0121\7V\2\2\u0121\u0122\7J\2\2\u0122\u0123\7K\2\2\u0123\u0124\7P\2\2"+ - "\u0124\u0125\7I\2\2\u0125\u0126\7.\2\2\u0126\u0127\7\"\2\2\u0127\u0128"+ - "\7L\2\2\u0128\u0129\7W\2\2\u0129\u012a\7U\2\2\u012a\u012b\7V\2\2\u012b"+ - "\u012c\7\"\2\2\u012c\u012d\7H\2\2\u012d\u012e\7Q\2\2\u012e\u012f\7T\2"+ - "\2\u012f\u0130\7\"\2\2\u0130\u0131\7I\2\2\u0131\u0132\7G\2\2\u0132\u0133"+ - "\7P\2\2\u0133\u0134\7G\2\2\u0134\u0135\7T\2\2\u0135\u0136\7C\2\2\u0136"+ - "\u0137\7V\2\2\u0137\u0138\7Q\2\2\u0138\u0139\7T\2\2\u0139\22\3\2\2\2\u013a"+ - "\u013b\t\t\2\2\u013b\24\3\2\2\2\u013c\u013d\t\n\2\2\u013d\26\3\2\2\2\u013e"+ - "\u013f\t\13\2\2\u013f\30\3\2\2\2\u0140\u0141\t\f\2\2\u0141\32\3\2\2\2"+ - "\u0142\u0143\t\r\2\2\u0143\34\3\2\2\2\u0144\u0145\t\16\2\2\u0145\36\3"+ - "\2\2\2\u0146\u0147\t\17\2\2\u0147 \3\2\2\2\u0148\u0149\t\20\2\2\u0149"+ - "\"\3\2\2\2\u014a\u014b\t\21\2\2\u014b$\3\2\2\2\u014c\u014d\t\22\2\2\u014d"+ - "&\3\2\2\2\u014e\u014f\t\23\2\2\u014f(\3\2\2\2\u0150\u0151\t\24\2\2\u0151"+ - "*\3\2\2\2\u0152\u0153\t\25\2\2\u0153,\3\2\2\2\u0154\u0155\t\26\2\2\u0155"+ - ".\3\2\2\2\u0156\u0157\t\27\2\2\u0157\60\3\2\2\2\u0158\u0159\t\30\2\2\u0159"+ - "\62\3\2\2\2\u015a\u015b\t\31\2\2\u015b\64\3\2\2\2\u015c\u015d\t\32\2\2"+ - "\u015d\66\3\2\2\2\u015e\u015f\t\33\2\2\u015f8\3\2\2\2\u0160\u0161\t\34"+ - "\2\2\u0161:\3\2\2\2\u0162\u0163\t\35\2\2\u0163<\3\2\2\2\u0164\u0165\t"+ - "\36\2\2\u0165>\3\2\2\2\u0166\u0167\t\37\2\2\u0167@\3\2\2\2\u0168\u0169"+ - "\t \2\2\u0169B\3\2\2\2\u016a\u016b\t!\2\2\u016bD\3\2\2\2\u016c\u016d\t"+ - "\"\2\2\u016dF\3\2\2\2\u016e\u016f\7a\2\2\u016fH\3\2\2\2\u0170\u0171\7"+ - "(\2\2\u0171\u0172\7(\2\2\u0172J\3\2\2\2\u0173\u0174\7~\2\2\u0174\u0175"+ - "\7~\2\2\u0175L\3\2\2\2\u0176\u0177\7#\2\2\u0177N\3\2\2\2\u0178\u0179\7"+ - "\u0080\2\2\u0179P\3\2\2\2\u017a\u017b\7~\2\2\u017bR\3\2\2\2\u017c\u017d"+ - "\7(\2\2\u017dT\3\2\2\2\u017e\u017f\7>\2\2\u017f\u0180\7>\2\2\u0180V\3"+ - "\2\2\2\u0181\u0182\7@\2\2\u0182\u0183\7@\2\2\u0183X\3\2\2\2\u0184\u0185"+ - "\7`\2\2\u0185Z\3\2\2\2\u0186\u0187\7\'\2\2\u0187\\\3\2\2\2\u0188\u0189"+ - "\7<\2\2\u0189^\3\2\2\2\u018a\u018b\7-\2\2\u018b`\3\2\2\2\u018c\u018d\7"+ - "/\2\2\u018db\3\2\2\2\u018e\u018f\7,\2\2\u018fd\3\2\2\2\u0190\u0191\7\61"+ - "\2\2\u0191f\3\2\2\2\u0192\u0193\7^\2\2\u0193h\3\2\2\2\u0194\u0195\7\60"+ - "\2\2\u0195j\3\2\2\2\u0196\u0197\7\60\2\2\u0197\u0198\7,\2\2\u0198l\3\2"+ - "\2\2\u0199\u019a\7>\2\2\u019a\u019b\7?\2\2\u019b\u019c\7@\2\2\u019cn\3"+ - "\2\2\2\u019d\u019e\7?\2\2\u019e\u019f\7?\2\2\u019fp\3\2\2\2\u01a0\u01a1"+ - "\7?\2\2\u01a1r\3\2\2\2\u01a2\u01a3\7>\2\2\u01a3\u01a7\7@\2\2\u01a4\u01a5"+ - "\7#\2\2\u01a5\u01a7\7?\2\2\u01a6\u01a2\3\2\2\2\u01a6\u01a4\3\2\2\2\u01a7"+ - "t\3\2\2\2\u01a8\u01a9\7@\2\2\u01a9v\3\2\2\2\u01aa\u01ab\7@\2\2\u01ab\u01ac"+ - "\7?\2\2\u01acx\3\2\2\2\u01ad\u01ae\7>\2\2\u01aez\3\2\2\2\u01af\u01b0\7"+ - ">\2\2\u01b0\u01b1\7?\2\2\u01b1|\3\2\2\2\u01b2\u01b3\7%\2\2\u01b3~\3\2"+ - "\2\2\u01b4\u01b5\7*\2\2\u01b5\u0080\3\2\2\2\u01b6\u01b7\7+\2\2\u01b7\u0082"+ - "\3\2\2\2\u01b8\u01b9\7}\2\2\u01b9\u0084\3\2\2\2\u01ba\u01bb\7\177\2\2"+ - "\u01bb\u0086\3\2\2\2\u01bc\u01bd\7]\2\2\u01bd\u0088\3\2\2\2\u01be\u01bf"+ - "\7_\2\2\u01bf\u008a\3\2\2\2\u01c0\u01c1\7.\2\2\u01c1\u008c\3\2\2\2\u01c2"+ - "\u01c3\7$\2\2\u01c3\u008e\3\2\2\2\u01c4\u01c5\7)\2\2\u01c5\u0090\3\2\2"+ - "\2\u01c6\u01c7\7b\2\2\u01c7\u0092\3\2\2\2\u01c8\u01c9\7A\2\2\u01c9\u0094"+ - "\3\2\2\2\u01ca\u01cb\7B\2\2\u01cb\u0096\3\2\2\2\u01cc\u01cd\7=\2\2\u01cd"+ - "\u0098\3\2\2\2\u01ce\u01cf\7/\2\2\u01cf\u01d0\7@\2\2\u01d0\u01d1\7@\2"+ - "\2\u01d1\u009a\3\2\2\2\31\2\u009e\u00a4\u00a9\u00b0\u00b4\u00bc\u00be"+ - "\u00c9\u00cb\u00d0\u00d5\u00da\u00dd\u00e3\u00e7\u00ef\u00f6\u00fa\u0102"+ - "\u0109\u010d\u01a6\2"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Literals.tokens b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Literals.tokens deleted file mode 100644 index d01c01fa..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Literals.tokens +++ /dev/null @@ -1,90 +0,0 @@ -IDENTIFIER_=1 -STRING_=2 -INT_=3 -HEX_=4 -NUMBER_=5 -HEXDIGIT_=6 -BITNUM_=7 -FOR_GENERATOR=8 -AND_=9 -OR_=10 -NOT_=11 -TILDE_=12 -VERTICALBAR_=13 -AMPERSAND_=14 -SIGNEDLEFTSHIFT_=15 -SIGNEDRIGHTSHIFT_=16 -CARET_=17 -MOD_=18 -COLON_=19 -PLUS_=20 -MINUS_=21 -ASTERISK_=22 -SLASH_=23 -BACKSLASH_=24 -DOT_=25 -DOTASTERISK_=26 -SAFEEQ_=27 -DEQ_=28 -EQ_=29 -NEQ_=30 -GT_=31 -GTE_=32 -LT_=33 -LTE_=34 -POUND_=35 -LP_=36 -RP_=37 -LBE_=38 -RBE_=39 -LBT_=40 -RBT_=41 -COMMA_=42 -DQ_=43 -SQ_=44 -BQ_=45 -QUESTION_=46 -AT_=47 -SEMI_=48 -JSONSEPARATOR_=49 -'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=8 -'&&'=9 -'||'=10 -'!'=11 -'~'=12 -'|'=13 -'&'=14 -'<<'=15 -'>>'=16 -'^'=17 -'%'=18 -':'=19 -'+'=20 -'-'=21 -'*'=22 -'/'=23 -'\\'=24 -'.'=25 -'.*'=26 -'<=>'=27 -'=='=28 -'='=29 -'>'=31 -'>='=32 -'<'=33 -'<='=34 -'#'=35 -'('=36 -')'=37 -'{'=38 -'}'=39 -'['=40 -']'=41 -','=42 -'"'=43 -'\''=44 -'`'=45 -'?'=46 -'@'=47 -';'=48 -'->>'=49 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatement.interp b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatement.interp deleted file mode 100644 index 123de029..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatement.interp +++ /dev/null @@ -1,197 +0,0 @@ -token literal names: -null -'&&' -'||' -'!' -'~' -'|' -'&' -'<<' -'>>' -'^' -'%' -':' -'+' -'-' -'*' -'/' -'\\' -'.' -'.*' -'<=>' -'==' -'=' -null -'>' -'>=' -'<' -'<=' -'#' -'(' -')' -'{' -'}' -'[' -']' -',' -'"' -'\'' -'`' -'?' -'@' -';' -'->>' -'_' -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -'DO NOT MATCH ANY THING, JUST FOR GENERATOR' -null -null -null -null -null -null -null - -token symbolic names: -null -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ -WS -TRUE -FALSE -CREATE -ALTER -DROP -SHOW -RULE -FROM -MASK -TYPE -NAME -PROPERTIES -COLUMN -RULES -TABLE -COLUMNS -IF -EXISTS -COUNT -NOT -MD5 -KEEP_FIRST_N_LAST_M -KEEP_FROM_X_TO_Y -MASK_FIRST_N_LAST_M -MASK_FROM_X_TO_Y -MASK_BEFORE_SPECIAL_CHARS -MASK_AFTER_SPECIAL_CHARS -PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE -MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE -LANDLINE_NUMBER_RANDOM_REPLACE -TELEPHONE_RANDOM_REPLACE -UNIFIED_CREDIT_CODE_RANDOM_REPLACE -GENERIC_TABLE_RANDOM_REPLACE -ADDRESS_RANDOM_REPLACE -FOR_GENERATOR -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ - -rule names: -createMaskRule -alterMaskRule -dropMaskRule -maskRuleDefinition -columnDefinition -columnName -ifExists -ifNotExists -literal -algorithmDefinition -algorithmTypeName -buildInMaskAlgorithmType -propertiesDefinition -properties -property -ruleName - - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 87, 162, 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, 3, 2, 3, 2, 3, 2, 5, 2, 38, 10, 2, 3, 2, 3, 2, 5, 2, 42, 10, 2, 3, 2, 3, 2, 3, 2, 7, 2, 47, 10, 2, 12, 2, 14, 2, 50, 11, 2, 3, 3, 3, 3, 3, 3, 5, 3, 55, 10, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 61, 10, 3, 12, 3, 14, 3, 64, 11, 3, 3, 4, 3, 4, 3, 4, 5, 4, 69, 10, 4, 3, 4, 3, 4, 5, 4, 73, 10, 4, 3, 4, 3, 4, 3, 4, 7, 4, 78, 10, 4, 12, 4, 14, 4, 81, 11, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 7, 5, 90, 10, 5, 12, 5, 14, 5, 93, 11, 5, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 5, 10, 117, 10, 10, 3, 10, 3, 10, 3, 10, 5, 10, 122, 10, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 5, 11, 131, 10, 11, 3, 11, 3, 11, 3, 12, 3, 12, 5, 12, 137, 10, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 5, 14, 144, 10, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 7, 15, 151, 10, 15, 12, 15, 14, 15, 154, 11, 15, 3, 16, 3, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 2, 2, 18, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 2, 3, 3, 2, 66, 78, 2, 162, 2, 34, 3, 2, 2, 2, 4, 51, 3, 2, 2, 2, 6, 65, 3, 2, 2, 2, 8, 82, 3, 2, 2, 2, 10, 97, 3, 2, 2, 2, 12, 105, 3, 2, 2, 2, 14, 107, 3, 2, 2, 2, 16, 110, 3, 2, 2, 2, 18, 121, 3, 2, 2, 2, 20, 123, 3, 2, 2, 2, 22, 136, 3, 2, 2, 2, 24, 138, 3, 2, 2, 2, 26, 140, 3, 2, 2, 2, 28, 147, 3, 2, 2, 2, 30, 155, 3, 2, 2, 2, 32, 159, 3, 2, 2, 2, 34, 35, 7, 48, 2, 2, 35, 37, 7, 54, 2, 2, 36, 38, 7, 60, 2, 2, 37, 36, 3, 2, 2, 2, 37, 38, 3, 2, 2, 2, 38, 39, 3, 2, 2, 2, 39, 41, 7, 52, 2, 2, 40, 42, 5, 16, 9, 2, 41, 40, 3, 2, 2, 2, 41, 42, 3, 2, 2, 2, 42, 43, 3, 2, 2, 2, 43, 48, 5, 8, 5, 2, 44, 45, 7, 36, 2, 2, 45, 47, 5, 8, 5, 2, 46, 44, 3, 2, 2, 2, 47, 50, 3, 2, 2, 2, 48, 46, 3, 2, 2, 2, 48, 49, 3, 2, 2, 2, 49, 3, 3, 2, 2, 2, 50, 48, 3, 2, 2, 2, 51, 52, 7, 49, 2, 2, 52, 54, 7, 54, 2, 2, 53, 55, 7, 60, 2, 2, 54, 53, 3, 2, 2, 2, 54, 55, 3, 2, 2, 2, 55, 56, 3, 2, 2, 2, 56, 57, 7, 52, 2, 2, 57, 62, 5, 8, 5, 2, 58, 59, 7, 36, 2, 2, 59, 61, 5, 8, 5, 2, 60, 58, 3, 2, 2, 2, 61, 64, 3, 2, 2, 2, 62, 60, 3, 2, 2, 2, 62, 63, 3, 2, 2, 2, 63, 5, 3, 2, 2, 2, 64, 62, 3, 2, 2, 2, 65, 66, 7, 50, 2, 2, 66, 68, 7, 54, 2, 2, 67, 69, 7, 60, 2, 2, 68, 67, 3, 2, 2, 2, 68, 69, 3, 2, 2, 2, 69, 70, 3, 2, 2, 2, 70, 72, 7, 52, 2, 2, 71, 73, 5, 14, 8, 2, 72, 71, 3, 2, 2, 2, 72, 73, 3, 2, 2, 2, 73, 74, 3, 2, 2, 2, 74, 79, 5, 32, 17, 2, 75, 76, 7, 36, 2, 2, 76, 78, 5, 32, 17, 2, 77, 75, 3, 2, 2, 2, 78, 81, 3, 2, 2, 2, 79, 77, 3, 2, 2, 2, 79, 80, 3, 2, 2, 2, 80, 7, 3, 2, 2, 2, 81, 79, 3, 2, 2, 2, 82, 83, 5, 32, 17, 2, 83, 84, 7, 30, 2, 2, 84, 85, 7, 61, 2, 2, 85, 86, 7, 30, 2, 2, 86, 91, 5, 10, 6, 2, 87, 88, 7, 36, 2, 2, 88, 90, 5, 10, 6, 2, 89, 87, 3, 2, 2, 2, 90, 93, 3, 2, 2, 2, 91, 89, 3, 2, 2, 2, 91, 92, 3, 2, 2, 2, 92, 94, 3, 2, 2, 2, 93, 91, 3, 2, 2, 2, 94, 95, 7, 31, 2, 2, 95, 96, 7, 31, 2, 2, 96, 9, 3, 2, 2, 2, 97, 98, 7, 30, 2, 2, 98, 99, 7, 56, 2, 2, 99, 100, 7, 23, 2, 2, 100, 101, 5, 12, 7, 2, 101, 102, 7, 36, 2, 2, 102, 103, 5, 20, 11, 2, 103, 104, 7, 31, 2, 2, 104, 11, 3, 2, 2, 2, 105, 106, 7, 81, 2, 2, 106, 13, 3, 2, 2, 2, 107, 108, 7, 62, 2, 2, 108, 109, 7, 63, 2, 2, 109, 15, 3, 2, 2, 2, 110, 111, 7, 62, 2, 2, 111, 112, 7, 65, 2, 2, 112, 113, 7, 63, 2, 2, 113, 17, 3, 2, 2, 2, 114, 122, 7, 82, 2, 2, 115, 117, 7, 15, 2, 2, 116, 115, 3, 2, 2, 2, 116, 117, 3, 2, 2, 2, 117, 118, 3, 2, 2, 2, 118, 122, 7, 83, 2, 2, 119, 122, 7, 46, 2, 2, 120, 122, 7, 47, 2, 2, 121, 114, 3, 2, 2, 2, 121, 116, 3, 2, 2, 2, 121, 119, 3, 2, 2, 2, 121, 120, 3, 2, 2, 2, 122, 19, 3, 2, 2, 2, 123, 124, 7, 55, 2, 2, 124, 125, 7, 30, 2, 2, 125, 126, 7, 56, 2, 2, 126, 127, 7, 23, 2, 2, 127, 130, 5, 22, 12, 2, 128, 129, 7, 36, 2, 2, 129, 131, 5, 26, 14, 2, 130, 128, 3, 2, 2, 2, 130, 131, 3, 2, 2, 2, 131, 132, 3, 2, 2, 2, 132, 133, 7, 31, 2, 2, 133, 21, 3, 2, 2, 2, 134, 137, 7, 82, 2, 2, 135, 137, 5, 24, 13, 2, 136, 134, 3, 2, 2, 2, 136, 135, 3, 2, 2, 2, 137, 23, 3, 2, 2, 2, 138, 139, 9, 2, 2, 2, 139, 25, 3, 2, 2, 2, 140, 141, 7, 57, 2, 2, 141, 143, 7, 30, 2, 2, 142, 144, 5, 28, 15, 2, 143, 142, 3, 2, 2, 2, 143, 144, 3, 2, 2, 2, 144, 145, 3, 2, 2, 2, 145, 146, 7, 31, 2, 2, 146, 27, 3, 2, 2, 2, 147, 152, 5, 30, 16, 2, 148, 149, 7, 36, 2, 2, 149, 151, 5, 30, 16, 2, 150, 148, 3, 2, 2, 2, 151, 154, 3, 2, 2, 2, 152, 150, 3, 2, 2, 2, 152, 153, 3, 2, 2, 2, 153, 29, 3, 2, 2, 2, 154, 152, 3, 2, 2, 2, 155, 156, 7, 82, 2, 2, 156, 157, 7, 23, 2, 2, 157, 158, 5, 18, 10, 2, 158, 31, 3, 2, 2, 2, 159, 160, 7, 81, 2, 2, 160, 33, 3, 2, 2, 2, 17, 37, 41, 48, 54, 62, 68, 72, 79, 91, 116, 121, 130, 136, 143, 152] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatement.tokens b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatement.tokens deleted file mode 100644 index 8f82b7ee..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatement.tokens +++ /dev/null @@ -1,127 +0,0 @@ -AND_=1 -OR_=2 -NOT_=3 -TILDE_=4 -VERTICALBAR_=5 -AMPERSAND_=6 -SIGNEDLEFTSHIFT_=7 -SIGNEDRIGHTSHIFT_=8 -CARET_=9 -MOD_=10 -COLON_=11 -PLUS_=12 -MINUS_=13 -ASTERISK_=14 -SLASH_=15 -BACKSLASH_=16 -DOT_=17 -DOTASTERISK_=18 -SAFEEQ_=19 -DEQ_=20 -EQ_=21 -NEQ_=22 -GT_=23 -GTE_=24 -LT_=25 -LTE_=26 -POUND_=27 -LP_=28 -RP_=29 -LBE_=30 -RBE_=31 -LBT_=32 -RBT_=33 -COMMA_=34 -DQ_=35 -SQ_=36 -BQ_=37 -QUESTION_=38 -AT_=39 -SEMI_=40 -JSONSEPARATOR_=41 -UL_=42 -WS=43 -TRUE=44 -FALSE=45 -CREATE=46 -ALTER=47 -DROP=48 -SHOW=49 -RULE=50 -FROM=51 -MASK=52 -TYPE=53 -NAME=54 -PROPERTIES=55 -COLUMN=56 -RULES=57 -TABLE=58 -COLUMNS=59 -IF=60 -EXISTS=61 -COUNT=62 -NOT=63 -MD5=64 -KEEP_FIRST_N_LAST_M=65 -KEEP_FROM_X_TO_Y=66 -MASK_FIRST_N_LAST_M=67 -MASK_FROM_X_TO_Y=68 -MASK_BEFORE_SPECIAL_CHARS=69 -MASK_AFTER_SPECIAL_CHARS=70 -PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE=71 -MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE=72 -LANDLINE_NUMBER_RANDOM_REPLACE=73 -TELEPHONE_RANDOM_REPLACE=74 -UNIFIED_CREDIT_CODE_RANDOM_REPLACE=75 -GENERIC_TABLE_RANDOM_REPLACE=76 -ADDRESS_RANDOM_REPLACE=77 -FOR_GENERATOR=78 -IDENTIFIER_=79 -STRING_=80 -INT_=81 -HEX_=82 -NUMBER_=83 -HEXDIGIT_=84 -BITNUM_=85 -'&&'=1 -'||'=2 -'!'=3 -'~'=4 -'|'=5 -'&'=6 -'<<'=7 -'>>'=8 -'^'=9 -'%'=10 -':'=11 -'+'=12 -'-'=13 -'*'=14 -'/'=15 -'\\'=16 -'.'=17 -'.*'=18 -'<=>'=19 -'=='=20 -'='=21 -'>'=23 -'>='=24 -'<'=25 -'<='=26 -'#'=27 -'('=28 -')'=29 -'{'=30 -'}'=31 -'['=32 -']'=33 -','=34 -'"'=35 -'\''=36 -'`'=37 -'?'=38 -'@'=39 -';'=40 -'->>'=41 -'_'=42 -'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=78 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementLexer.interp b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementLexer.interp deleted file mode 100644 index 925a75d6..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementLexer.interp +++ /dev/null @@ -1,298 +0,0 @@ -token literal names: -null -'&&' -'||' -'!' -'~' -'|' -'&' -'<<' -'>>' -'^' -'%' -':' -'+' -'-' -'*' -'/' -'\\' -'.' -'.*' -'<=>' -'==' -'=' -null -'>' -'>=' -'<' -'<=' -'#' -'(' -')' -'{' -'}' -'[' -']' -',' -'"' -'\'' -'`' -'?' -'@' -';' -'->>' -'_' -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -'DO NOT MATCH ANY THING, JUST FOR GENERATOR' -null -null -null -null -null -null -null - -token symbolic names: -null -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ -WS -TRUE -FALSE -CREATE -ALTER -DROP -SHOW -RULE -FROM -MASK -TYPE -NAME -PROPERTIES -COLUMN -RULES -TABLE -COLUMNS -IF -EXISTS -COUNT -NOT -MD5 -KEEP_FIRST_N_LAST_M -KEEP_FROM_X_TO_Y -MASK_FIRST_N_LAST_M -MASK_FROM_X_TO_Y -MASK_BEFORE_SPECIAL_CHARS -MASK_AFTER_SPECIAL_CHARS -PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE -MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE -LANDLINE_NUMBER_RANDOM_REPLACE -TELEPHONE_RANDOM_REPLACE -UNIFIED_CREDIT_CODE_RANDOM_REPLACE -GENERIC_TABLE_RANDOM_REPLACE -ADDRESS_RANDOM_REPLACE -FOR_GENERATOR -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ - -rule names: -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ -WS -TRUE -FALSE -CREATE -ALTER -DROP -SHOW -RULE -FROM -MASK -TYPE -NAME -PROPERTIES -COLUMN -RULES -TABLE -COLUMNS -IF -EXISTS -COUNT -NOT -MD5 -KEEP_FIRST_N_LAST_M -KEEP_FROM_X_TO_Y -MASK_FIRST_N_LAST_M -MASK_FROM_X_TO_Y -MASK_BEFORE_SPECIAL_CHARS -MASK_AFTER_SPECIAL_CHARS -PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE -MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE -LANDLINE_NUMBER_RANDOM_REPLACE -TELEPHONE_RANDOM_REPLACE -UNIFIED_CREDIT_CODE_RANDOM_REPLACE -GENERIC_TABLE_RANDOM_REPLACE -ADDRESS_RANDOM_REPLACE -FOR_GENERATOR -A -B -C -D -E -F -G -H -I -J -K -L -M -N -O -P -Q -R -S -T -U -V -W -X -Y -Z -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ - -channel names: -DEFAULT_TOKEN_CHANNEL -HIDDEN - -mode names: -DEFAULT_MODE - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 87, 1012, 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, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 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, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 280, 10, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 44, 6, 44, 327, 10, 44, 13, 44, 14, 44, 328, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 64, 3, 65, 3, 65, 3, 65, 3, 65, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 80, 3, 80, 3, 81, 3, 81, 3, 82, 3, 82, 3, 83, 3, 83, 3, 84, 3, 84, 3, 85, 3, 85, 3, 86, 3, 86, 3, 87, 3, 87, 3, 88, 3, 88, 3, 89, 3, 89, 3, 90, 3, 90, 3, 91, 3, 91, 3, 92, 3, 92, 3, 93, 3, 93, 3, 94, 3, 94, 3, 95, 3, 95, 3, 96, 3, 96, 3, 97, 3, 97, 3, 98, 3, 98, 3, 99, 3, 99, 3, 100, 3, 100, 3, 101, 3, 101, 3, 102, 3, 102, 3, 103, 3, 103, 3, 104, 3, 104, 3, 105, 3, 105, 3, 106, 7, 106, 898, 10, 106, 12, 106, 14, 106, 901, 11, 106, 3, 106, 6, 106, 904, 10, 106, 13, 106, 14, 106, 905, 3, 106, 7, 106, 909, 10, 106, 12, 106, 14, 106, 912, 11, 106, 3, 106, 3, 106, 6, 106, 916, 10, 106, 13, 106, 14, 106, 917, 3, 106, 3, 106, 5, 106, 922, 10, 106, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 7, 107, 930, 10, 107, 12, 107, 14, 107, 933, 11, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 7, 107, 943, 10, 107, 12, 107, 14, 107, 946, 11, 107, 3, 107, 3, 107, 5, 107, 950, 10, 107, 3, 108, 6, 108, 953, 10, 108, 13, 108, 14, 108, 954, 3, 109, 3, 109, 3, 110, 5, 110, 960, 10, 110, 3, 110, 5, 110, 963, 10, 110, 3, 110, 3, 110, 3, 110, 3, 110, 5, 110, 969, 10, 110, 3, 110, 3, 110, 5, 110, 973, 10, 110, 3, 111, 3, 111, 3, 111, 3, 111, 6, 111, 979, 10, 111, 13, 111, 14, 111, 980, 3, 111, 3, 111, 3, 111, 6, 111, 986, 10, 111, 13, 111, 14, 111, 987, 3, 111, 3, 111, 5, 111, 992, 10, 111, 3, 112, 3, 112, 3, 112, 3, 112, 6, 112, 998, 10, 112, 13, 112, 14, 112, 999, 3, 112, 3, 112, 3, 112, 6, 112, 1005, 10, 112, 13, 112, 14, 112, 1006, 3, 112, 3, 112, 5, 112, 1011, 10, 112, 4, 899, 905, 2, 113, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, 91, 47, 93, 48, 95, 49, 97, 50, 99, 51, 101, 52, 103, 53, 105, 54, 107, 55, 109, 56, 111, 57, 113, 58, 115, 59, 117, 60, 119, 61, 121, 62, 123, 63, 125, 64, 127, 65, 129, 66, 131, 67, 133, 68, 135, 69, 137, 70, 139, 71, 141, 72, 143, 73, 145, 74, 147, 75, 149, 76, 151, 77, 153, 78, 155, 79, 157, 80, 159, 2, 161, 2, 163, 2, 165, 2, 167, 2, 169, 2, 171, 2, 173, 2, 175, 2, 177, 2, 179, 2, 181, 2, 183, 2, 185, 2, 187, 2, 189, 2, 191, 2, 193, 2, 195, 2, 197, 2, 199, 2, 201, 2, 203, 2, 205, 2, 207, 2, 209, 2, 211, 81, 213, 82, 215, 83, 217, 84, 219, 85, 221, 86, 223, 87, 3, 2, 37, 5, 2, 11, 12, 15, 15, 34, 34, 3, 2, 55, 55, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 7, 2, 38, 38, 50, 59, 67, 92, 97, 97, 99, 124, 6, 2, 38, 38, 67, 92, 97, 97, 99, 124, 3, 2, 98, 98, 4, 2, 36, 36, 94, 94, 4, 2, 41, 41, 94, 94, 3, 2, 50, 59, 5, 2, 50, 59, 67, 72, 99, 104, 2, 1011, 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, 211, 3, 2, 2, 2, 2, 213, 3, 2, 2, 2, 2, 215, 3, 2, 2, 2, 2, 217, 3, 2, 2, 2, 2, 219, 3, 2, 2, 2, 2, 221, 3, 2, 2, 2, 2, 223, 3, 2, 2, 2, 3, 225, 3, 2, 2, 2, 5, 228, 3, 2, 2, 2, 7, 231, 3, 2, 2, 2, 9, 233, 3, 2, 2, 2, 11, 235, 3, 2, 2, 2, 13, 237, 3, 2, 2, 2, 15, 239, 3, 2, 2, 2, 17, 242, 3, 2, 2, 2, 19, 245, 3, 2, 2, 2, 21, 247, 3, 2, 2, 2, 23, 249, 3, 2, 2, 2, 25, 251, 3, 2, 2, 2, 27, 253, 3, 2, 2, 2, 29, 255, 3, 2, 2, 2, 31, 257, 3, 2, 2, 2, 33, 259, 3, 2, 2, 2, 35, 261, 3, 2, 2, 2, 37, 263, 3, 2, 2, 2, 39, 266, 3, 2, 2, 2, 41, 270, 3, 2, 2, 2, 43, 273, 3, 2, 2, 2, 45, 279, 3, 2, 2, 2, 47, 281, 3, 2, 2, 2, 49, 283, 3, 2, 2, 2, 51, 286, 3, 2, 2, 2, 53, 288, 3, 2, 2, 2, 55, 291, 3, 2, 2, 2, 57, 293, 3, 2, 2, 2, 59, 295, 3, 2, 2, 2, 61, 297, 3, 2, 2, 2, 63, 299, 3, 2, 2, 2, 65, 301, 3, 2, 2, 2, 67, 303, 3, 2, 2, 2, 69, 305, 3, 2, 2, 2, 71, 307, 3, 2, 2, 2, 73, 309, 3, 2, 2, 2, 75, 311, 3, 2, 2, 2, 77, 313, 3, 2, 2, 2, 79, 315, 3, 2, 2, 2, 81, 317, 3, 2, 2, 2, 83, 319, 3, 2, 2, 2, 85, 323, 3, 2, 2, 2, 87, 326, 3, 2, 2, 2, 89, 332, 3, 2, 2, 2, 91, 337, 3, 2, 2, 2, 93, 343, 3, 2, 2, 2, 95, 350, 3, 2, 2, 2, 97, 356, 3, 2, 2, 2, 99, 361, 3, 2, 2, 2, 101, 366, 3, 2, 2, 2, 103, 371, 3, 2, 2, 2, 105, 376, 3, 2, 2, 2, 107, 381, 3, 2, 2, 2, 109, 386, 3, 2, 2, 2, 111, 391, 3, 2, 2, 2, 113, 402, 3, 2, 2, 2, 115, 409, 3, 2, 2, 2, 117, 415, 3, 2, 2, 2, 119, 421, 3, 2, 2, 2, 121, 429, 3, 2, 2, 2, 123, 432, 3, 2, 2, 2, 125, 439, 3, 2, 2, 2, 127, 445, 3, 2, 2, 2, 129, 449, 3, 2, 2, 2, 131, 453, 3, 2, 2, 2, 133, 473, 3, 2, 2, 2, 135, 490, 3, 2, 2, 2, 137, 510, 3, 2, 2, 2, 139, 527, 3, 2, 2, 2, 141, 553, 3, 2, 2, 2, 143, 578, 3, 2, 2, 2, 145, 618, 3, 2, 2, 2, 147, 658, 3, 2, 2, 2, 149, 689, 3, 2, 2, 2, 151, 714, 3, 2, 2, 2, 153, 749, 3, 2, 2, 2, 155, 778, 3, 2, 2, 2, 157, 801, 3, 2, 2, 2, 159, 844, 3, 2, 2, 2, 161, 846, 3, 2, 2, 2, 163, 848, 3, 2, 2, 2, 165, 850, 3, 2, 2, 2, 167, 852, 3, 2, 2, 2, 169, 854, 3, 2, 2, 2, 171, 856, 3, 2, 2, 2, 173, 858, 3, 2, 2, 2, 175, 860, 3, 2, 2, 2, 177, 862, 3, 2, 2, 2, 179, 864, 3, 2, 2, 2, 181, 866, 3, 2, 2, 2, 183, 868, 3, 2, 2, 2, 185, 870, 3, 2, 2, 2, 187, 872, 3, 2, 2, 2, 189, 874, 3, 2, 2, 2, 191, 876, 3, 2, 2, 2, 193, 878, 3, 2, 2, 2, 195, 880, 3, 2, 2, 2, 197, 882, 3, 2, 2, 2, 199, 884, 3, 2, 2, 2, 201, 886, 3, 2, 2, 2, 203, 888, 3, 2, 2, 2, 205, 890, 3, 2, 2, 2, 207, 892, 3, 2, 2, 2, 209, 894, 3, 2, 2, 2, 211, 921, 3, 2, 2, 2, 213, 949, 3, 2, 2, 2, 215, 952, 3, 2, 2, 2, 217, 956, 3, 2, 2, 2, 219, 959, 3, 2, 2, 2, 221, 991, 3, 2, 2, 2, 223, 1010, 3, 2, 2, 2, 225, 226, 7, 40, 2, 2, 226, 227, 7, 40, 2, 2, 227, 4, 3, 2, 2, 2, 228, 229, 7, 126, 2, 2, 229, 230, 7, 126, 2, 2, 230, 6, 3, 2, 2, 2, 231, 232, 7, 35, 2, 2, 232, 8, 3, 2, 2, 2, 233, 234, 7, 128, 2, 2, 234, 10, 3, 2, 2, 2, 235, 236, 7, 126, 2, 2, 236, 12, 3, 2, 2, 2, 237, 238, 7, 40, 2, 2, 238, 14, 3, 2, 2, 2, 239, 240, 7, 62, 2, 2, 240, 241, 7, 62, 2, 2, 241, 16, 3, 2, 2, 2, 242, 243, 7, 64, 2, 2, 243, 244, 7, 64, 2, 2, 244, 18, 3, 2, 2, 2, 245, 246, 7, 96, 2, 2, 246, 20, 3, 2, 2, 2, 247, 248, 7, 39, 2, 2, 248, 22, 3, 2, 2, 2, 249, 250, 7, 60, 2, 2, 250, 24, 3, 2, 2, 2, 251, 252, 7, 45, 2, 2, 252, 26, 3, 2, 2, 2, 253, 254, 7, 47, 2, 2, 254, 28, 3, 2, 2, 2, 255, 256, 7, 44, 2, 2, 256, 30, 3, 2, 2, 2, 257, 258, 7, 49, 2, 2, 258, 32, 3, 2, 2, 2, 259, 260, 7, 94, 2, 2, 260, 34, 3, 2, 2, 2, 261, 262, 7, 48, 2, 2, 262, 36, 3, 2, 2, 2, 263, 264, 7, 48, 2, 2, 264, 265, 7, 44, 2, 2, 265, 38, 3, 2, 2, 2, 266, 267, 7, 62, 2, 2, 267, 268, 7, 63, 2, 2, 268, 269, 7, 64, 2, 2, 269, 40, 3, 2, 2, 2, 270, 271, 7, 63, 2, 2, 271, 272, 7, 63, 2, 2, 272, 42, 3, 2, 2, 2, 273, 274, 7, 63, 2, 2, 274, 44, 3, 2, 2, 2, 275, 276, 7, 62, 2, 2, 276, 280, 7, 64, 2, 2, 277, 278, 7, 35, 2, 2, 278, 280, 7, 63, 2, 2, 279, 275, 3, 2, 2, 2, 279, 277, 3, 2, 2, 2, 280, 46, 3, 2, 2, 2, 281, 282, 7, 64, 2, 2, 282, 48, 3, 2, 2, 2, 283, 284, 7, 64, 2, 2, 284, 285, 7, 63, 2, 2, 285, 50, 3, 2, 2, 2, 286, 287, 7, 62, 2, 2, 287, 52, 3, 2, 2, 2, 288, 289, 7, 62, 2, 2, 289, 290, 7, 63, 2, 2, 290, 54, 3, 2, 2, 2, 291, 292, 7, 37, 2, 2, 292, 56, 3, 2, 2, 2, 293, 294, 7, 42, 2, 2, 294, 58, 3, 2, 2, 2, 295, 296, 7, 43, 2, 2, 296, 60, 3, 2, 2, 2, 297, 298, 7, 125, 2, 2, 298, 62, 3, 2, 2, 2, 299, 300, 7, 127, 2, 2, 300, 64, 3, 2, 2, 2, 301, 302, 7, 93, 2, 2, 302, 66, 3, 2, 2, 2, 303, 304, 7, 95, 2, 2, 304, 68, 3, 2, 2, 2, 305, 306, 7, 46, 2, 2, 306, 70, 3, 2, 2, 2, 307, 308, 7, 36, 2, 2, 308, 72, 3, 2, 2, 2, 309, 310, 7, 41, 2, 2, 310, 74, 3, 2, 2, 2, 311, 312, 7, 98, 2, 2, 312, 76, 3, 2, 2, 2, 313, 314, 7, 65, 2, 2, 314, 78, 3, 2, 2, 2, 315, 316, 7, 66, 2, 2, 316, 80, 3, 2, 2, 2, 317, 318, 7, 61, 2, 2, 318, 82, 3, 2, 2, 2, 319, 320, 7, 47, 2, 2, 320, 321, 7, 64, 2, 2, 321, 322, 7, 64, 2, 2, 322, 84, 3, 2, 2, 2, 323, 324, 7, 97, 2, 2, 324, 86, 3, 2, 2, 2, 325, 327, 9, 2, 2, 2, 326, 325, 3, 2, 2, 2, 327, 328, 3, 2, 2, 2, 328, 326, 3, 2, 2, 2, 328, 329, 3, 2, 2, 2, 329, 330, 3, 2, 2, 2, 330, 331, 8, 44, 2, 2, 331, 88, 3, 2, 2, 2, 332, 333, 5, 197, 99, 2, 333, 334, 5, 193, 97, 2, 334, 335, 5, 199, 100, 2, 335, 336, 5, 167, 84, 2, 336, 90, 3, 2, 2, 2, 337, 338, 5, 169, 85, 2, 338, 339, 5, 159, 80, 2, 339, 340, 5, 181, 91, 2, 340, 341, 5, 195, 98, 2, 341, 342, 5, 167, 84, 2, 342, 92, 3, 2, 2, 2, 343, 344, 5, 163, 82, 2, 344, 345, 5, 193, 97, 2, 345, 346, 5, 167, 84, 2, 346, 347, 5, 159, 80, 2, 347, 348, 5, 197, 99, 2, 348, 349, 5, 167, 84, 2, 349, 94, 3, 2, 2, 2, 350, 351, 5, 159, 80, 2, 351, 352, 5, 181, 91, 2, 352, 353, 5, 197, 99, 2, 353, 354, 5, 167, 84, 2, 354, 355, 5, 193, 97, 2, 355, 96, 3, 2, 2, 2, 356, 357, 5, 165, 83, 2, 357, 358, 5, 193, 97, 2, 358, 359, 5, 187, 94, 2, 359, 360, 5, 189, 95, 2, 360, 98, 3, 2, 2, 2, 361, 362, 5, 195, 98, 2, 362, 363, 5, 173, 87, 2, 363, 364, 5, 187, 94, 2, 364, 365, 5, 203, 102, 2, 365, 100, 3, 2, 2, 2, 366, 367, 5, 193, 97, 2, 367, 368, 5, 199, 100, 2, 368, 369, 5, 181, 91, 2, 369, 370, 5, 167, 84, 2, 370, 102, 3, 2, 2, 2, 371, 372, 5, 169, 85, 2, 372, 373, 5, 193, 97, 2, 373, 374, 5, 187, 94, 2, 374, 375, 5, 183, 92, 2, 375, 104, 3, 2, 2, 2, 376, 377, 5, 183, 92, 2, 377, 378, 5, 159, 80, 2, 378, 379, 5, 195, 98, 2, 379, 380, 5, 179, 90, 2, 380, 106, 3, 2, 2, 2, 381, 382, 5, 197, 99, 2, 382, 383, 5, 207, 104, 2, 383, 384, 5, 189, 95, 2, 384, 385, 5, 167, 84, 2, 385, 108, 3, 2, 2, 2, 386, 387, 5, 185, 93, 2, 387, 388, 5, 159, 80, 2, 388, 389, 5, 183, 92, 2, 389, 390, 5, 167, 84, 2, 390, 110, 3, 2, 2, 2, 391, 392, 5, 189, 95, 2, 392, 393, 5, 193, 97, 2, 393, 394, 5, 187, 94, 2, 394, 395, 5, 189, 95, 2, 395, 396, 5, 167, 84, 2, 396, 397, 5, 193, 97, 2, 397, 398, 5, 197, 99, 2, 398, 399, 5, 175, 88, 2, 399, 400, 5, 167, 84, 2, 400, 401, 5, 195, 98, 2, 401, 112, 3, 2, 2, 2, 402, 403, 5, 163, 82, 2, 403, 404, 5, 187, 94, 2, 404, 405, 5, 181, 91, 2, 405, 406, 5, 199, 100, 2, 406, 407, 5, 183, 92, 2, 407, 408, 5, 185, 93, 2, 408, 114, 3, 2, 2, 2, 409, 410, 5, 193, 97, 2, 410, 411, 5, 199, 100, 2, 411, 412, 5, 181, 91, 2, 412, 413, 5, 167, 84, 2, 413, 414, 5, 195, 98, 2, 414, 116, 3, 2, 2, 2, 415, 416, 5, 197, 99, 2, 416, 417, 5, 159, 80, 2, 417, 418, 5, 161, 81, 2, 418, 419, 5, 181, 91, 2, 419, 420, 5, 167, 84, 2, 420, 118, 3, 2, 2, 2, 421, 422, 5, 163, 82, 2, 422, 423, 5, 187, 94, 2, 423, 424, 5, 181, 91, 2, 424, 425, 5, 199, 100, 2, 425, 426, 5, 183, 92, 2, 426, 427, 5, 185, 93, 2, 427, 428, 5, 195, 98, 2, 428, 120, 3, 2, 2, 2, 429, 430, 5, 175, 88, 2, 430, 431, 5, 169, 85, 2, 431, 122, 3, 2, 2, 2, 432, 433, 5, 167, 84, 2, 433, 434, 5, 205, 103, 2, 434, 435, 5, 175, 88, 2, 435, 436, 5, 195, 98, 2, 436, 437, 5, 197, 99, 2, 437, 438, 5, 195, 98, 2, 438, 124, 3, 2, 2, 2, 439, 440, 5, 163, 82, 2, 440, 441, 5, 187, 94, 2, 441, 442, 5, 199, 100, 2, 442, 443, 5, 185, 93, 2, 443, 444, 5, 197, 99, 2, 444, 126, 3, 2, 2, 2, 445, 446, 5, 185, 93, 2, 446, 447, 5, 187, 94, 2, 447, 448, 5, 197, 99, 2, 448, 128, 3, 2, 2, 2, 449, 450, 5, 183, 92, 2, 450, 451, 5, 165, 83, 2, 451, 452, 9, 3, 2, 2, 452, 130, 3, 2, 2, 2, 453, 454, 5, 179, 90, 2, 454, 455, 5, 167, 84, 2, 455, 456, 5, 167, 84, 2, 456, 457, 5, 189, 95, 2, 457, 458, 5, 85, 43, 2, 458, 459, 5, 169, 85, 2, 459, 460, 5, 175, 88, 2, 460, 461, 5, 193, 97, 2, 461, 462, 5, 195, 98, 2, 462, 463, 5, 197, 99, 2, 463, 464, 5, 85, 43, 2, 464, 465, 5, 185, 93, 2, 465, 466, 5, 85, 43, 2, 466, 467, 5, 181, 91, 2, 467, 468, 5, 159, 80, 2, 468, 469, 5, 195, 98, 2, 469, 470, 5, 197, 99, 2, 470, 471, 5, 85, 43, 2, 471, 472, 5, 183, 92, 2, 472, 132, 3, 2, 2, 2, 473, 474, 5, 179, 90, 2, 474, 475, 5, 167, 84, 2, 475, 476, 5, 167, 84, 2, 476, 477, 5, 189, 95, 2, 477, 478, 5, 85, 43, 2, 478, 479, 5, 169, 85, 2, 479, 480, 5, 193, 97, 2, 480, 481, 5, 187, 94, 2, 481, 482, 5, 183, 92, 2, 482, 483, 5, 85, 43, 2, 483, 484, 5, 205, 103, 2, 484, 485, 5, 85, 43, 2, 485, 486, 5, 197, 99, 2, 486, 487, 5, 187, 94, 2, 487, 488, 5, 85, 43, 2, 488, 489, 5, 207, 104, 2, 489, 134, 3, 2, 2, 2, 490, 491, 5, 183, 92, 2, 491, 492, 5, 159, 80, 2, 492, 493, 5, 195, 98, 2, 493, 494, 5, 179, 90, 2, 494, 495, 5, 85, 43, 2, 495, 496, 5, 169, 85, 2, 496, 497, 5, 175, 88, 2, 497, 498, 5, 193, 97, 2, 498, 499, 5, 195, 98, 2, 499, 500, 5, 197, 99, 2, 500, 501, 5, 85, 43, 2, 501, 502, 5, 185, 93, 2, 502, 503, 5, 85, 43, 2, 503, 504, 5, 181, 91, 2, 504, 505, 5, 159, 80, 2, 505, 506, 5, 195, 98, 2, 506, 507, 5, 197, 99, 2, 507, 508, 5, 85, 43, 2, 508, 509, 5, 183, 92, 2, 509, 136, 3, 2, 2, 2, 510, 511, 5, 183, 92, 2, 511, 512, 5, 159, 80, 2, 512, 513, 5, 195, 98, 2, 513, 514, 5, 179, 90, 2, 514, 515, 5, 85, 43, 2, 515, 516, 5, 169, 85, 2, 516, 517, 5, 193, 97, 2, 517, 518, 5, 187, 94, 2, 518, 519, 5, 183, 92, 2, 519, 520, 5, 85, 43, 2, 520, 521, 5, 205, 103, 2, 521, 522, 5, 85, 43, 2, 522, 523, 5, 197, 99, 2, 523, 524, 5, 187, 94, 2, 524, 525, 5, 85, 43, 2, 525, 526, 5, 207, 104, 2, 526, 138, 3, 2, 2, 2, 527, 528, 5, 183, 92, 2, 528, 529, 5, 159, 80, 2, 529, 530, 5, 195, 98, 2, 530, 531, 5, 179, 90, 2, 531, 532, 5, 85, 43, 2, 532, 533, 5, 161, 81, 2, 533, 534, 5, 167, 84, 2, 534, 535, 5, 169, 85, 2, 535, 536, 5, 187, 94, 2, 536, 537, 5, 193, 97, 2, 537, 538, 5, 167, 84, 2, 538, 539, 5, 85, 43, 2, 539, 540, 5, 195, 98, 2, 540, 541, 5, 189, 95, 2, 541, 542, 5, 167, 84, 2, 542, 543, 5, 163, 82, 2, 543, 544, 5, 175, 88, 2, 544, 545, 5, 159, 80, 2, 545, 546, 5, 181, 91, 2, 546, 547, 5, 85, 43, 2, 547, 548, 5, 163, 82, 2, 548, 549, 5, 173, 87, 2, 549, 550, 5, 159, 80, 2, 550, 551, 5, 193, 97, 2, 551, 552, 5, 195, 98, 2, 552, 140, 3, 2, 2, 2, 553, 554, 5, 183, 92, 2, 554, 555, 5, 159, 80, 2, 555, 556, 5, 195, 98, 2, 556, 557, 5, 179, 90, 2, 557, 558, 5, 85, 43, 2, 558, 559, 5, 159, 80, 2, 559, 560, 5, 169, 85, 2, 560, 561, 5, 197, 99, 2, 561, 562, 5, 167, 84, 2, 562, 563, 5, 193, 97, 2, 563, 564, 5, 85, 43, 2, 564, 565, 5, 195, 98, 2, 565, 566, 5, 189, 95, 2, 566, 567, 5, 167, 84, 2, 567, 568, 5, 163, 82, 2, 568, 569, 5, 175, 88, 2, 569, 570, 5, 159, 80, 2, 570, 571, 5, 181, 91, 2, 571, 572, 5, 85, 43, 2, 572, 573, 5, 163, 82, 2, 573, 574, 5, 173, 87, 2, 574, 575, 5, 159, 80, 2, 575, 576, 5, 193, 97, 2, 576, 577, 5, 195, 98, 2, 577, 142, 3, 2, 2, 2, 578, 579, 5, 189, 95, 2, 579, 580, 5, 167, 84, 2, 580, 581, 5, 193, 97, 2, 581, 582, 5, 195, 98, 2, 582, 583, 5, 187, 94, 2, 583, 584, 5, 185, 93, 2, 584, 585, 5, 159, 80, 2, 585, 586, 5, 181, 91, 2, 586, 587, 5, 85, 43, 2, 587, 588, 5, 175, 88, 2, 588, 589, 5, 165, 83, 2, 589, 590, 5, 167, 84, 2, 590, 591, 5, 185, 93, 2, 591, 592, 5, 197, 99, 2, 592, 593, 5, 175, 88, 2, 593, 594, 5, 197, 99, 2, 594, 595, 5, 207, 104, 2, 595, 596, 5, 85, 43, 2, 596, 597, 5, 185, 93, 2, 597, 598, 5, 199, 100, 2, 598, 599, 5, 183, 92, 2, 599, 600, 5, 161, 81, 2, 600, 601, 5, 167, 84, 2, 601, 602, 5, 193, 97, 2, 602, 603, 5, 85, 43, 2, 603, 604, 5, 193, 97, 2, 604, 605, 5, 159, 80, 2, 605, 606, 5, 185, 93, 2, 606, 607, 5, 165, 83, 2, 607, 608, 5, 187, 94, 2, 608, 609, 5, 183, 92, 2, 609, 610, 5, 85, 43, 2, 610, 611, 5, 193, 97, 2, 611, 612, 5, 167, 84, 2, 612, 613, 5, 189, 95, 2, 613, 614, 5, 181, 91, 2, 614, 615, 5, 159, 80, 2, 615, 616, 5, 163, 82, 2, 616, 617, 5, 167, 84, 2, 617, 144, 3, 2, 2, 2, 618, 619, 5, 183, 92, 2, 619, 620, 5, 175, 88, 2, 620, 621, 5, 181, 91, 2, 621, 622, 5, 175, 88, 2, 622, 623, 5, 197, 99, 2, 623, 624, 5, 159, 80, 2, 624, 625, 5, 193, 97, 2, 625, 626, 5, 207, 104, 2, 626, 627, 5, 85, 43, 2, 627, 628, 5, 175, 88, 2, 628, 629, 5, 165, 83, 2, 629, 630, 5, 167, 84, 2, 630, 631, 5, 185, 93, 2, 631, 632, 5, 197, 99, 2, 632, 633, 5, 175, 88, 2, 633, 634, 5, 197, 99, 2, 634, 635, 5, 207, 104, 2, 635, 636, 5, 85, 43, 2, 636, 637, 5, 185, 93, 2, 637, 638, 5, 199, 100, 2, 638, 639, 5, 183, 92, 2, 639, 640, 5, 161, 81, 2, 640, 641, 5, 167, 84, 2, 641, 642, 5, 193, 97, 2, 642, 643, 5, 85, 43, 2, 643, 644, 5, 193, 97, 2, 644, 645, 5, 159, 80, 2, 645, 646, 5, 185, 93, 2, 646, 647, 5, 165, 83, 2, 647, 648, 5, 187, 94, 2, 648, 649, 5, 183, 92, 2, 649, 650, 5, 85, 43, 2, 650, 651, 5, 193, 97, 2, 651, 652, 5, 167, 84, 2, 652, 653, 5, 189, 95, 2, 653, 654, 5, 181, 91, 2, 654, 655, 5, 159, 80, 2, 655, 656, 5, 163, 82, 2, 656, 657, 5, 167, 84, 2, 657, 146, 3, 2, 2, 2, 658, 659, 5, 181, 91, 2, 659, 660, 5, 159, 80, 2, 660, 661, 5, 185, 93, 2, 661, 662, 5, 165, 83, 2, 662, 663, 5, 181, 91, 2, 663, 664, 5, 175, 88, 2, 664, 665, 5, 185, 93, 2, 665, 666, 5, 167, 84, 2, 666, 667, 5, 85, 43, 2, 667, 668, 5, 185, 93, 2, 668, 669, 5, 199, 100, 2, 669, 670, 5, 183, 92, 2, 670, 671, 5, 161, 81, 2, 671, 672, 5, 167, 84, 2, 672, 673, 5, 193, 97, 2, 673, 674, 5, 85, 43, 2, 674, 675, 5, 193, 97, 2, 675, 676, 5, 159, 80, 2, 676, 677, 5, 185, 93, 2, 677, 678, 5, 165, 83, 2, 678, 679, 5, 187, 94, 2, 679, 680, 5, 183, 92, 2, 680, 681, 5, 85, 43, 2, 681, 682, 5, 193, 97, 2, 682, 683, 5, 167, 84, 2, 683, 684, 5, 189, 95, 2, 684, 685, 5, 181, 91, 2, 685, 686, 5, 159, 80, 2, 686, 687, 5, 163, 82, 2, 687, 688, 5, 167, 84, 2, 688, 148, 3, 2, 2, 2, 689, 690, 5, 197, 99, 2, 690, 691, 5, 167, 84, 2, 691, 692, 5, 181, 91, 2, 692, 693, 5, 167, 84, 2, 693, 694, 5, 189, 95, 2, 694, 695, 5, 173, 87, 2, 695, 696, 5, 187, 94, 2, 696, 697, 5, 185, 93, 2, 697, 698, 5, 167, 84, 2, 698, 699, 5, 85, 43, 2, 699, 700, 5, 193, 97, 2, 700, 701, 5, 159, 80, 2, 701, 702, 5, 185, 93, 2, 702, 703, 5, 165, 83, 2, 703, 704, 5, 187, 94, 2, 704, 705, 5, 183, 92, 2, 705, 706, 5, 85, 43, 2, 706, 707, 5, 193, 97, 2, 707, 708, 5, 167, 84, 2, 708, 709, 5, 189, 95, 2, 709, 710, 5, 181, 91, 2, 710, 711, 5, 159, 80, 2, 711, 712, 5, 163, 82, 2, 712, 713, 5, 167, 84, 2, 713, 150, 3, 2, 2, 2, 714, 715, 5, 199, 100, 2, 715, 716, 5, 185, 93, 2, 716, 717, 5, 175, 88, 2, 717, 718, 5, 169, 85, 2, 718, 719, 5, 175, 88, 2, 719, 720, 5, 167, 84, 2, 720, 721, 5, 165, 83, 2, 721, 722, 5, 85, 43, 2, 722, 723, 5, 163, 82, 2, 723, 724, 5, 193, 97, 2, 724, 725, 5, 167, 84, 2, 725, 726, 5, 165, 83, 2, 726, 727, 5, 175, 88, 2, 727, 728, 5, 197, 99, 2, 728, 729, 5, 85, 43, 2, 729, 730, 5, 163, 82, 2, 730, 731, 5, 187, 94, 2, 731, 732, 5, 165, 83, 2, 732, 733, 5, 167, 84, 2, 733, 734, 5, 85, 43, 2, 734, 735, 5, 193, 97, 2, 735, 736, 5, 159, 80, 2, 736, 737, 5, 185, 93, 2, 737, 738, 5, 165, 83, 2, 738, 739, 5, 187, 94, 2, 739, 740, 5, 183, 92, 2, 740, 741, 5, 85, 43, 2, 741, 742, 5, 193, 97, 2, 742, 743, 5, 167, 84, 2, 743, 744, 5, 189, 95, 2, 744, 745, 5, 181, 91, 2, 745, 746, 5, 159, 80, 2, 746, 747, 5, 163, 82, 2, 747, 748, 5, 167, 84, 2, 748, 152, 3, 2, 2, 2, 749, 750, 5, 171, 86, 2, 750, 751, 5, 167, 84, 2, 751, 752, 5, 185, 93, 2, 752, 753, 5, 167, 84, 2, 753, 754, 5, 193, 97, 2, 754, 755, 5, 175, 88, 2, 755, 756, 5, 163, 82, 2, 756, 757, 5, 85, 43, 2, 757, 758, 5, 197, 99, 2, 758, 759, 5, 159, 80, 2, 759, 760, 5, 161, 81, 2, 760, 761, 5, 181, 91, 2, 761, 762, 5, 167, 84, 2, 762, 763, 5, 85, 43, 2, 763, 764, 5, 193, 97, 2, 764, 765, 5, 159, 80, 2, 765, 766, 5, 185, 93, 2, 766, 767, 5, 165, 83, 2, 767, 768, 5, 187, 94, 2, 768, 769, 5, 183, 92, 2, 769, 770, 5, 85, 43, 2, 770, 771, 5, 193, 97, 2, 771, 772, 5, 167, 84, 2, 772, 773, 5, 189, 95, 2, 773, 774, 5, 181, 91, 2, 774, 775, 5, 159, 80, 2, 775, 776, 5, 163, 82, 2, 776, 777, 5, 167, 84, 2, 777, 154, 3, 2, 2, 2, 778, 779, 5, 159, 80, 2, 779, 780, 5, 165, 83, 2, 780, 781, 5, 165, 83, 2, 781, 782, 5, 193, 97, 2, 782, 783, 5, 167, 84, 2, 783, 784, 5, 195, 98, 2, 784, 785, 5, 195, 98, 2, 785, 786, 5, 85, 43, 2, 786, 787, 5, 193, 97, 2, 787, 788, 5, 159, 80, 2, 788, 789, 5, 185, 93, 2, 789, 790, 5, 165, 83, 2, 790, 791, 5, 187, 94, 2, 791, 792, 5, 183, 92, 2, 792, 793, 5, 85, 43, 2, 793, 794, 5, 193, 97, 2, 794, 795, 5, 167, 84, 2, 795, 796, 5, 189, 95, 2, 796, 797, 5, 181, 91, 2, 797, 798, 5, 159, 80, 2, 798, 799, 5, 163, 82, 2, 799, 800, 5, 167, 84, 2, 800, 156, 3, 2, 2, 2, 801, 802, 7, 70, 2, 2, 802, 803, 7, 81, 2, 2, 803, 804, 7, 34, 2, 2, 804, 805, 7, 80, 2, 2, 805, 806, 7, 81, 2, 2, 806, 807, 7, 86, 2, 2, 807, 808, 7, 34, 2, 2, 808, 809, 7, 79, 2, 2, 809, 810, 7, 67, 2, 2, 810, 811, 7, 86, 2, 2, 811, 812, 7, 69, 2, 2, 812, 813, 7, 74, 2, 2, 813, 814, 7, 34, 2, 2, 814, 815, 7, 67, 2, 2, 815, 816, 7, 80, 2, 2, 816, 817, 7, 91, 2, 2, 817, 818, 7, 34, 2, 2, 818, 819, 7, 86, 2, 2, 819, 820, 7, 74, 2, 2, 820, 821, 7, 75, 2, 2, 821, 822, 7, 80, 2, 2, 822, 823, 7, 73, 2, 2, 823, 824, 7, 46, 2, 2, 824, 825, 7, 34, 2, 2, 825, 826, 7, 76, 2, 2, 826, 827, 7, 87, 2, 2, 827, 828, 7, 85, 2, 2, 828, 829, 7, 86, 2, 2, 829, 830, 7, 34, 2, 2, 830, 831, 7, 72, 2, 2, 831, 832, 7, 81, 2, 2, 832, 833, 7, 84, 2, 2, 833, 834, 7, 34, 2, 2, 834, 835, 7, 73, 2, 2, 835, 836, 7, 71, 2, 2, 836, 837, 7, 80, 2, 2, 837, 838, 7, 71, 2, 2, 838, 839, 7, 84, 2, 2, 839, 840, 7, 67, 2, 2, 840, 841, 7, 86, 2, 2, 841, 842, 7, 81, 2, 2, 842, 843, 7, 84, 2, 2, 843, 158, 3, 2, 2, 2, 844, 845, 9, 4, 2, 2, 845, 160, 3, 2, 2, 2, 846, 847, 9, 5, 2, 2, 847, 162, 3, 2, 2, 2, 848, 849, 9, 6, 2, 2, 849, 164, 3, 2, 2, 2, 850, 851, 9, 7, 2, 2, 851, 166, 3, 2, 2, 2, 852, 853, 9, 8, 2, 2, 853, 168, 3, 2, 2, 2, 854, 855, 9, 9, 2, 2, 855, 170, 3, 2, 2, 2, 856, 857, 9, 10, 2, 2, 857, 172, 3, 2, 2, 2, 858, 859, 9, 11, 2, 2, 859, 174, 3, 2, 2, 2, 860, 861, 9, 12, 2, 2, 861, 176, 3, 2, 2, 2, 862, 863, 9, 13, 2, 2, 863, 178, 3, 2, 2, 2, 864, 865, 9, 14, 2, 2, 865, 180, 3, 2, 2, 2, 866, 867, 9, 15, 2, 2, 867, 182, 3, 2, 2, 2, 868, 869, 9, 16, 2, 2, 869, 184, 3, 2, 2, 2, 870, 871, 9, 17, 2, 2, 871, 186, 3, 2, 2, 2, 872, 873, 9, 18, 2, 2, 873, 188, 3, 2, 2, 2, 874, 875, 9, 19, 2, 2, 875, 190, 3, 2, 2, 2, 876, 877, 9, 20, 2, 2, 877, 192, 3, 2, 2, 2, 878, 879, 9, 21, 2, 2, 879, 194, 3, 2, 2, 2, 880, 881, 9, 22, 2, 2, 881, 196, 3, 2, 2, 2, 882, 883, 9, 23, 2, 2, 883, 198, 3, 2, 2, 2, 884, 885, 9, 24, 2, 2, 885, 200, 3, 2, 2, 2, 886, 887, 9, 25, 2, 2, 887, 202, 3, 2, 2, 2, 888, 889, 9, 26, 2, 2, 889, 204, 3, 2, 2, 2, 890, 891, 9, 27, 2, 2, 891, 206, 3, 2, 2, 2, 892, 893, 9, 28, 2, 2, 893, 208, 3, 2, 2, 2, 894, 895, 9, 29, 2, 2, 895, 210, 3, 2, 2, 2, 896, 898, 9, 30, 2, 2, 897, 896, 3, 2, 2, 2, 898, 901, 3, 2, 2, 2, 899, 900, 3, 2, 2, 2, 899, 897, 3, 2, 2, 2, 900, 903, 3, 2, 2, 2, 901, 899, 3, 2, 2, 2, 902, 904, 9, 31, 2, 2, 903, 902, 3, 2, 2, 2, 904, 905, 3, 2, 2, 2, 905, 906, 3, 2, 2, 2, 905, 903, 3, 2, 2, 2, 906, 910, 3, 2, 2, 2, 907, 909, 9, 30, 2, 2, 908, 907, 3, 2, 2, 2, 909, 912, 3, 2, 2, 2, 910, 908, 3, 2, 2, 2, 910, 911, 3, 2, 2, 2, 911, 922, 3, 2, 2, 2, 912, 910, 3, 2, 2, 2, 913, 915, 5, 75, 38, 2, 914, 916, 10, 32, 2, 2, 915, 914, 3, 2, 2, 2, 916, 917, 3, 2, 2, 2, 917, 915, 3, 2, 2, 2, 917, 918, 3, 2, 2, 2, 918, 919, 3, 2, 2, 2, 919, 920, 5, 75, 38, 2, 920, 922, 3, 2, 2, 2, 921, 899, 3, 2, 2, 2, 921, 913, 3, 2, 2, 2, 922, 212, 3, 2, 2, 2, 923, 931, 5, 71, 36, 2, 924, 925, 7, 94, 2, 2, 925, 930, 11, 2, 2, 2, 926, 927, 7, 36, 2, 2, 927, 930, 7, 36, 2, 2, 928, 930, 10, 33, 2, 2, 929, 924, 3, 2, 2, 2, 929, 926, 3, 2, 2, 2, 929, 928, 3, 2, 2, 2, 930, 933, 3, 2, 2, 2, 931, 929, 3, 2, 2, 2, 931, 932, 3, 2, 2, 2, 932, 934, 3, 2, 2, 2, 933, 931, 3, 2, 2, 2, 934, 935, 5, 71, 36, 2, 935, 950, 3, 2, 2, 2, 936, 944, 5, 73, 37, 2, 937, 938, 7, 94, 2, 2, 938, 943, 11, 2, 2, 2, 939, 940, 7, 41, 2, 2, 940, 943, 7, 41, 2, 2, 941, 943, 10, 34, 2, 2, 942, 937, 3, 2, 2, 2, 942, 939, 3, 2, 2, 2, 942, 941, 3, 2, 2, 2, 943, 946, 3, 2, 2, 2, 944, 942, 3, 2, 2, 2, 944, 945, 3, 2, 2, 2, 945, 947, 3, 2, 2, 2, 946, 944, 3, 2, 2, 2, 947, 948, 5, 73, 37, 2, 948, 950, 3, 2, 2, 2, 949, 923, 3, 2, 2, 2, 949, 936, 3, 2, 2, 2, 950, 214, 3, 2, 2, 2, 951, 953, 9, 35, 2, 2, 952, 951, 3, 2, 2, 2, 953, 954, 3, 2, 2, 2, 954, 952, 3, 2, 2, 2, 954, 955, 3, 2, 2, 2, 955, 216, 3, 2, 2, 2, 956, 957, 9, 36, 2, 2, 957, 218, 3, 2, 2, 2, 958, 960, 5, 215, 108, 2, 959, 958, 3, 2, 2, 2, 959, 960, 3, 2, 2, 2, 960, 962, 3, 2, 2, 2, 961, 963, 5, 35, 18, 2, 962, 961, 3, 2, 2, 2, 962, 963, 3, 2, 2, 2, 963, 964, 3, 2, 2, 2, 964, 972, 5, 215, 108, 2, 965, 968, 5, 167, 84, 2, 966, 969, 5, 25, 13, 2, 967, 969, 5, 27, 14, 2, 968, 966, 3, 2, 2, 2, 968, 967, 3, 2, 2, 2, 968, 969, 3, 2, 2, 2, 969, 970, 3, 2, 2, 2, 970, 971, 5, 215, 108, 2, 971, 973, 3, 2, 2, 2, 972, 965, 3, 2, 2, 2, 972, 973, 3, 2, 2, 2, 973, 220, 3, 2, 2, 2, 974, 975, 7, 50, 2, 2, 975, 976, 7, 122, 2, 2, 976, 978, 3, 2, 2, 2, 977, 979, 5, 217, 109, 2, 978, 977, 3, 2, 2, 2, 979, 980, 3, 2, 2, 2, 980, 978, 3, 2, 2, 2, 980, 981, 3, 2, 2, 2, 981, 992, 3, 2, 2, 2, 982, 983, 7, 90, 2, 2, 983, 985, 5, 73, 37, 2, 984, 986, 5, 217, 109, 2, 985, 984, 3, 2, 2, 2, 986, 987, 3, 2, 2, 2, 987, 985, 3, 2, 2, 2, 987, 988, 3, 2, 2, 2, 988, 989, 3, 2, 2, 2, 989, 990, 5, 73, 37, 2, 990, 992, 3, 2, 2, 2, 991, 974, 3, 2, 2, 2, 991, 982, 3, 2, 2, 2, 992, 222, 3, 2, 2, 2, 993, 994, 7, 50, 2, 2, 994, 995, 7, 100, 2, 2, 995, 997, 3, 2, 2, 2, 996, 998, 4, 50, 51, 2, 997, 996, 3, 2, 2, 2, 998, 999, 3, 2, 2, 2, 999, 997, 3, 2, 2, 2, 999, 1000, 3, 2, 2, 2, 1000, 1011, 3, 2, 2, 2, 1001, 1002, 5, 161, 81, 2, 1002, 1004, 5, 73, 37, 2, 1003, 1005, 4, 50, 51, 2, 1004, 1003, 3, 2, 2, 2, 1005, 1006, 3, 2, 2, 2, 1006, 1004, 3, 2, 2, 2, 1006, 1007, 3, 2, 2, 2, 1007, 1008, 3, 2, 2, 2, 1008, 1009, 5, 73, 37, 2, 1009, 1011, 3, 2, 2, 2, 1010, 993, 3, 2, 2, 2, 1010, 1001, 3, 2, 2, 2, 1011, 224, 3, 2, 2, 2, 26, 2, 279, 328, 899, 905, 910, 917, 921, 929, 931, 942, 944, 949, 954, 959, 962, 968, 972, 980, 987, 991, 999, 1006, 1010, 3, 8, 2, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementLexer.java b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementLexer.java deleted file mode 100644 index 0ad0bbbe..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementLexer.java +++ /dev/null @@ -1,515 +0,0 @@ -// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/mask/RDLStatement.g4 by ANTLR 4.9.2 -import org.antlr.v4.runtime.Lexer; -import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.TokenStream; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.misc.*; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class RDLStatementLexer extends Lexer { - static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, - SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, - ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, - DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, - LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, - SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, - WS=43, TRUE=44, FALSE=45, CREATE=46, ALTER=47, DROP=48, SHOW=49, RULE=50, - FROM=51, MASK=52, TYPE=53, NAME=54, PROPERTIES=55, COLUMN=56, RULES=57, - TABLE=58, COLUMNS=59, IF=60, EXISTS=61, COUNT=62, NOT=63, MD5=64, KEEP_FIRST_N_LAST_M=65, - KEEP_FROM_X_TO_Y=66, MASK_FIRST_N_LAST_M=67, MASK_FROM_X_TO_Y=68, MASK_BEFORE_SPECIAL_CHARS=69, - MASK_AFTER_SPECIAL_CHARS=70, PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE=71, - MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE=72, LANDLINE_NUMBER_RANDOM_REPLACE=73, - TELEPHONE_RANDOM_REPLACE=74, UNIFIED_CREDIT_CODE_RANDOM_REPLACE=75, GENERIC_TABLE_RANDOM_REPLACE=76, - ADDRESS_RANDOM_REPLACE=77, FOR_GENERATOR=78, IDENTIFIER_=79, STRING_=80, - INT_=81, HEX_=82, NUMBER_=83, HEXDIGIT_=84, BITNUM_=85; - public static String[] channelNames = { - "DEFAULT_TOKEN_CHANNEL", "HIDDEN" - }; - - public static String[] modeNames = { - "DEFAULT_MODE" - }; - - private static String[] makeRuleNames() { - return new String[] { - "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", - "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", - "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", - "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", - "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", - "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", "FALSE", "CREATE", "ALTER", - "DROP", "SHOW", "RULE", "FROM", "MASK", "TYPE", "NAME", "PROPERTIES", - "COLUMN", "RULES", "TABLE", "COLUMNS", "IF", "EXISTS", "COUNT", "NOT", - "MD5", "KEEP_FIRST_N_LAST_M", "KEEP_FROM_X_TO_Y", "MASK_FIRST_N_LAST_M", - "MASK_FROM_X_TO_Y", "MASK_BEFORE_SPECIAL_CHARS", "MASK_AFTER_SPECIAL_CHARS", - "PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE", "MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE", - "LANDLINE_NUMBER_RANDOM_REPLACE", "TELEPHONE_RANDOM_REPLACE", "UNIFIED_CREDIT_CODE_RANDOM_REPLACE", - "GENERIC_TABLE_RANDOM_REPLACE", "ADDRESS_RANDOM_REPLACE", "FOR_GENERATOR", - "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", - "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "IDENTIFIER_", - "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", - "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", - "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", - "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", - "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", - "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", - "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", - "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", - "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", - "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", - "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", "FROM", "MASK", "TYPE", - "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", "COLUMNS", "IF", "EXISTS", - "COUNT", "NOT", "MD5", "KEEP_FIRST_N_LAST_M", "KEEP_FROM_X_TO_Y", "MASK_FIRST_N_LAST_M", - "MASK_FROM_X_TO_Y", "MASK_BEFORE_SPECIAL_CHARS", "MASK_AFTER_SPECIAL_CHARS", - "PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE", "MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE", - "LANDLINE_NUMBER_RANDOM_REPLACE", "TELEPHONE_RANDOM_REPLACE", "UNIFIED_CREDIT_CODE_RANDOM_REPLACE", - "GENERIC_TABLE_RANDOM_REPLACE", "ADDRESS_RANDOM_REPLACE", "FOR_GENERATOR", - "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - - public RDLStatementLexer(CharStream input) { - super(input); - _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - @Override - public String getGrammarFileName() { return "RDLStatement.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public String[] getChannelNames() { return channelNames; } - - @Override - public String[] getModeNames() { return modeNames; } - - @Override - public ATN getATN() { return _ATN; } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2W\u03f4\b\1\4\2\t"+ - "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ - "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ - "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ - "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ - "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ - ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ - "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ - "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+ - "\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+ - "\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+ - "`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\4k\t"+ - "k\4l\tl\4m\tm\4n\tn\4o\to\4p\tp\3\2\3\2\3\2\3\3\3\3\3\3\3\4\3\4\3\5\3"+ - "\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\t\3\t\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3"+ - "\r\3\r\3\16\3\16\3\17\3\17\3\20\3\20\3\21\3\21\3\22\3\22\3\23\3\23\3\23"+ - "\3\24\3\24\3\24\3\24\3\25\3\25\3\25\3\26\3\26\3\27\3\27\3\27\3\27\5\27"+ - "\u0118\n\27\3\30\3\30\3\31\3\31\3\31\3\32\3\32\3\33\3\33\3\33\3\34\3\34"+ - "\3\35\3\35\3\36\3\36\3\37\3\37\3 \3 \3!\3!\3\"\3\"\3#\3#\3$\3$\3%\3%\3"+ - "&\3&\3\'\3\'\3(\3(\3)\3)\3*\3*\3*\3*\3+\3+\3,\6,\u0147\n,\r,\16,\u0148"+ - "\3,\3,\3-\3-\3-\3-\3-\3.\3.\3.\3.\3.\3.\3/\3/\3/\3/\3/\3/\3/\3\60\3\60"+ - "\3\60\3\60\3\60\3\60\3\61\3\61\3\61\3\61\3\61\3\62\3\62\3\62\3\62\3\62"+ - "\3\63\3\63\3\63\3\63\3\63\3\64\3\64\3\64\3\64\3\64\3\65\3\65\3\65\3\65"+ - "\3\65\3\66\3\66\3\66\3\66\3\66\3\67\3\67\3\67\3\67\3\67\38\38\38\38\3"+ - "8\38\38\38\38\38\38\39\39\39\39\39\39\39\3:\3:\3:\3:\3:\3:\3;\3;\3;\3"+ - ";\3;\3;\3<\3<\3<\3<\3<\3<\3<\3<\3=\3=\3=\3>\3>\3>\3>\3>\3>\3>\3?\3?\3"+ - "?\3?\3?\3?\3@\3@\3@\3@\3A\3A\3A\3A\3B\3B\3B\3B\3B\3B\3B\3B\3B\3B\3B\3"+ - "B\3B\3B\3B\3B\3B\3B\3B\3B\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3"+ - "C\3C\3C\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3"+ - "E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3F\3F\3F\3F\3F\3F\3"+ - "F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3G\3G\3G\3"+ - "G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3H\3"+ - "H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3"+ - "H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3I\3I\3I\3I\3I\3I\3I\3"+ - "I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3"+ - "I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3"+ - "J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3K\3K\3K\3K\3K\3"+ - "K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3L\3L\3L\3"+ - "L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3"+ - "L\3L\3L\3L\3L\3L\3L\3L\3L\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3"+ - "M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3N\3N\3N\3N\3N\3N\3N\3N\3"+ - "N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3O\3O\3O\3O\3O\3O\3O\3O\3"+ - "O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3"+ - "O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3P\3P\3Q\3Q\3R\3R\3S\3S\3T\3T\3U\3"+ - "U\3V\3V\3W\3W\3X\3X\3Y\3Y\3Z\3Z\3[\3[\3\\\3\\\3]\3]\3^\3^\3_\3_\3`\3`"+ - "\3a\3a\3b\3b\3c\3c\3d\3d\3e\3e\3f\3f\3g\3g\3h\3h\3i\3i\3j\7j\u0382\nj"+ - "\fj\16j\u0385\13j\3j\6j\u0388\nj\rj\16j\u0389\3j\7j\u038d\nj\fj\16j\u0390"+ - "\13j\3j\3j\6j\u0394\nj\rj\16j\u0395\3j\3j\5j\u039a\nj\3k\3k\3k\3k\3k\3"+ - "k\7k\u03a2\nk\fk\16k\u03a5\13k\3k\3k\3k\3k\3k\3k\3k\3k\7k\u03af\nk\fk"+ - "\16k\u03b2\13k\3k\3k\5k\u03b6\nk\3l\6l\u03b9\nl\rl\16l\u03ba\3m\3m\3n"+ - "\5n\u03c0\nn\3n\5n\u03c3\nn\3n\3n\3n\3n\5n\u03c9\nn\3n\3n\5n\u03cd\nn"+ - "\3o\3o\3o\3o\6o\u03d3\no\ro\16o\u03d4\3o\3o\3o\6o\u03da\no\ro\16o\u03db"+ - "\3o\3o\5o\u03e0\no\3p\3p\3p\3p\6p\u03e6\np\rp\16p\u03e7\3p\3p\3p\6p\u03ed"+ - "\np\rp\16p\u03ee\3p\3p\5p\u03f3\np\4\u0383\u0389\2q\3\3\5\4\7\5\t\6\13"+ - "\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\35\20\37\21!\22#\23%\24\'"+ - "\25)\26+\27-\30/\31\61\32\63\33\65\34\67\359\36;\37= ?!A\"C#E$G%I&K\'"+ - "M(O)Q*S+U,W-Y.[/]\60_\61a\62c\63e\64g\65i\66k\67m8o9q:s;u{?}@\177"+ - "A\u0081B\u0083C\u0085D\u0087E\u0089F\u008bG\u008dH\u008fI\u0091J\u0093"+ - "K\u0095L\u0097M\u0099N\u009bO\u009dP\u009f\2\u00a1\2\u00a3\2\u00a5\2\u00a7"+ - "\2\u00a9\2\u00ab\2\u00ad\2\u00af\2\u00b1\2\u00b3\2\u00b5\2\u00b7\2\u00b9"+ - "\2\u00bb\2\u00bd\2\u00bf\2\u00c1\2\u00c3\2\u00c5\2\u00c7\2\u00c9\2\u00cb"+ - "\2\u00cd\2\u00cf\2\u00d1\2\u00d3Q\u00d5R\u00d7S\u00d9T\u00dbU\u00ddV\u00df"+ - "W\3\2%\5\2\13\f\17\17\"\"\3\2\67\67\4\2CCcc\4\2DDdd\4\2EEee\4\2FFff\4"+ - "\2GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4\2LLll\4\2MMmm\4\2NNnn\4\2OOo"+ - "o\4\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4\2TTtt\4\2UUuu\4\2VVvv\4\2WWww\4\2"+ - "XXxx\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\||\7\2&&\62;C\\aac|\6\2&&C\\aac|\3"+ - "\2bb\4\2$$^^\4\2))^^\3\2\62;\5\2\62;CHch\2\u03f3\2\3\3\2\2\2\2\5\3\2\2"+ - "\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17\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\31\3\2\2\2\2\33\3\2"+ - "\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2\2\2%\3\2\2\2\2\'\3"+ - "\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\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\29\3\2\2\2\2;\3\2\2\2\2=\3\2\2\2\2?\3"+ - "\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2\2I\3\2\2\2\2K\3\2\2"+ - "\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2\2\2\2W\3\2\2\2\2"+ - "Y\3\2\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3\2\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3"+ - "\2\2\2\2g\3\2\2\2\2i\3\2\2\2\2k\3\2\2\2\2m\3\2\2\2\2o\3\2\2\2\2q\3\2\2"+ - "\2\2s\3\2\2\2\2u\3\2\2\2\2w\3\2\2\2\2y\3\2\2\2\2{\3\2\2\2\2}\3\2\2\2\2"+ - "\177\3\2\2\2\2\u0081\3\2\2\2\2\u0083\3\2\2\2\2\u0085\3\2\2\2\2\u0087\3"+ - "\2\2\2\2\u0089\3\2\2\2\2\u008b\3\2\2\2\2\u008d\3\2\2\2\2\u008f\3\2\2\2"+ - "\2\u0091\3\2\2\2\2\u0093\3\2\2\2\2\u0095\3\2\2\2\2\u0097\3\2\2\2\2\u0099"+ - "\3\2\2\2\2\u009b\3\2\2\2\2\u009d\3\2\2\2\2\u00d3\3\2\2\2\2\u00d5\3\2\2"+ - "\2\2\u00d7\3\2\2\2\2\u00d9\3\2\2\2\2\u00db\3\2\2\2\2\u00dd\3\2\2\2\2\u00df"+ - "\3\2\2\2\3\u00e1\3\2\2\2\5\u00e4\3\2\2\2\7\u00e7\3\2\2\2\t\u00e9\3\2\2"+ - "\2\13\u00eb\3\2\2\2\r\u00ed\3\2\2\2\17\u00ef\3\2\2\2\21\u00f2\3\2\2\2"+ - "\23\u00f5\3\2\2\2\25\u00f7\3\2\2\2\27\u00f9\3\2\2\2\31\u00fb\3\2\2\2\33"+ - "\u00fd\3\2\2\2\35\u00ff\3\2\2\2\37\u0101\3\2\2\2!\u0103\3\2\2\2#\u0105"+ - "\3\2\2\2%\u0107\3\2\2\2\'\u010a\3\2\2\2)\u010e\3\2\2\2+\u0111\3\2\2\2"+ - "-\u0117\3\2\2\2/\u0119\3\2\2\2\61\u011b\3\2\2\2\63\u011e\3\2\2\2\65\u0120"+ - "\3\2\2\2\67\u0123\3\2\2\29\u0125\3\2\2\2;\u0127\3\2\2\2=\u0129\3\2\2\2"+ - "?\u012b\3\2\2\2A\u012d\3\2\2\2C\u012f\3\2\2\2E\u0131\3\2\2\2G\u0133\3"+ - "\2\2\2I\u0135\3\2\2\2K\u0137\3\2\2\2M\u0139\3\2\2\2O\u013b\3\2\2\2Q\u013d"+ - "\3\2\2\2S\u013f\3\2\2\2U\u0143\3\2\2\2W\u0146\3\2\2\2Y\u014c\3\2\2\2["+ - "\u0151\3\2\2\2]\u0157\3\2\2\2_\u015e\3\2\2\2a\u0164\3\2\2\2c\u0169\3\2"+ - "\2\2e\u016e\3\2\2\2g\u0173\3\2\2\2i\u0178\3\2\2\2k\u017d\3\2\2\2m\u0182"+ - "\3\2\2\2o\u0187\3\2\2\2q\u0192\3\2\2\2s\u0199\3\2\2\2u\u019f\3\2\2\2w"+ - "\u01a5\3\2\2\2y\u01ad\3\2\2\2{\u01b0\3\2\2\2}\u01b7\3\2\2\2\177\u01bd"+ - "\3\2\2\2\u0081\u01c1\3\2\2\2\u0083\u01c5\3\2\2\2\u0085\u01d9\3\2\2\2\u0087"+ - "\u01ea\3\2\2\2\u0089\u01fe\3\2\2\2\u008b\u020f\3\2\2\2\u008d\u0229\3\2"+ - "\2\2\u008f\u0242\3\2\2\2\u0091\u026a\3\2\2\2\u0093\u0292\3\2\2\2\u0095"+ - "\u02b1\3\2\2\2\u0097\u02ca\3\2\2\2\u0099\u02ed\3\2\2\2\u009b\u030a\3\2"+ - "\2\2\u009d\u0321\3\2\2\2\u009f\u034c\3\2\2\2\u00a1\u034e\3\2\2\2\u00a3"+ - "\u0350\3\2\2\2\u00a5\u0352\3\2\2\2\u00a7\u0354\3\2\2\2\u00a9\u0356\3\2"+ - "\2\2\u00ab\u0358\3\2\2\2\u00ad\u035a\3\2\2\2\u00af\u035c\3\2\2\2\u00b1"+ - "\u035e\3\2\2\2\u00b3\u0360\3\2\2\2\u00b5\u0362\3\2\2\2\u00b7\u0364\3\2"+ - "\2\2\u00b9\u0366\3\2\2\2\u00bb\u0368\3\2\2\2\u00bd\u036a\3\2\2\2\u00bf"+ - "\u036c\3\2\2\2\u00c1\u036e\3\2\2\2\u00c3\u0370\3\2\2\2\u00c5\u0372\3\2"+ - "\2\2\u00c7\u0374\3\2\2\2\u00c9\u0376\3\2\2\2\u00cb\u0378\3\2\2\2\u00cd"+ - "\u037a\3\2\2\2\u00cf\u037c\3\2\2\2\u00d1\u037e\3\2\2\2\u00d3\u0399\3\2"+ - "\2\2\u00d5\u03b5\3\2\2\2\u00d7\u03b8\3\2\2\2\u00d9\u03bc\3\2\2\2\u00db"+ - "\u03bf\3\2\2\2\u00dd\u03df\3\2\2\2\u00df\u03f2\3\2\2\2\u00e1\u00e2\7("+ - "\2\2\u00e2\u00e3\7(\2\2\u00e3\4\3\2\2\2\u00e4\u00e5\7~\2\2\u00e5\u00e6"+ - "\7~\2\2\u00e6\6\3\2\2\2\u00e7\u00e8\7#\2\2\u00e8\b\3\2\2\2\u00e9\u00ea"+ - "\7\u0080\2\2\u00ea\n\3\2\2\2\u00eb\u00ec\7~\2\2\u00ec\f\3\2\2\2\u00ed"+ - "\u00ee\7(\2\2\u00ee\16\3\2\2\2\u00ef\u00f0\7>\2\2\u00f0\u00f1\7>\2\2\u00f1"+ - "\20\3\2\2\2\u00f2\u00f3\7@\2\2\u00f3\u00f4\7@\2\2\u00f4\22\3\2\2\2\u00f5"+ - "\u00f6\7`\2\2\u00f6\24\3\2\2\2\u00f7\u00f8\7\'\2\2\u00f8\26\3\2\2\2\u00f9"+ - "\u00fa\7<\2\2\u00fa\30\3\2\2\2\u00fb\u00fc\7-\2\2\u00fc\32\3\2\2\2\u00fd"+ - "\u00fe\7/\2\2\u00fe\34\3\2\2\2\u00ff\u0100\7,\2\2\u0100\36\3\2\2\2\u0101"+ - "\u0102\7\61\2\2\u0102 \3\2\2\2\u0103\u0104\7^\2\2\u0104\"\3\2\2\2\u0105"+ - "\u0106\7\60\2\2\u0106$\3\2\2\2\u0107\u0108\7\60\2\2\u0108\u0109\7,\2\2"+ - "\u0109&\3\2\2\2\u010a\u010b\7>\2\2\u010b\u010c\7?\2\2\u010c\u010d\7@\2"+ - "\2\u010d(\3\2\2\2\u010e\u010f\7?\2\2\u010f\u0110\7?\2\2\u0110*\3\2\2\2"+ - "\u0111\u0112\7?\2\2\u0112,\3\2\2\2\u0113\u0114\7>\2\2\u0114\u0118\7@\2"+ - "\2\u0115\u0116\7#\2\2\u0116\u0118\7?\2\2\u0117\u0113\3\2\2\2\u0117\u0115"+ - "\3\2\2\2\u0118.\3\2\2\2\u0119\u011a\7@\2\2\u011a\60\3\2\2\2\u011b\u011c"+ - "\7@\2\2\u011c\u011d\7?\2\2\u011d\62\3\2\2\2\u011e\u011f\7>\2\2\u011f\64"+ - "\3\2\2\2\u0120\u0121\7>\2\2\u0121\u0122\7?\2\2\u0122\66\3\2\2\2\u0123"+ - "\u0124\7%\2\2\u01248\3\2\2\2\u0125\u0126\7*\2\2\u0126:\3\2\2\2\u0127\u0128"+ - "\7+\2\2\u0128<\3\2\2\2\u0129\u012a\7}\2\2\u012a>\3\2\2\2\u012b\u012c\7"+ - "\177\2\2\u012c@\3\2\2\2\u012d\u012e\7]\2\2\u012eB\3\2\2\2\u012f\u0130"+ - "\7_\2\2\u0130D\3\2\2\2\u0131\u0132\7.\2\2\u0132F\3\2\2\2\u0133\u0134\7"+ - "$\2\2\u0134H\3\2\2\2\u0135\u0136\7)\2\2\u0136J\3\2\2\2\u0137\u0138\7b"+ - "\2\2\u0138L\3\2\2\2\u0139\u013a\7A\2\2\u013aN\3\2\2\2\u013b\u013c\7B\2"+ - "\2\u013cP\3\2\2\2\u013d\u013e\7=\2\2\u013eR\3\2\2\2\u013f\u0140\7/\2\2"+ - "\u0140\u0141\7@\2\2\u0141\u0142\7@\2\2\u0142T\3\2\2\2\u0143\u0144\7a\2"+ - "\2\u0144V\3\2\2\2\u0145\u0147\t\2\2\2\u0146\u0145\3\2\2\2\u0147\u0148"+ - "\3\2\2\2\u0148\u0146\3\2\2\2\u0148\u0149\3\2\2\2\u0149\u014a\3\2\2\2\u014a"+ - "\u014b\b,\2\2\u014bX\3\2\2\2\u014c\u014d\5\u00c5c\2\u014d\u014e\5\u00c1"+ - "a\2\u014e\u014f\5\u00c7d\2\u014f\u0150\5\u00a7T\2\u0150Z\3\2\2\2\u0151"+ - "\u0152\5\u00a9U\2\u0152\u0153\5\u009fP\2\u0153\u0154\5\u00b5[\2\u0154"+ - "\u0155\5\u00c3b\2\u0155\u0156\5\u00a7T\2\u0156\\\3\2\2\2\u0157\u0158\5"+ - "\u00a3R\2\u0158\u0159\5\u00c1a\2\u0159\u015a\5\u00a7T\2\u015a\u015b\5"+ - "\u009fP\2\u015b\u015c\5\u00c5c\2\u015c\u015d\5\u00a7T\2\u015d^\3\2\2\2"+ - "\u015e\u015f\5\u009fP\2\u015f\u0160\5\u00b5[\2\u0160\u0161\5\u00c5c\2"+ - "\u0161\u0162\5\u00a7T\2\u0162\u0163\5\u00c1a\2\u0163`\3\2\2\2\u0164\u0165"+ - "\5\u00a5S\2\u0165\u0166\5\u00c1a\2\u0166\u0167\5\u00bb^\2\u0167\u0168"+ - "\5\u00bd_\2\u0168b\3\2\2\2\u0169\u016a\5\u00c3b\2\u016a\u016b\5\u00ad"+ - "W\2\u016b\u016c\5\u00bb^\2\u016c\u016d\5\u00cbf\2\u016dd\3\2\2\2\u016e"+ - "\u016f\5\u00c1a\2\u016f\u0170\5\u00c7d\2\u0170\u0171\5\u00b5[\2\u0171"+ - "\u0172\5\u00a7T\2\u0172f\3\2\2\2\u0173\u0174\5\u00a9U\2\u0174\u0175\5"+ - "\u00c1a\2\u0175\u0176\5\u00bb^\2\u0176\u0177\5\u00b7\\\2\u0177h\3\2\2"+ - "\2\u0178\u0179\5\u00b7\\\2\u0179\u017a\5\u009fP\2\u017a\u017b\5\u00c3"+ - "b\2\u017b\u017c\5\u00b3Z\2\u017cj\3\2\2\2\u017d\u017e\5\u00c5c\2\u017e"+ - "\u017f\5\u00cfh\2\u017f\u0180\5\u00bd_\2\u0180\u0181\5\u00a7T\2\u0181"+ - "l\3\2\2\2\u0182\u0183\5\u00b9]\2\u0183\u0184\5\u009fP\2\u0184\u0185\5"+ - "\u00b7\\\2\u0185\u0186\5\u00a7T\2\u0186n\3\2\2\2\u0187\u0188\5\u00bd_"+ - "\2\u0188\u0189\5\u00c1a\2\u0189\u018a\5\u00bb^\2\u018a\u018b\5\u00bd_"+ - "\2\u018b\u018c\5\u00a7T\2\u018c\u018d\5\u00c1a\2\u018d\u018e\5\u00c5c"+ - "\2\u018e\u018f\5\u00afX\2\u018f\u0190\5\u00a7T\2\u0190\u0191\5\u00c3b"+ - "\2\u0191p\3\2\2\2\u0192\u0193\5\u00a3R\2\u0193\u0194\5\u00bb^\2\u0194"+ - "\u0195\5\u00b5[\2\u0195\u0196\5\u00c7d\2\u0196\u0197\5\u00b7\\\2\u0197"+ - "\u0198\5\u00b9]\2\u0198r\3\2\2\2\u0199\u019a\5\u00c1a\2\u019a\u019b\5"+ - "\u00c7d\2\u019b\u019c\5\u00b5[\2\u019c\u019d\5\u00a7T\2\u019d\u019e\5"+ - "\u00c3b\2\u019et\3\2\2\2\u019f\u01a0\5\u00c5c\2\u01a0\u01a1\5\u009fP\2"+ - "\u01a1\u01a2\5\u00a1Q\2\u01a2\u01a3\5\u00b5[\2\u01a3\u01a4\5\u00a7T\2"+ - "\u01a4v\3\2\2\2\u01a5\u01a6\5\u00a3R\2\u01a6\u01a7\5\u00bb^\2\u01a7\u01a8"+ - "\5\u00b5[\2\u01a8\u01a9\5\u00c7d\2\u01a9\u01aa\5\u00b7\\\2\u01aa\u01ab"+ - "\5\u00b9]\2\u01ab\u01ac\5\u00c3b\2\u01acx\3\2\2\2\u01ad\u01ae\5\u00af"+ - "X\2\u01ae\u01af\5\u00a9U\2\u01afz\3\2\2\2\u01b0\u01b1\5\u00a7T\2\u01b1"+ - "\u01b2\5\u00cdg\2\u01b2\u01b3\5\u00afX\2\u01b3\u01b4\5\u00c3b\2\u01b4"+ - "\u01b5\5\u00c5c\2\u01b5\u01b6\5\u00c3b\2\u01b6|\3\2\2\2\u01b7\u01b8\5"+ - "\u00a3R\2\u01b8\u01b9\5\u00bb^\2\u01b9\u01ba\5\u00c7d\2\u01ba\u01bb\5"+ - "\u00b9]\2\u01bb\u01bc\5\u00c5c\2\u01bc~\3\2\2\2\u01bd\u01be\5\u00b9]\2"+ - "\u01be\u01bf\5\u00bb^\2\u01bf\u01c0\5\u00c5c\2\u01c0\u0080\3\2\2\2\u01c1"+ - "\u01c2\5\u00b7\\\2\u01c2\u01c3\5\u00a5S\2\u01c3\u01c4\t\3\2\2\u01c4\u0082"+ - "\3\2\2\2\u01c5\u01c6\5\u00b3Z\2\u01c6\u01c7\5\u00a7T\2\u01c7\u01c8\5\u00a7"+ - "T\2\u01c8\u01c9\5\u00bd_\2\u01c9\u01ca\5U+\2\u01ca\u01cb\5\u00a9U\2\u01cb"+ - "\u01cc\5\u00afX\2\u01cc\u01cd\5\u00c1a\2\u01cd\u01ce\5\u00c3b\2\u01ce"+ - "\u01cf\5\u00c5c\2\u01cf\u01d0\5U+\2\u01d0\u01d1\5\u00b9]\2\u01d1\u01d2"+ - "\5U+\2\u01d2\u01d3\5\u00b5[\2\u01d3\u01d4\5\u009fP\2\u01d4\u01d5\5\u00c3"+ - "b\2\u01d5\u01d6\5\u00c5c\2\u01d6\u01d7\5U+\2\u01d7\u01d8\5\u00b7\\\2\u01d8"+ - "\u0084\3\2\2\2\u01d9\u01da\5\u00b3Z\2\u01da\u01db\5\u00a7T\2\u01db\u01dc"+ - "\5\u00a7T\2\u01dc\u01dd\5\u00bd_\2\u01dd\u01de\5U+\2\u01de\u01df\5\u00a9"+ - "U\2\u01df\u01e0\5\u00c1a\2\u01e0\u01e1\5\u00bb^\2\u01e1\u01e2\5\u00b7"+ - "\\\2\u01e2\u01e3\5U+\2\u01e3\u01e4\5\u00cdg\2\u01e4\u01e5\5U+\2\u01e5"+ - "\u01e6\5\u00c5c\2\u01e6\u01e7\5\u00bb^\2\u01e7\u01e8\5U+\2\u01e8\u01e9"+ - "\5\u00cfh\2\u01e9\u0086\3\2\2\2\u01ea\u01eb\5\u00b7\\\2\u01eb\u01ec\5"+ - "\u009fP\2\u01ec\u01ed\5\u00c3b\2\u01ed\u01ee\5\u00b3Z\2\u01ee\u01ef\5"+ - "U+\2\u01ef\u01f0\5\u00a9U\2\u01f0\u01f1\5\u00afX\2\u01f1\u01f2\5\u00c1"+ - "a\2\u01f2\u01f3\5\u00c3b\2\u01f3\u01f4\5\u00c5c\2\u01f4\u01f5\5U+\2\u01f5"+ - "\u01f6\5\u00b9]\2\u01f6\u01f7\5U+\2\u01f7\u01f8\5\u00b5[\2\u01f8\u01f9"+ - "\5\u009fP\2\u01f9\u01fa\5\u00c3b\2\u01fa\u01fb\5\u00c5c\2\u01fb\u01fc"+ - "\5U+\2\u01fc\u01fd\5\u00b7\\\2\u01fd\u0088\3\2\2\2\u01fe\u01ff\5\u00b7"+ - "\\\2\u01ff\u0200\5\u009fP\2\u0200\u0201\5\u00c3b\2\u0201\u0202\5\u00b3"+ - "Z\2\u0202\u0203\5U+\2\u0203\u0204\5\u00a9U\2\u0204\u0205\5\u00c1a\2\u0205"+ - "\u0206\5\u00bb^\2\u0206\u0207\5\u00b7\\\2\u0207\u0208\5U+\2\u0208\u0209"+ - "\5\u00cdg\2\u0209\u020a\5U+\2\u020a\u020b\5\u00c5c\2\u020b\u020c\5\u00bb"+ - "^\2\u020c\u020d\5U+\2\u020d\u020e\5\u00cfh\2\u020e\u008a\3\2\2\2\u020f"+ - "\u0210\5\u00b7\\\2\u0210\u0211\5\u009fP\2\u0211\u0212\5\u00c3b\2\u0212"+ - "\u0213\5\u00b3Z\2\u0213\u0214\5U+\2\u0214\u0215\5\u00a1Q\2\u0215\u0216"+ - "\5\u00a7T\2\u0216\u0217\5\u00a9U\2\u0217\u0218\5\u00bb^\2\u0218\u0219"+ - "\5\u00c1a\2\u0219\u021a\5\u00a7T\2\u021a\u021b\5U+\2\u021b\u021c\5\u00c3"+ - "b\2\u021c\u021d\5\u00bd_\2\u021d\u021e\5\u00a7T\2\u021e\u021f\5\u00a3"+ - "R\2\u021f\u0220\5\u00afX\2\u0220\u0221\5\u009fP\2\u0221\u0222\5\u00b5"+ - "[\2\u0222\u0223\5U+\2\u0223\u0224\5\u00a3R\2\u0224\u0225\5\u00adW\2\u0225"+ - "\u0226\5\u009fP\2\u0226\u0227\5\u00c1a\2\u0227\u0228\5\u00c3b\2\u0228"+ - "\u008c\3\2\2\2\u0229\u022a\5\u00b7\\\2\u022a\u022b\5\u009fP\2\u022b\u022c"+ - "\5\u00c3b\2\u022c\u022d\5\u00b3Z\2\u022d\u022e\5U+\2\u022e\u022f\5\u009f"+ - "P\2\u022f\u0230\5\u00a9U\2\u0230\u0231\5\u00c5c\2\u0231\u0232\5\u00a7"+ - "T\2\u0232\u0233\5\u00c1a\2\u0233\u0234\5U+\2\u0234\u0235\5\u00c3b\2\u0235"+ - "\u0236\5\u00bd_\2\u0236\u0237\5\u00a7T\2\u0237\u0238\5\u00a3R\2\u0238"+ - "\u0239\5\u00afX\2\u0239\u023a\5\u009fP\2\u023a\u023b\5\u00b5[\2\u023b"+ - "\u023c\5U+\2\u023c\u023d\5\u00a3R\2\u023d\u023e\5\u00adW\2\u023e\u023f"+ - "\5\u009fP\2\u023f\u0240\5\u00c1a\2\u0240\u0241\5\u00c3b\2\u0241\u008e"+ - "\3\2\2\2\u0242\u0243\5\u00bd_\2\u0243\u0244\5\u00a7T\2\u0244\u0245\5\u00c1"+ - "a\2\u0245\u0246\5\u00c3b\2\u0246\u0247\5\u00bb^\2\u0247\u0248\5\u00b9"+ - "]\2\u0248\u0249\5\u009fP\2\u0249\u024a\5\u00b5[\2\u024a\u024b\5U+\2\u024b"+ - "\u024c\5\u00afX\2\u024c\u024d\5\u00a5S\2\u024d\u024e\5\u00a7T\2\u024e"+ - "\u024f\5\u00b9]\2\u024f\u0250\5\u00c5c\2\u0250\u0251\5\u00afX\2\u0251"+ - "\u0252\5\u00c5c\2\u0252\u0253\5\u00cfh\2\u0253\u0254\5U+\2\u0254\u0255"+ - "\5\u00b9]\2\u0255\u0256\5\u00c7d\2\u0256\u0257\5\u00b7\\\2\u0257\u0258"+ - "\5\u00a1Q\2\u0258\u0259\5\u00a7T\2\u0259\u025a\5\u00c1a\2\u025a\u025b"+ - "\5U+\2\u025b\u025c\5\u00c1a\2\u025c\u025d\5\u009fP\2\u025d\u025e\5\u00b9"+ - "]\2\u025e\u025f\5\u00a5S\2\u025f\u0260\5\u00bb^\2\u0260\u0261\5\u00b7"+ - "\\\2\u0261\u0262\5U+\2\u0262\u0263\5\u00c1a\2\u0263\u0264\5\u00a7T\2\u0264"+ - "\u0265\5\u00bd_\2\u0265\u0266\5\u00b5[\2\u0266\u0267\5\u009fP\2\u0267"+ - "\u0268\5\u00a3R\2\u0268\u0269\5\u00a7T\2\u0269\u0090\3\2\2\2\u026a\u026b"+ - "\5\u00b7\\\2\u026b\u026c\5\u00afX\2\u026c\u026d\5\u00b5[\2\u026d\u026e"+ - "\5\u00afX\2\u026e\u026f\5\u00c5c\2\u026f\u0270\5\u009fP\2\u0270\u0271"+ - "\5\u00c1a\2\u0271\u0272\5\u00cfh\2\u0272\u0273\5U+\2\u0273\u0274\5\u00af"+ - "X\2\u0274\u0275\5\u00a5S\2\u0275\u0276\5\u00a7T\2\u0276\u0277\5\u00b9"+ - "]\2\u0277\u0278\5\u00c5c\2\u0278\u0279\5\u00afX\2\u0279\u027a\5\u00c5"+ - "c\2\u027a\u027b\5\u00cfh\2\u027b\u027c\5U+\2\u027c\u027d\5\u00b9]\2\u027d"+ - "\u027e\5\u00c7d\2\u027e\u027f\5\u00b7\\\2\u027f\u0280\5\u00a1Q\2\u0280"+ - "\u0281\5\u00a7T\2\u0281\u0282\5\u00c1a\2\u0282\u0283\5U+\2\u0283\u0284"+ - "\5\u00c1a\2\u0284\u0285\5\u009fP\2\u0285\u0286\5\u00b9]\2\u0286\u0287"+ - "\5\u00a5S\2\u0287\u0288\5\u00bb^\2\u0288\u0289\5\u00b7\\\2\u0289\u028a"+ - "\5U+\2\u028a\u028b\5\u00c1a\2\u028b\u028c\5\u00a7T\2\u028c\u028d\5\u00bd"+ - "_\2\u028d\u028e\5\u00b5[\2\u028e\u028f\5\u009fP\2\u028f\u0290\5\u00a3"+ - "R\2\u0290\u0291\5\u00a7T\2\u0291\u0092\3\2\2\2\u0292\u0293\5\u00b5[\2"+ - "\u0293\u0294\5\u009fP\2\u0294\u0295\5\u00b9]\2\u0295\u0296\5\u00a5S\2"+ - "\u0296\u0297\5\u00b5[\2\u0297\u0298\5\u00afX\2\u0298\u0299\5\u00b9]\2"+ - "\u0299\u029a\5\u00a7T\2\u029a\u029b\5U+\2\u029b\u029c\5\u00b9]\2\u029c"+ - "\u029d\5\u00c7d\2\u029d\u029e\5\u00b7\\\2\u029e\u029f\5\u00a1Q\2\u029f"+ - "\u02a0\5\u00a7T\2\u02a0\u02a1\5\u00c1a\2\u02a1\u02a2\5U+\2\u02a2\u02a3"+ - "\5\u00c1a\2\u02a3\u02a4\5\u009fP\2\u02a4\u02a5\5\u00b9]\2\u02a5\u02a6"+ - "\5\u00a5S\2\u02a6\u02a7\5\u00bb^\2\u02a7\u02a8\5\u00b7\\\2\u02a8\u02a9"+ - "\5U+\2\u02a9\u02aa\5\u00c1a\2\u02aa\u02ab\5\u00a7T\2\u02ab\u02ac\5\u00bd"+ - "_\2\u02ac\u02ad\5\u00b5[\2\u02ad\u02ae\5\u009fP\2\u02ae\u02af\5\u00a3"+ - "R\2\u02af\u02b0\5\u00a7T\2\u02b0\u0094\3\2\2\2\u02b1\u02b2\5\u00c5c\2"+ - "\u02b2\u02b3\5\u00a7T\2\u02b3\u02b4\5\u00b5[\2\u02b4\u02b5\5\u00a7T\2"+ - "\u02b5\u02b6\5\u00bd_\2\u02b6\u02b7\5\u00adW\2\u02b7\u02b8\5\u00bb^\2"+ - "\u02b8\u02b9\5\u00b9]\2\u02b9\u02ba\5\u00a7T\2\u02ba\u02bb\5U+\2\u02bb"+ - "\u02bc\5\u00c1a\2\u02bc\u02bd\5\u009fP\2\u02bd\u02be\5\u00b9]\2\u02be"+ - "\u02bf\5\u00a5S\2\u02bf\u02c0\5\u00bb^\2\u02c0\u02c1\5\u00b7\\\2\u02c1"+ - "\u02c2\5U+\2\u02c2\u02c3\5\u00c1a\2\u02c3\u02c4\5\u00a7T\2\u02c4\u02c5"+ - "\5\u00bd_\2\u02c5\u02c6\5\u00b5[\2\u02c6\u02c7\5\u009fP\2\u02c7\u02c8"+ - "\5\u00a3R\2\u02c8\u02c9\5\u00a7T\2\u02c9\u0096\3\2\2\2\u02ca\u02cb\5\u00c7"+ - "d\2\u02cb\u02cc\5\u00b9]\2\u02cc\u02cd\5\u00afX\2\u02cd\u02ce\5\u00a9"+ - "U\2\u02ce\u02cf\5\u00afX\2\u02cf\u02d0\5\u00a7T\2\u02d0\u02d1\5\u00a5"+ - "S\2\u02d1\u02d2\5U+\2\u02d2\u02d3\5\u00a3R\2\u02d3\u02d4\5\u00c1a\2\u02d4"+ - "\u02d5\5\u00a7T\2\u02d5\u02d6\5\u00a5S\2\u02d6\u02d7\5\u00afX\2\u02d7"+ - "\u02d8\5\u00c5c\2\u02d8\u02d9\5U+\2\u02d9\u02da\5\u00a3R\2\u02da\u02db"+ - "\5\u00bb^\2\u02db\u02dc\5\u00a5S\2\u02dc\u02dd\5\u00a7T\2\u02dd\u02de"+ - "\5U+\2\u02de\u02df\5\u00c1a\2\u02df\u02e0\5\u009fP\2\u02e0\u02e1\5\u00b9"+ - "]\2\u02e1\u02e2\5\u00a5S\2\u02e2\u02e3\5\u00bb^\2\u02e3\u02e4\5\u00b7"+ - "\\\2\u02e4\u02e5\5U+\2\u02e5\u02e6\5\u00c1a\2\u02e6\u02e7\5\u00a7T\2\u02e7"+ - "\u02e8\5\u00bd_\2\u02e8\u02e9\5\u00b5[\2\u02e9\u02ea\5\u009fP\2\u02ea"+ - "\u02eb\5\u00a3R\2\u02eb\u02ec\5\u00a7T\2\u02ec\u0098\3\2\2\2\u02ed\u02ee"+ - "\5\u00abV\2\u02ee\u02ef\5\u00a7T\2\u02ef\u02f0\5\u00b9]\2\u02f0\u02f1"+ - "\5\u00a7T\2\u02f1\u02f2\5\u00c1a\2\u02f2\u02f3\5\u00afX\2\u02f3\u02f4"+ - "\5\u00a3R\2\u02f4\u02f5\5U+\2\u02f5\u02f6\5\u00c5c\2\u02f6\u02f7\5\u009f"+ - "P\2\u02f7\u02f8\5\u00a1Q\2\u02f8\u02f9\5\u00b5[\2\u02f9\u02fa\5\u00a7"+ - "T\2\u02fa\u02fb\5U+\2\u02fb\u02fc\5\u00c1a\2\u02fc\u02fd\5\u009fP\2\u02fd"+ - "\u02fe\5\u00b9]\2\u02fe\u02ff\5\u00a5S\2\u02ff\u0300\5\u00bb^\2\u0300"+ - "\u0301\5\u00b7\\\2\u0301\u0302\5U+\2\u0302\u0303\5\u00c1a\2\u0303\u0304"+ - "\5\u00a7T\2\u0304\u0305\5\u00bd_\2\u0305\u0306\5\u00b5[\2\u0306\u0307"+ - "\5\u009fP\2\u0307\u0308\5\u00a3R\2\u0308\u0309\5\u00a7T\2\u0309\u009a"+ - "\3\2\2\2\u030a\u030b\5\u009fP\2\u030b\u030c\5\u00a5S\2\u030c\u030d\5\u00a5"+ - "S\2\u030d\u030e\5\u00c1a\2\u030e\u030f\5\u00a7T\2\u030f\u0310\5\u00c3"+ - "b\2\u0310\u0311\5\u00c3b\2\u0311\u0312\5U+\2\u0312\u0313\5\u00c1a\2\u0313"+ - "\u0314\5\u009fP\2\u0314\u0315\5\u00b9]\2\u0315\u0316\5\u00a5S\2\u0316"+ - "\u0317\5\u00bb^\2\u0317\u0318\5\u00b7\\\2\u0318\u0319\5U+\2\u0319\u031a"+ - "\5\u00c1a\2\u031a\u031b\5\u00a7T\2\u031b\u031c\5\u00bd_\2\u031c\u031d"+ - "\5\u00b5[\2\u031d\u031e\5\u009fP\2\u031e\u031f\5\u00a3R\2\u031f\u0320"+ - "\5\u00a7T\2\u0320\u009c\3\2\2\2\u0321\u0322\7F\2\2\u0322\u0323\7Q\2\2"+ - "\u0323\u0324\7\"\2\2\u0324\u0325\7P\2\2\u0325\u0326\7Q\2\2\u0326\u0327"+ - "\7V\2\2\u0327\u0328\7\"\2\2\u0328\u0329\7O\2\2\u0329\u032a\7C\2\2\u032a"+ - "\u032b\7V\2\2\u032b\u032c\7E\2\2\u032c\u032d\7J\2\2\u032d\u032e\7\"\2"+ - "\2\u032e\u032f\7C\2\2\u032f\u0330\7P\2\2\u0330\u0331\7[\2\2\u0331\u0332"+ - "\7\"\2\2\u0332\u0333\7V\2\2\u0333\u0334\7J\2\2\u0334\u0335\7K\2\2\u0335"+ - "\u0336\7P\2\2\u0336\u0337\7I\2\2\u0337\u0338\7.\2\2\u0338\u0339\7\"\2"+ - "\2\u0339\u033a\7L\2\2\u033a\u033b\7W\2\2\u033b\u033c\7U\2\2\u033c\u033d"+ - "\7V\2\2\u033d\u033e\7\"\2\2\u033e\u033f\7H\2\2\u033f\u0340\7Q\2\2\u0340"+ - "\u0341\7T\2\2\u0341\u0342\7\"\2\2\u0342\u0343\7I\2\2\u0343\u0344\7G\2"+ - "\2\u0344\u0345\7P\2\2\u0345\u0346\7G\2\2\u0346\u0347\7T\2\2\u0347\u0348"+ - "\7C\2\2\u0348\u0349\7V\2\2\u0349\u034a\7Q\2\2\u034a\u034b\7T\2\2\u034b"+ - "\u009e\3\2\2\2\u034c\u034d\t\4\2\2\u034d\u00a0\3\2\2\2\u034e\u034f\t\5"+ - "\2\2\u034f\u00a2\3\2\2\2\u0350\u0351\t\6\2\2\u0351\u00a4\3\2\2\2\u0352"+ - "\u0353\t\7\2\2\u0353\u00a6\3\2\2\2\u0354\u0355\t\b\2\2\u0355\u00a8\3\2"+ - "\2\2\u0356\u0357\t\t\2\2\u0357\u00aa\3\2\2\2\u0358\u0359\t\n\2\2\u0359"+ - "\u00ac\3\2\2\2\u035a\u035b\t\13\2\2\u035b\u00ae\3\2\2\2\u035c\u035d\t"+ - "\f\2\2\u035d\u00b0\3\2\2\2\u035e\u035f\t\r\2\2\u035f\u00b2\3\2\2\2\u0360"+ - "\u0361\t\16\2\2\u0361\u00b4\3\2\2\2\u0362\u0363\t\17\2\2\u0363\u00b6\3"+ - "\2\2\2\u0364\u0365\t\20\2\2\u0365\u00b8\3\2\2\2\u0366\u0367\t\21\2\2\u0367"+ - "\u00ba\3\2\2\2\u0368\u0369\t\22\2\2\u0369\u00bc\3\2\2\2\u036a\u036b\t"+ - "\23\2\2\u036b\u00be\3\2\2\2\u036c\u036d\t\24\2\2\u036d\u00c0\3\2\2\2\u036e"+ - "\u036f\t\25\2\2\u036f\u00c2\3\2\2\2\u0370\u0371\t\26\2\2\u0371\u00c4\3"+ - "\2\2\2\u0372\u0373\t\27\2\2\u0373\u00c6\3\2\2\2\u0374\u0375\t\30\2\2\u0375"+ - "\u00c8\3\2\2\2\u0376\u0377\t\31\2\2\u0377\u00ca\3\2\2\2\u0378\u0379\t"+ - "\32\2\2\u0379\u00cc\3\2\2\2\u037a\u037b\t\33\2\2\u037b\u00ce\3\2\2\2\u037c"+ - "\u037d\t\34\2\2\u037d\u00d0\3\2\2\2\u037e\u037f\t\35\2\2\u037f\u00d2\3"+ - "\2\2\2\u0380\u0382\t\36\2\2\u0381\u0380\3\2\2\2\u0382\u0385\3\2\2\2\u0383"+ - "\u0384\3\2\2\2\u0383\u0381\3\2\2\2\u0384\u0387\3\2\2\2\u0385\u0383\3\2"+ - "\2\2\u0386\u0388\t\37\2\2\u0387\u0386\3\2\2\2\u0388\u0389\3\2\2\2\u0389"+ - "\u038a\3\2\2\2\u0389\u0387\3\2\2\2\u038a\u038e\3\2\2\2\u038b\u038d\t\36"+ - "\2\2\u038c\u038b\3\2\2\2\u038d\u0390\3\2\2\2\u038e\u038c\3\2\2\2\u038e"+ - "\u038f\3\2\2\2\u038f\u039a\3\2\2\2\u0390\u038e\3\2\2\2\u0391\u0393\5K"+ - "&\2\u0392\u0394\n \2\2\u0393\u0392\3\2\2\2\u0394\u0395\3\2\2\2\u0395\u0393"+ - "\3\2\2\2\u0395\u0396\3\2\2\2\u0396\u0397\3\2\2\2\u0397\u0398\5K&\2\u0398"+ - "\u039a\3\2\2\2\u0399\u0383\3\2\2\2\u0399\u0391\3\2\2\2\u039a\u00d4\3\2"+ - "\2\2\u039b\u03a3\5G$\2\u039c\u039d\7^\2\2\u039d\u03a2\13\2\2\2\u039e\u039f"+ - "\7$\2\2\u039f\u03a2\7$\2\2\u03a0\u03a2\n!\2\2\u03a1\u039c\3\2\2\2\u03a1"+ - "\u039e\3\2\2\2\u03a1\u03a0\3\2\2\2\u03a2\u03a5\3\2\2\2\u03a3\u03a1\3\2"+ - "\2\2\u03a3\u03a4\3\2\2\2\u03a4\u03a6\3\2\2\2\u03a5\u03a3\3\2\2\2\u03a6"+ - "\u03a7\5G$\2\u03a7\u03b6\3\2\2\2\u03a8\u03b0\5I%\2\u03a9\u03aa\7^\2\2"+ - "\u03aa\u03af\13\2\2\2\u03ab\u03ac\7)\2\2\u03ac\u03af\7)\2\2\u03ad\u03af"+ - "\n\"\2\2\u03ae\u03a9\3\2\2\2\u03ae\u03ab\3\2\2\2\u03ae\u03ad\3\2\2\2\u03af"+ - "\u03b2\3\2\2\2\u03b0\u03ae\3\2\2\2\u03b0\u03b1\3\2\2\2\u03b1\u03b3\3\2"+ - "\2\2\u03b2\u03b0\3\2\2\2\u03b3\u03b4\5I%\2\u03b4\u03b6\3\2\2\2\u03b5\u039b"+ - "\3\2\2\2\u03b5\u03a8\3\2\2\2\u03b6\u00d6\3\2\2\2\u03b7\u03b9\t#\2\2\u03b8"+ - "\u03b7\3\2\2\2\u03b9\u03ba\3\2\2\2\u03ba\u03b8\3\2\2\2\u03ba\u03bb\3\2"+ - "\2\2\u03bb\u00d8\3\2\2\2\u03bc\u03bd\t$\2\2\u03bd\u00da\3\2\2\2\u03be"+ - "\u03c0\5\u00d7l\2\u03bf\u03be\3\2\2\2\u03bf\u03c0\3\2\2\2\u03c0\u03c2"+ - "\3\2\2\2\u03c1\u03c3\5#\22\2\u03c2\u03c1\3\2\2\2\u03c2\u03c3\3\2\2\2\u03c3"+ - "\u03c4\3\2\2\2\u03c4\u03cc\5\u00d7l\2\u03c5\u03c8\5\u00a7T\2\u03c6\u03c9"+ - "\5\31\r\2\u03c7\u03c9\5\33\16\2\u03c8\u03c6\3\2\2\2\u03c8\u03c7\3\2\2"+ - "\2\u03c8\u03c9\3\2\2\2\u03c9\u03ca\3\2\2\2\u03ca\u03cb\5\u00d7l\2\u03cb"+ - "\u03cd\3\2\2\2\u03cc\u03c5\3\2\2\2\u03cc\u03cd\3\2\2\2\u03cd\u00dc\3\2"+ - "\2\2\u03ce\u03cf\7\62\2\2\u03cf\u03d0\7z\2\2\u03d0\u03d2\3\2\2\2\u03d1"+ - "\u03d3\5\u00d9m\2\u03d2\u03d1\3\2\2\2\u03d3\u03d4\3\2\2\2\u03d4\u03d2"+ - "\3\2\2\2\u03d4\u03d5\3\2\2\2\u03d5\u03e0\3\2\2\2\u03d6\u03d7\7Z\2\2\u03d7"+ - "\u03d9\5I%\2\u03d8\u03da\5\u00d9m\2\u03d9\u03d8\3\2\2\2\u03da\u03db\3"+ - "\2\2\2\u03db\u03d9\3\2\2\2\u03db\u03dc\3\2\2\2\u03dc\u03dd\3\2\2\2\u03dd"+ - "\u03de\5I%\2\u03de\u03e0\3\2\2\2\u03df\u03ce\3\2\2\2\u03df\u03d6\3\2\2"+ - "\2\u03e0\u00de\3\2\2\2\u03e1\u03e2\7\62\2\2\u03e2\u03e3\7d\2\2\u03e3\u03e5"+ - "\3\2\2\2\u03e4\u03e6\4\62\63\2\u03e5\u03e4\3\2\2\2\u03e6\u03e7\3\2\2\2"+ - "\u03e7\u03e5\3\2\2\2\u03e7\u03e8\3\2\2\2\u03e8\u03f3\3\2\2\2\u03e9\u03ea"+ - "\5\u00a1Q\2\u03ea\u03ec\5I%\2\u03eb\u03ed\4\62\63\2\u03ec\u03eb\3\2\2"+ - "\2\u03ed\u03ee\3\2\2\2\u03ee\u03ec\3\2\2\2\u03ee\u03ef\3\2\2\2\u03ef\u03f0"+ - "\3\2\2\2\u03f0\u03f1\5I%\2\u03f1\u03f3\3\2\2\2\u03f2\u03e1\3\2\2\2\u03f2"+ - "\u03e9\3\2\2\2\u03f3\u00e0\3\2\2\2\32\2\u0117\u0148\u0383\u0389\u038e"+ - "\u0395\u0399\u03a1\u03a3\u03ae\u03b0\u03b5\u03ba\u03bf\u03c2\u03c8\u03cc"+ - "\u03d4\u03db\u03df\u03e7\u03ee\u03f2\3\b\2\2"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementLexer.tokens b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementLexer.tokens deleted file mode 100644 index 8f82b7ee..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementLexer.tokens +++ /dev/null @@ -1,127 +0,0 @@ -AND_=1 -OR_=2 -NOT_=3 -TILDE_=4 -VERTICALBAR_=5 -AMPERSAND_=6 -SIGNEDLEFTSHIFT_=7 -SIGNEDRIGHTSHIFT_=8 -CARET_=9 -MOD_=10 -COLON_=11 -PLUS_=12 -MINUS_=13 -ASTERISK_=14 -SLASH_=15 -BACKSLASH_=16 -DOT_=17 -DOTASTERISK_=18 -SAFEEQ_=19 -DEQ_=20 -EQ_=21 -NEQ_=22 -GT_=23 -GTE_=24 -LT_=25 -LTE_=26 -POUND_=27 -LP_=28 -RP_=29 -LBE_=30 -RBE_=31 -LBT_=32 -RBT_=33 -COMMA_=34 -DQ_=35 -SQ_=36 -BQ_=37 -QUESTION_=38 -AT_=39 -SEMI_=40 -JSONSEPARATOR_=41 -UL_=42 -WS=43 -TRUE=44 -FALSE=45 -CREATE=46 -ALTER=47 -DROP=48 -SHOW=49 -RULE=50 -FROM=51 -MASK=52 -TYPE=53 -NAME=54 -PROPERTIES=55 -COLUMN=56 -RULES=57 -TABLE=58 -COLUMNS=59 -IF=60 -EXISTS=61 -COUNT=62 -NOT=63 -MD5=64 -KEEP_FIRST_N_LAST_M=65 -KEEP_FROM_X_TO_Y=66 -MASK_FIRST_N_LAST_M=67 -MASK_FROM_X_TO_Y=68 -MASK_BEFORE_SPECIAL_CHARS=69 -MASK_AFTER_SPECIAL_CHARS=70 -PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE=71 -MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE=72 -LANDLINE_NUMBER_RANDOM_REPLACE=73 -TELEPHONE_RANDOM_REPLACE=74 -UNIFIED_CREDIT_CODE_RANDOM_REPLACE=75 -GENERIC_TABLE_RANDOM_REPLACE=76 -ADDRESS_RANDOM_REPLACE=77 -FOR_GENERATOR=78 -IDENTIFIER_=79 -STRING_=80 -INT_=81 -HEX_=82 -NUMBER_=83 -HEXDIGIT_=84 -BITNUM_=85 -'&&'=1 -'||'=2 -'!'=3 -'~'=4 -'|'=5 -'&'=6 -'<<'=7 -'>>'=8 -'^'=9 -'%'=10 -':'=11 -'+'=12 -'-'=13 -'*'=14 -'/'=15 -'\\'=16 -'.'=17 -'.*'=18 -'<=>'=19 -'=='=20 -'='=21 -'>'=23 -'>='=24 -'<'=25 -'<='=26 -'#'=27 -'('=28 -')'=29 -'{'=30 -'}'=31 -'['=32 -']'=33 -','=34 -'"'=35 -'\''=36 -'`'=37 -'?'=38 -'@'=39 -';'=40 -'->>'=41 -'_'=42 -'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=78 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementParser.java b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementParser.java deleted file mode 100644 index c21482ff..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RDLStatementParser.java +++ /dev/null @@ -1,1079 +0,0 @@ -// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/mask/RDLStatement.g4 by ANTLR 4.9.2 -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.misc.*; -import org.antlr.v4.runtime.tree.*; -import java.util.List; -import java.util.Iterator; -import java.util.ArrayList; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class RDLStatementParser extends Parser { - static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, - SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, - ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, - DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, - LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, - SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, - WS=43, TRUE=44, FALSE=45, CREATE=46, ALTER=47, DROP=48, SHOW=49, RULE=50, - FROM=51, MASK=52, TYPE=53, NAME=54, PROPERTIES=55, COLUMN=56, RULES=57, - TABLE=58, COLUMNS=59, IF=60, EXISTS=61, COUNT=62, NOT=63, MD5=64, KEEP_FIRST_N_LAST_M=65, - KEEP_FROM_X_TO_Y=66, MASK_FIRST_N_LAST_M=67, MASK_FROM_X_TO_Y=68, MASK_BEFORE_SPECIAL_CHARS=69, - MASK_AFTER_SPECIAL_CHARS=70, PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE=71, - MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE=72, LANDLINE_NUMBER_RANDOM_REPLACE=73, - TELEPHONE_RANDOM_REPLACE=74, UNIFIED_CREDIT_CODE_RANDOM_REPLACE=75, GENERIC_TABLE_RANDOM_REPLACE=76, - ADDRESS_RANDOM_REPLACE=77, FOR_GENERATOR=78, IDENTIFIER_=79, STRING_=80, - INT_=81, HEX_=82, NUMBER_=83, HEXDIGIT_=84, BITNUM_=85; - public static final int - RULE_createMaskRule = 0, RULE_alterMaskRule = 1, RULE_dropMaskRule = 2, - RULE_maskRuleDefinition = 3, RULE_columnDefinition = 4, RULE_columnName = 5, - RULE_ifExists = 6, RULE_ifNotExists = 7, RULE_literal = 8, RULE_algorithmDefinition = 9, - RULE_algorithmTypeName = 10, RULE_buildInMaskAlgorithmType = 11, RULE_propertiesDefinition = 12, - RULE_properties = 13, RULE_property = 14, RULE_ruleName = 15; - private static String[] makeRuleNames() { - return new String[] { - "createMaskRule", "alterMaskRule", "dropMaskRule", "maskRuleDefinition", - "columnDefinition", "columnName", "ifExists", "ifNotExists", "literal", - "algorithmDefinition", "algorithmTypeName", "buildInMaskAlgorithmType", - "propertiesDefinition", "properties", "property", "ruleName" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", - "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", - "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", - "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", - "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", - "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", - "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", - "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", - "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", - "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", - "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", "FROM", "MASK", "TYPE", - "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", "COLUMNS", "IF", "EXISTS", - "COUNT", "NOT", "MD5", "KEEP_FIRST_N_LAST_M", "KEEP_FROM_X_TO_Y", "MASK_FIRST_N_LAST_M", - "MASK_FROM_X_TO_Y", "MASK_BEFORE_SPECIAL_CHARS", "MASK_AFTER_SPECIAL_CHARS", - "PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE", "MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE", - "LANDLINE_NUMBER_RANDOM_REPLACE", "TELEPHONE_RANDOM_REPLACE", "UNIFIED_CREDIT_CODE_RANDOM_REPLACE", - "GENERIC_TABLE_RANDOM_REPLACE", "ADDRESS_RANDOM_REPLACE", "FOR_GENERATOR", - "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - @Override - public String getGrammarFileName() { return "RDLStatement.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public ATN getATN() { return _ATN; } - - public RDLStatementParser(TokenStream input) { - super(input); - _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - public static class CreateMaskRuleContext extends ParserRuleContext { - public TerminalNode CREATE() { return getToken(RDLStatementParser.CREATE, 0); } - public TerminalNode MASK() { return getToken(RDLStatementParser.MASK, 0); } - public TerminalNode RULE() { return getToken(RDLStatementParser.RULE, 0); } - public List maskRuleDefinition() { - return getRuleContexts(MaskRuleDefinitionContext.class); - } - public MaskRuleDefinitionContext maskRuleDefinition(int i) { - return getRuleContext(MaskRuleDefinitionContext.class,i); - } - public TerminalNode TABLE() { return getToken(RDLStatementParser.TABLE, 0); } - public IfNotExistsContext ifNotExists() { - return getRuleContext(IfNotExistsContext.class,0); - } - public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } - public TerminalNode COMMA_(int i) { - return getToken(RDLStatementParser.COMMA_, i); - } - public CreateMaskRuleContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_createMaskRule; } - } - - public final CreateMaskRuleContext createMaskRule() throws RecognitionException { - CreateMaskRuleContext _localctx = new CreateMaskRuleContext(_ctx, getState()); - enterRule(_localctx, 0, RULE_createMaskRule); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(32); - match(CREATE); - setState(33); - match(MASK); - setState(35); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==TABLE) { - { - setState(34); - match(TABLE); - } - } - - setState(37); - match(RULE); - setState(39); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==IF) { - { - setState(38); - ifNotExists(); - } - } - - setState(41); - maskRuleDefinition(); - setState(46); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA_) { - { - { - setState(42); - match(COMMA_); - setState(43); - maskRuleDefinition(); - } - } - setState(48); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AlterMaskRuleContext extends ParserRuleContext { - public TerminalNode ALTER() { return getToken(RDLStatementParser.ALTER, 0); } - public TerminalNode MASK() { return getToken(RDLStatementParser.MASK, 0); } - public TerminalNode RULE() { return getToken(RDLStatementParser.RULE, 0); } - public List maskRuleDefinition() { - return getRuleContexts(MaskRuleDefinitionContext.class); - } - public MaskRuleDefinitionContext maskRuleDefinition(int i) { - return getRuleContext(MaskRuleDefinitionContext.class,i); - } - public TerminalNode TABLE() { return getToken(RDLStatementParser.TABLE, 0); } - public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } - public TerminalNode COMMA_(int i) { - return getToken(RDLStatementParser.COMMA_, i); - } - public AlterMaskRuleContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_alterMaskRule; } - } - - public final AlterMaskRuleContext alterMaskRule() throws RecognitionException { - AlterMaskRuleContext _localctx = new AlterMaskRuleContext(_ctx, getState()); - enterRule(_localctx, 2, RULE_alterMaskRule); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(49); - match(ALTER); - setState(50); - match(MASK); - setState(52); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==TABLE) { - { - setState(51); - match(TABLE); - } - } - - setState(54); - match(RULE); - setState(55); - maskRuleDefinition(); - setState(60); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA_) { - { - { - setState(56); - match(COMMA_); - setState(57); - maskRuleDefinition(); - } - } - setState(62); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class DropMaskRuleContext extends ParserRuleContext { - public TerminalNode DROP() { return getToken(RDLStatementParser.DROP, 0); } - public TerminalNode MASK() { return getToken(RDLStatementParser.MASK, 0); } - public TerminalNode RULE() { return getToken(RDLStatementParser.RULE, 0); } - public List ruleName() { - return getRuleContexts(RuleNameContext.class); - } - public RuleNameContext ruleName(int i) { - return getRuleContext(RuleNameContext.class,i); - } - public TerminalNode TABLE() { return getToken(RDLStatementParser.TABLE, 0); } - public IfExistsContext ifExists() { - return getRuleContext(IfExistsContext.class,0); - } - public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } - public TerminalNode COMMA_(int i) { - return getToken(RDLStatementParser.COMMA_, i); - } - public DropMaskRuleContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_dropMaskRule; } - } - - public final DropMaskRuleContext dropMaskRule() throws RecognitionException { - DropMaskRuleContext _localctx = new DropMaskRuleContext(_ctx, getState()); - enterRule(_localctx, 4, RULE_dropMaskRule); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(63); - match(DROP); - setState(64); - match(MASK); - setState(66); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==TABLE) { - { - setState(65); - match(TABLE); - } - } - - setState(68); - match(RULE); - setState(70); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==IF) { - { - setState(69); - ifExists(); - } - } - - setState(72); - ruleName(); - setState(77); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA_) { - { - { - setState(73); - match(COMMA_); - setState(74); - ruleName(); - } - } - setState(79); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class MaskRuleDefinitionContext extends ParserRuleContext { - public RuleNameContext ruleName() { - return getRuleContext(RuleNameContext.class,0); - } - public List LP_() { return getTokens(RDLStatementParser.LP_); } - public TerminalNode LP_(int i) { - return getToken(RDLStatementParser.LP_, i); - } - public TerminalNode COLUMNS() { return getToken(RDLStatementParser.COLUMNS, 0); } - public List columnDefinition() { - return getRuleContexts(ColumnDefinitionContext.class); - } - public ColumnDefinitionContext columnDefinition(int i) { - return getRuleContext(ColumnDefinitionContext.class,i); - } - public List RP_() { return getTokens(RDLStatementParser.RP_); } - public TerminalNode RP_(int i) { - return getToken(RDLStatementParser.RP_, i); - } - public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } - public TerminalNode COMMA_(int i) { - return getToken(RDLStatementParser.COMMA_, i); - } - public MaskRuleDefinitionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_maskRuleDefinition; } - } - - public final MaskRuleDefinitionContext maskRuleDefinition() throws RecognitionException { - MaskRuleDefinitionContext _localctx = new MaskRuleDefinitionContext(_ctx, getState()); - enterRule(_localctx, 6, RULE_maskRuleDefinition); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(80); - ruleName(); - setState(81); - match(LP_); - setState(82); - match(COLUMNS); - setState(83); - match(LP_); - setState(84); - columnDefinition(); - setState(89); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA_) { - { - { - setState(85); - match(COMMA_); - setState(86); - columnDefinition(); - } - } - setState(91); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(92); - match(RP_); - setState(93); - match(RP_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ColumnDefinitionContext extends ParserRuleContext { - public TerminalNode LP_() { return getToken(RDLStatementParser.LP_, 0); } - public TerminalNode NAME() { return getToken(RDLStatementParser.NAME, 0); } - public TerminalNode EQ_() { return getToken(RDLStatementParser.EQ_, 0); } - public ColumnNameContext columnName() { - return getRuleContext(ColumnNameContext.class,0); - } - public TerminalNode COMMA_() { return getToken(RDLStatementParser.COMMA_, 0); } - public AlgorithmDefinitionContext algorithmDefinition() { - return getRuleContext(AlgorithmDefinitionContext.class,0); - } - public TerminalNode RP_() { return getToken(RDLStatementParser.RP_, 0); } - public ColumnDefinitionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_columnDefinition; } - } - - public final ColumnDefinitionContext columnDefinition() throws RecognitionException { - ColumnDefinitionContext _localctx = new ColumnDefinitionContext(_ctx, getState()); - enterRule(_localctx, 8, RULE_columnDefinition); - try { - enterOuterAlt(_localctx, 1); - { - setState(95); - match(LP_); - setState(96); - match(NAME); - setState(97); - match(EQ_); - setState(98); - columnName(); - setState(99); - match(COMMA_); - setState(100); - algorithmDefinition(); - setState(101); - match(RP_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ColumnNameContext extends ParserRuleContext { - public TerminalNode IDENTIFIER_() { return getToken(RDLStatementParser.IDENTIFIER_, 0); } - public ColumnNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_columnName; } - } - - public final ColumnNameContext columnName() throws RecognitionException { - ColumnNameContext _localctx = new ColumnNameContext(_ctx, getState()); - enterRule(_localctx, 10, RULE_columnName); - try { - enterOuterAlt(_localctx, 1); - { - setState(103); - match(IDENTIFIER_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class IfExistsContext extends ParserRuleContext { - public TerminalNode IF() { return getToken(RDLStatementParser.IF, 0); } - public TerminalNode EXISTS() { return getToken(RDLStatementParser.EXISTS, 0); } - public IfExistsContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_ifExists; } - } - - public final IfExistsContext ifExists() throws RecognitionException { - IfExistsContext _localctx = new IfExistsContext(_ctx, getState()); - enterRule(_localctx, 12, RULE_ifExists); - try { - enterOuterAlt(_localctx, 1); - { - setState(105); - match(IF); - setState(106); - match(EXISTS); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class IfNotExistsContext extends ParserRuleContext { - public TerminalNode IF() { return getToken(RDLStatementParser.IF, 0); } - public TerminalNode NOT() { return getToken(RDLStatementParser.NOT, 0); } - public TerminalNode EXISTS() { return getToken(RDLStatementParser.EXISTS, 0); } - public IfNotExistsContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_ifNotExists; } - } - - public final IfNotExistsContext ifNotExists() throws RecognitionException { - IfNotExistsContext _localctx = new IfNotExistsContext(_ctx, getState()); - enterRule(_localctx, 14, RULE_ifNotExists); - try { - enterOuterAlt(_localctx, 1); - { - setState(108); - match(IF); - setState(109); - match(NOT); - setState(110); - match(EXISTS); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class LiteralContext extends ParserRuleContext { - public TerminalNode STRING_() { return getToken(RDLStatementParser.STRING_, 0); } - public TerminalNode INT_() { return getToken(RDLStatementParser.INT_, 0); } - public TerminalNode MINUS_() { return getToken(RDLStatementParser.MINUS_, 0); } - public TerminalNode TRUE() { return getToken(RDLStatementParser.TRUE, 0); } - public TerminalNode FALSE() { return getToken(RDLStatementParser.FALSE, 0); } - public LiteralContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_literal; } - } - - public final LiteralContext literal() throws RecognitionException { - LiteralContext _localctx = new LiteralContext(_ctx, getState()); - enterRule(_localctx, 16, RULE_literal); - int _la; - try { - setState(119); - _errHandler.sync(this); - switch (_input.LA(1)) { - case STRING_: - enterOuterAlt(_localctx, 1); - { - setState(112); - match(STRING_); - } - break; - case MINUS_: - case INT_: - enterOuterAlt(_localctx, 2); - { - setState(114); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==MINUS_) { - { - setState(113); - match(MINUS_); - } - } - - setState(116); - match(INT_); - } - break; - case TRUE: - enterOuterAlt(_localctx, 3); - { - setState(117); - match(TRUE); - } - break; - case FALSE: - enterOuterAlt(_localctx, 4); - { - setState(118); - match(FALSE); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AlgorithmDefinitionContext extends ParserRuleContext { - public TerminalNode TYPE() { return getToken(RDLStatementParser.TYPE, 0); } - public TerminalNode LP_() { return getToken(RDLStatementParser.LP_, 0); } - public TerminalNode NAME() { return getToken(RDLStatementParser.NAME, 0); } - public TerminalNode EQ_() { return getToken(RDLStatementParser.EQ_, 0); } - public AlgorithmTypeNameContext algorithmTypeName() { - return getRuleContext(AlgorithmTypeNameContext.class,0); - } - public TerminalNode RP_() { return getToken(RDLStatementParser.RP_, 0); } - public TerminalNode COMMA_() { return getToken(RDLStatementParser.COMMA_, 0); } - public PropertiesDefinitionContext propertiesDefinition() { - return getRuleContext(PropertiesDefinitionContext.class,0); - } - public AlgorithmDefinitionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_algorithmDefinition; } - } - - public final AlgorithmDefinitionContext algorithmDefinition() throws RecognitionException { - AlgorithmDefinitionContext _localctx = new AlgorithmDefinitionContext(_ctx, getState()); - enterRule(_localctx, 18, RULE_algorithmDefinition); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(121); - match(TYPE); - setState(122); - match(LP_); - setState(123); - match(NAME); - setState(124); - match(EQ_); - setState(125); - algorithmTypeName(); - setState(128); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==COMMA_) { - { - setState(126); - match(COMMA_); - setState(127); - propertiesDefinition(); - } - } - - setState(130); - match(RP_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AlgorithmTypeNameContext extends ParserRuleContext { - public TerminalNode STRING_() { return getToken(RDLStatementParser.STRING_, 0); } - public BuildInMaskAlgorithmTypeContext buildInMaskAlgorithmType() { - return getRuleContext(BuildInMaskAlgorithmTypeContext.class,0); - } - public AlgorithmTypeNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_algorithmTypeName; } - } - - public final AlgorithmTypeNameContext algorithmTypeName() throws RecognitionException { - AlgorithmTypeNameContext _localctx = new AlgorithmTypeNameContext(_ctx, getState()); - enterRule(_localctx, 20, RULE_algorithmTypeName); - try { - setState(134); - _errHandler.sync(this); - switch (_input.LA(1)) { - case STRING_: - enterOuterAlt(_localctx, 1); - { - setState(132); - match(STRING_); - } - break; - case MD5: - case KEEP_FIRST_N_LAST_M: - case KEEP_FROM_X_TO_Y: - case MASK_FIRST_N_LAST_M: - case MASK_FROM_X_TO_Y: - case MASK_BEFORE_SPECIAL_CHARS: - case MASK_AFTER_SPECIAL_CHARS: - case PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE: - case MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE: - case LANDLINE_NUMBER_RANDOM_REPLACE: - case TELEPHONE_RANDOM_REPLACE: - case UNIFIED_CREDIT_CODE_RANDOM_REPLACE: - case GENERIC_TABLE_RANDOM_REPLACE: - enterOuterAlt(_localctx, 2); - { - setState(133); - buildInMaskAlgorithmType(); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class BuildInMaskAlgorithmTypeContext extends ParserRuleContext { - public TerminalNode MD5() { return getToken(RDLStatementParser.MD5, 0); } - public TerminalNode KEEP_FIRST_N_LAST_M() { return getToken(RDLStatementParser.KEEP_FIRST_N_LAST_M, 0); } - public TerminalNode KEEP_FROM_X_TO_Y() { return getToken(RDLStatementParser.KEEP_FROM_X_TO_Y, 0); } - public TerminalNode MASK_FIRST_N_LAST_M() { return getToken(RDLStatementParser.MASK_FIRST_N_LAST_M, 0); } - public TerminalNode MASK_FROM_X_TO_Y() { return getToken(RDLStatementParser.MASK_FROM_X_TO_Y, 0); } - public TerminalNode MASK_BEFORE_SPECIAL_CHARS() { return getToken(RDLStatementParser.MASK_BEFORE_SPECIAL_CHARS, 0); } - public TerminalNode MASK_AFTER_SPECIAL_CHARS() { return getToken(RDLStatementParser.MASK_AFTER_SPECIAL_CHARS, 0); } - public TerminalNode PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE() { return getToken(RDLStatementParser.PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE, 0); } - public TerminalNode MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE() { return getToken(RDLStatementParser.MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE, 0); } - public TerminalNode LANDLINE_NUMBER_RANDOM_REPLACE() { return getToken(RDLStatementParser.LANDLINE_NUMBER_RANDOM_REPLACE, 0); } - public TerminalNode TELEPHONE_RANDOM_REPLACE() { return getToken(RDLStatementParser.TELEPHONE_RANDOM_REPLACE, 0); } - public TerminalNode UNIFIED_CREDIT_CODE_RANDOM_REPLACE() { return getToken(RDLStatementParser.UNIFIED_CREDIT_CODE_RANDOM_REPLACE, 0); } - public TerminalNode GENERIC_TABLE_RANDOM_REPLACE() { return getToken(RDLStatementParser.GENERIC_TABLE_RANDOM_REPLACE, 0); } - public BuildInMaskAlgorithmTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_buildInMaskAlgorithmType; } - } - - public final BuildInMaskAlgorithmTypeContext buildInMaskAlgorithmType() throws RecognitionException { - BuildInMaskAlgorithmTypeContext _localctx = new BuildInMaskAlgorithmTypeContext(_ctx, getState()); - enterRule(_localctx, 22, RULE_buildInMaskAlgorithmType); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(136); - _la = _input.LA(1); - if ( !(((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (MD5 - 64)) | (1L << (KEEP_FIRST_N_LAST_M - 64)) | (1L << (KEEP_FROM_X_TO_Y - 64)) | (1L << (MASK_FIRST_N_LAST_M - 64)) | (1L << (MASK_FROM_X_TO_Y - 64)) | (1L << (MASK_BEFORE_SPECIAL_CHARS - 64)) | (1L << (MASK_AFTER_SPECIAL_CHARS - 64)) | (1L << (PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE - 64)) | (1L << (MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE - 64)) | (1L << (LANDLINE_NUMBER_RANDOM_REPLACE - 64)) | (1L << (TELEPHONE_RANDOM_REPLACE - 64)) | (1L << (UNIFIED_CREDIT_CODE_RANDOM_REPLACE - 64)) | (1L << (GENERIC_TABLE_RANDOM_REPLACE - 64)))) != 0)) ) { - _errHandler.recoverInline(this); - } - else { - if ( _input.LA(1)==Token.EOF ) matchedEOF = true; - _errHandler.reportMatch(this); - consume(); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PropertiesDefinitionContext extends ParserRuleContext { - public TerminalNode PROPERTIES() { return getToken(RDLStatementParser.PROPERTIES, 0); } - public TerminalNode LP_() { return getToken(RDLStatementParser.LP_, 0); } - public TerminalNode RP_() { return getToken(RDLStatementParser.RP_, 0); } - public PropertiesContext properties() { - return getRuleContext(PropertiesContext.class,0); - } - public PropertiesDefinitionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_propertiesDefinition; } - } - - public final PropertiesDefinitionContext propertiesDefinition() throws RecognitionException { - PropertiesDefinitionContext _localctx = new PropertiesDefinitionContext(_ctx, getState()); - enterRule(_localctx, 24, RULE_propertiesDefinition); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(138); - match(PROPERTIES); - setState(139); - match(LP_); - setState(141); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==STRING_) { - { - setState(140); - properties(); - } - } - - setState(143); - match(RP_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PropertiesContext extends ParserRuleContext { - public List property() { - return getRuleContexts(PropertyContext.class); - } - public PropertyContext property(int i) { - return getRuleContext(PropertyContext.class,i); - } - public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } - public TerminalNode COMMA_(int i) { - return getToken(RDLStatementParser.COMMA_, i); - } - public PropertiesContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_properties; } - } - - public final PropertiesContext properties() throws RecognitionException { - PropertiesContext _localctx = new PropertiesContext(_ctx, getState()); - enterRule(_localctx, 26, RULE_properties); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(145); - property(); - setState(150); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA_) { - { - { - setState(146); - match(COMMA_); - setState(147); - property(); - } - } - setState(152); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PropertyContext extends ParserRuleContext { - public Token key; - public LiteralContext value; - public TerminalNode EQ_() { return getToken(RDLStatementParser.EQ_, 0); } - public TerminalNode STRING_() { return getToken(RDLStatementParser.STRING_, 0); } - public LiteralContext literal() { - return getRuleContext(LiteralContext.class,0); - } - public PropertyContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_property; } - } - - public final PropertyContext property() throws RecognitionException { - PropertyContext _localctx = new PropertyContext(_ctx, getState()); - enterRule(_localctx, 28, RULE_property); - try { - enterOuterAlt(_localctx, 1); - { - setState(153); - ((PropertyContext)_localctx).key = match(STRING_); - setState(154); - match(EQ_); - setState(155); - ((PropertyContext)_localctx).value = literal(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class RuleNameContext extends ParserRuleContext { - public TerminalNode IDENTIFIER_() { return getToken(RDLStatementParser.IDENTIFIER_, 0); } - public RuleNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_ruleName; } - } - - public final RuleNameContext ruleName() throws RecognitionException { - RuleNameContext _localctx = new RuleNameContext(_ctx, getState()); - enterRule(_localctx, 30, RULE_ruleName); - try { - enterOuterAlt(_localctx, 1); - { - setState(157); - match(IDENTIFIER_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3W\u00a2\4\2\t\2\4"+ - "\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t"+ - "\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\3\2\3\2\3"+ - "\2\5\2&\n\2\3\2\3\2\5\2*\n\2\3\2\3\2\3\2\7\2/\n\2\f\2\16\2\62\13\2\3\3"+ - "\3\3\3\3\5\3\67\n\3\3\3\3\3\3\3\3\3\7\3=\n\3\f\3\16\3@\13\3\3\4\3\4\3"+ - "\4\5\4E\n\4\3\4\3\4\5\4I\n\4\3\4\3\4\3\4\7\4N\n\4\f\4\16\4Q\13\4\3\5\3"+ - "\5\3\5\3\5\3\5\3\5\3\5\7\5Z\n\5\f\5\16\5]\13\5\3\5\3\5\3\5\3\6\3\6\3\6"+ - "\3\6\3\6\3\6\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\t\3\t\3\t\3\t\3\n\3\n\5\nu"+ - "\n\n\3\n\3\n\3\n\5\nz\n\n\3\13\3\13\3\13\3\13\3\13\3\13\3\13\5\13\u0083"+ - "\n\13\3\13\3\13\3\f\3\f\5\f\u0089\n\f\3\r\3\r\3\16\3\16\3\16\5\16\u0090"+ - "\n\16\3\16\3\16\3\17\3\17\3\17\7\17\u0097\n\17\f\17\16\17\u009a\13\17"+ - "\3\20\3\20\3\20\3\20\3\21\3\21\3\21\2\2\22\2\4\6\b\n\f\16\20\22\24\26"+ - "\30\32\34\36 \2\3\3\2BN\2\u00a2\2\"\3\2\2\2\4\63\3\2\2\2\6A\3\2\2\2\b"+ - "R\3\2\2\2\na\3\2\2\2\fi\3\2\2\2\16k\3\2\2\2\20n\3\2\2\2\22y\3\2\2\2\24"+ - "{\3\2\2\2\26\u0088\3\2\2\2\30\u008a\3\2\2\2\32\u008c\3\2\2\2\34\u0093"+ - "\3\2\2\2\36\u009b\3\2\2\2 \u009f\3\2\2\2\"#\7\60\2\2#%\7\66\2\2$&\7<\2"+ - "\2%$\3\2\2\2%&\3\2\2\2&\'\3\2\2\2\')\7\64\2\2(*\5\20\t\2)(\3\2\2\2)*\3"+ - "\2\2\2*+\3\2\2\2+\60\5\b\5\2,-\7$\2\2-/\5\b\5\2.,\3\2\2\2/\62\3\2\2\2"+ - "\60.\3\2\2\2\60\61\3\2\2\2\61\3\3\2\2\2\62\60\3\2\2\2\63\64\7\61\2\2\64"+ - "\66\7\66\2\2\65\67\7<\2\2\66\65\3\2\2\2\66\67\3\2\2\2\678\3\2\2\289\7"+ - "\64\2\29>\5\b\5\2:;\7$\2\2;=\5\b\5\2<:\3\2\2\2=@\3\2\2\2><\3\2\2\2>?\3"+ - "\2\2\2?\5\3\2\2\2@>\3\2\2\2AB\7\62\2\2BD\7\66\2\2CE\7<\2\2DC\3\2\2\2D"+ - "E\3\2\2\2EF\3\2\2\2FH\7\64\2\2GI\5\16\b\2HG\3\2\2\2HI\3\2\2\2IJ\3\2\2"+ - "\2JO\5 \21\2KL\7$\2\2LN\5 \21\2MK\3\2\2\2NQ\3\2\2\2OM\3\2\2\2OP\3\2\2"+ - "\2P\7\3\2\2\2QO\3\2\2\2RS\5 \21\2ST\7\36\2\2TU\7=\2\2UV\7\36\2\2V[\5\n"+ - "\6\2WX\7$\2\2XZ\5\n\6\2YW\3\2\2\2Z]\3\2\2\2[Y\3\2\2\2[\\\3\2\2\2\\^\3"+ - "\2\2\2][\3\2\2\2^_\7\37\2\2_`\7\37\2\2`\t\3\2\2\2ab\7\36\2\2bc\78\2\2"+ - "cd\7\27\2\2de\5\f\7\2ef\7$\2\2fg\5\24\13\2gh\7\37\2\2h\13\3\2\2\2ij\7"+ - "Q\2\2j\r\3\2\2\2kl\7>\2\2lm\7?\2\2m\17\3\2\2\2no\7>\2\2op\7A\2\2pq\7?"+ - "\2\2q\21\3\2\2\2rz\7R\2\2su\7\17\2\2ts\3\2\2\2tu\3\2\2\2uv\3\2\2\2vz\7"+ - "S\2\2wz\7.\2\2xz\7/\2\2yr\3\2\2\2yt\3\2\2\2yw\3\2\2\2yx\3\2\2\2z\23\3"+ - "\2\2\2{|\7\67\2\2|}\7\36\2\2}~\78\2\2~\177\7\27\2\2\177\u0082\5\26\f\2"+ - "\u0080\u0081\7$\2\2\u0081\u0083\5\32\16\2\u0082\u0080\3\2\2\2\u0082\u0083"+ - "\3\2\2\2\u0083\u0084\3\2\2\2\u0084\u0085\7\37\2\2\u0085\25\3\2\2\2\u0086"+ - "\u0089\7R\2\2\u0087\u0089\5\30\r\2\u0088\u0086\3\2\2\2\u0088\u0087\3\2"+ - "\2\2\u0089\27\3\2\2\2\u008a\u008b\t\2\2\2\u008b\31\3\2\2\2\u008c\u008d"+ - "\79\2\2\u008d\u008f\7\36\2\2\u008e\u0090\5\34\17\2\u008f\u008e\3\2\2\2"+ - "\u008f\u0090\3\2\2\2\u0090\u0091\3\2\2\2\u0091\u0092\7\37\2\2\u0092\33"+ - "\3\2\2\2\u0093\u0098\5\36\20\2\u0094\u0095\7$\2\2\u0095\u0097\5\36\20"+ - "\2\u0096\u0094\3\2\2\2\u0097\u009a\3\2\2\2\u0098\u0096\3\2\2\2\u0098\u0099"+ - "\3\2\2\2\u0099\35\3\2\2\2\u009a\u0098\3\2\2\2\u009b\u009c\7R\2\2\u009c"+ - "\u009d\7\27\2\2\u009d\u009e\5\22\n\2\u009e\37\3\2\2\2\u009f\u00a0\7Q\2"+ - "\2\u00a0!\3\2\2\2\21%)\60\66>DHO[ty\u0082\u0088\u008f\u0098"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatement.interp b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatement.interp deleted file mode 100644 index 07d225b8..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatement.interp +++ /dev/null @@ -1,192 +0,0 @@ -token literal names: -null -'&&' -'||' -'!' -'~' -'|' -'&' -'<<' -'>>' -'^' -'%' -':' -'+' -'-' -'*' -'/' -'\\' -'.' -'.*' -'<=>' -'==' -'=' -null -'>' -'>=' -'<' -'<=' -'#' -'(' -')' -'{' -'}' -'[' -']' -',' -'"' -'\'' -'`' -'?' -'@' -';' -'->>' -'_' -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -'DO NOT MATCH ANY THING, JUST FOR GENERATOR' -null -null -null -null -null -null -null - -token symbolic names: -null -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ -WS -TRUE -FALSE -CREATE -ALTER -DROP -SHOW -RULE -FROM -MASK -TYPE -NAME -PROPERTIES -COLUMN -RULES -TABLE -COLUMNS -IF -EXISTS -COUNT -NOT -MD5 -KEEP_FIRST_N_LAST_M -KEEP_FROM_X_TO_Y -MASK_FIRST_N_LAST_M -MASK_FROM_X_TO_Y -MASK_BEFORE_SPECIAL_CHARS -MASK_AFTER_SPECIAL_CHARS -PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE -MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE -LANDLINE_NUMBER_RANDOM_REPLACE -TELEPHONE_RANDOM_REPLACE -UNIFIED_CREDIT_CODE_RANDOM_REPLACE -GENERIC_TABLE_RANDOM_REPLACE -ADDRESS_RANDOM_REPLACE -FOR_GENERATOR -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ - -rule names: -showMaskRules -countMaskRule -databaseName -literal -algorithmDefinition -algorithmTypeName -buildInMaskAlgorithmType -propertiesDefinition -properties -property -ruleName - - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 87, 95, 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, 3, 2, 3, 2, 3, 2, 5, 2, 28, 10, 2, 3, 2, 3, 2, 3, 2, 5, 2, 33, 10, 2, 3, 2, 3, 2, 5, 2, 37, 10, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 44, 10, 3, 3, 4, 3, 4, 3, 5, 3, 5, 5, 5, 50, 10, 5, 3, 5, 3, 5, 3, 5, 5, 5, 55, 10, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 5, 6, 64, 10, 6, 3, 6, 3, 6, 3, 7, 3, 7, 5, 7, 70, 10, 7, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 5, 9, 77, 10, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 10, 7, 10, 84, 10, 10, 12, 10, 14, 10, 87, 11, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 2, 2, 13, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 2, 3, 3, 2, 66, 78, 2, 95, 2, 24, 3, 2, 2, 2, 4, 38, 3, 2, 2, 2, 6, 45, 3, 2, 2, 2, 8, 54, 3, 2, 2, 2, 10, 56, 3, 2, 2, 2, 12, 69, 3, 2, 2, 2, 14, 71, 3, 2, 2, 2, 16, 73, 3, 2, 2, 2, 18, 80, 3, 2, 2, 2, 20, 88, 3, 2, 2, 2, 22, 92, 3, 2, 2, 2, 24, 25, 7, 51, 2, 2, 25, 27, 7, 54, 2, 2, 26, 28, 7, 60, 2, 2, 27, 26, 3, 2, 2, 2, 27, 28, 3, 2, 2, 2, 28, 32, 3, 2, 2, 2, 29, 30, 7, 52, 2, 2, 30, 33, 5, 22, 12, 2, 31, 33, 7, 59, 2, 2, 32, 29, 3, 2, 2, 2, 32, 31, 3, 2, 2, 2, 33, 36, 3, 2, 2, 2, 34, 35, 7, 53, 2, 2, 35, 37, 5, 6, 4, 2, 36, 34, 3, 2, 2, 2, 36, 37, 3, 2, 2, 2, 37, 3, 3, 2, 2, 2, 38, 39, 7, 64, 2, 2, 39, 40, 7, 54, 2, 2, 40, 43, 7, 52, 2, 2, 41, 42, 7, 53, 2, 2, 42, 44, 5, 6, 4, 2, 43, 41, 3, 2, 2, 2, 43, 44, 3, 2, 2, 2, 44, 5, 3, 2, 2, 2, 45, 46, 7, 81, 2, 2, 46, 7, 3, 2, 2, 2, 47, 55, 7, 82, 2, 2, 48, 50, 7, 15, 2, 2, 49, 48, 3, 2, 2, 2, 49, 50, 3, 2, 2, 2, 50, 51, 3, 2, 2, 2, 51, 55, 7, 83, 2, 2, 52, 55, 7, 46, 2, 2, 53, 55, 7, 47, 2, 2, 54, 47, 3, 2, 2, 2, 54, 49, 3, 2, 2, 2, 54, 52, 3, 2, 2, 2, 54, 53, 3, 2, 2, 2, 55, 9, 3, 2, 2, 2, 56, 57, 7, 55, 2, 2, 57, 58, 7, 30, 2, 2, 58, 59, 7, 56, 2, 2, 59, 60, 7, 23, 2, 2, 60, 63, 5, 12, 7, 2, 61, 62, 7, 36, 2, 2, 62, 64, 5, 16, 9, 2, 63, 61, 3, 2, 2, 2, 63, 64, 3, 2, 2, 2, 64, 65, 3, 2, 2, 2, 65, 66, 7, 31, 2, 2, 66, 11, 3, 2, 2, 2, 67, 70, 7, 82, 2, 2, 68, 70, 5, 14, 8, 2, 69, 67, 3, 2, 2, 2, 69, 68, 3, 2, 2, 2, 70, 13, 3, 2, 2, 2, 71, 72, 9, 2, 2, 2, 72, 15, 3, 2, 2, 2, 73, 74, 7, 57, 2, 2, 74, 76, 7, 30, 2, 2, 75, 77, 5, 18, 10, 2, 76, 75, 3, 2, 2, 2, 76, 77, 3, 2, 2, 2, 77, 78, 3, 2, 2, 2, 78, 79, 7, 31, 2, 2, 79, 17, 3, 2, 2, 2, 80, 85, 5, 20, 11, 2, 81, 82, 7, 36, 2, 2, 82, 84, 5, 20, 11, 2, 83, 81, 3, 2, 2, 2, 84, 87, 3, 2, 2, 2, 85, 83, 3, 2, 2, 2, 85, 86, 3, 2, 2, 2, 86, 19, 3, 2, 2, 2, 87, 85, 3, 2, 2, 2, 88, 89, 7, 82, 2, 2, 89, 90, 7, 23, 2, 2, 90, 91, 5, 8, 5, 2, 91, 21, 3, 2, 2, 2, 92, 93, 7, 81, 2, 2, 93, 23, 3, 2, 2, 2, 12, 27, 32, 36, 43, 49, 54, 63, 69, 76, 85] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatement.tokens b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatement.tokens deleted file mode 100644 index 8f82b7ee..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatement.tokens +++ /dev/null @@ -1,127 +0,0 @@ -AND_=1 -OR_=2 -NOT_=3 -TILDE_=4 -VERTICALBAR_=5 -AMPERSAND_=6 -SIGNEDLEFTSHIFT_=7 -SIGNEDRIGHTSHIFT_=8 -CARET_=9 -MOD_=10 -COLON_=11 -PLUS_=12 -MINUS_=13 -ASTERISK_=14 -SLASH_=15 -BACKSLASH_=16 -DOT_=17 -DOTASTERISK_=18 -SAFEEQ_=19 -DEQ_=20 -EQ_=21 -NEQ_=22 -GT_=23 -GTE_=24 -LT_=25 -LTE_=26 -POUND_=27 -LP_=28 -RP_=29 -LBE_=30 -RBE_=31 -LBT_=32 -RBT_=33 -COMMA_=34 -DQ_=35 -SQ_=36 -BQ_=37 -QUESTION_=38 -AT_=39 -SEMI_=40 -JSONSEPARATOR_=41 -UL_=42 -WS=43 -TRUE=44 -FALSE=45 -CREATE=46 -ALTER=47 -DROP=48 -SHOW=49 -RULE=50 -FROM=51 -MASK=52 -TYPE=53 -NAME=54 -PROPERTIES=55 -COLUMN=56 -RULES=57 -TABLE=58 -COLUMNS=59 -IF=60 -EXISTS=61 -COUNT=62 -NOT=63 -MD5=64 -KEEP_FIRST_N_LAST_M=65 -KEEP_FROM_X_TO_Y=66 -MASK_FIRST_N_LAST_M=67 -MASK_FROM_X_TO_Y=68 -MASK_BEFORE_SPECIAL_CHARS=69 -MASK_AFTER_SPECIAL_CHARS=70 -PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE=71 -MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE=72 -LANDLINE_NUMBER_RANDOM_REPLACE=73 -TELEPHONE_RANDOM_REPLACE=74 -UNIFIED_CREDIT_CODE_RANDOM_REPLACE=75 -GENERIC_TABLE_RANDOM_REPLACE=76 -ADDRESS_RANDOM_REPLACE=77 -FOR_GENERATOR=78 -IDENTIFIER_=79 -STRING_=80 -INT_=81 -HEX_=82 -NUMBER_=83 -HEXDIGIT_=84 -BITNUM_=85 -'&&'=1 -'||'=2 -'!'=3 -'~'=4 -'|'=5 -'&'=6 -'<<'=7 -'>>'=8 -'^'=9 -'%'=10 -':'=11 -'+'=12 -'-'=13 -'*'=14 -'/'=15 -'\\'=16 -'.'=17 -'.*'=18 -'<=>'=19 -'=='=20 -'='=21 -'>'=23 -'>='=24 -'<'=25 -'<='=26 -'#'=27 -'('=28 -')'=29 -'{'=30 -'}'=31 -'['=32 -']'=33 -','=34 -'"'=35 -'\''=36 -'`'=37 -'?'=38 -'@'=39 -';'=40 -'->>'=41 -'_'=42 -'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=78 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementLexer.interp b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementLexer.interp deleted file mode 100644 index 925a75d6..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementLexer.interp +++ /dev/null @@ -1,298 +0,0 @@ -token literal names: -null -'&&' -'||' -'!' -'~' -'|' -'&' -'<<' -'>>' -'^' -'%' -':' -'+' -'-' -'*' -'/' -'\\' -'.' -'.*' -'<=>' -'==' -'=' -null -'>' -'>=' -'<' -'<=' -'#' -'(' -')' -'{' -'}' -'[' -']' -',' -'"' -'\'' -'`' -'?' -'@' -';' -'->>' -'_' -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -'DO NOT MATCH ANY THING, JUST FOR GENERATOR' -null -null -null -null -null -null -null - -token symbolic names: -null -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ -WS -TRUE -FALSE -CREATE -ALTER -DROP -SHOW -RULE -FROM -MASK -TYPE -NAME -PROPERTIES -COLUMN -RULES -TABLE -COLUMNS -IF -EXISTS -COUNT -NOT -MD5 -KEEP_FIRST_N_LAST_M -KEEP_FROM_X_TO_Y -MASK_FIRST_N_LAST_M -MASK_FROM_X_TO_Y -MASK_BEFORE_SPECIAL_CHARS -MASK_AFTER_SPECIAL_CHARS -PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE -MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE -LANDLINE_NUMBER_RANDOM_REPLACE -TELEPHONE_RANDOM_REPLACE -UNIFIED_CREDIT_CODE_RANDOM_REPLACE -GENERIC_TABLE_RANDOM_REPLACE -ADDRESS_RANDOM_REPLACE -FOR_GENERATOR -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ - -rule names: -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ -WS -TRUE -FALSE -CREATE -ALTER -DROP -SHOW -RULE -FROM -MASK -TYPE -NAME -PROPERTIES -COLUMN -RULES -TABLE -COLUMNS -IF -EXISTS -COUNT -NOT -MD5 -KEEP_FIRST_N_LAST_M -KEEP_FROM_X_TO_Y -MASK_FIRST_N_LAST_M -MASK_FROM_X_TO_Y -MASK_BEFORE_SPECIAL_CHARS -MASK_AFTER_SPECIAL_CHARS -PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE -MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE -LANDLINE_NUMBER_RANDOM_REPLACE -TELEPHONE_RANDOM_REPLACE -UNIFIED_CREDIT_CODE_RANDOM_REPLACE -GENERIC_TABLE_RANDOM_REPLACE -ADDRESS_RANDOM_REPLACE -FOR_GENERATOR -A -B -C -D -E -F -G -H -I -J -K -L -M -N -O -P -Q -R -S -T -U -V -W -X -Y -Z -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ - -channel names: -DEFAULT_TOKEN_CHANNEL -HIDDEN - -mode names: -DEFAULT_MODE - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 87, 1012, 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, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 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, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 280, 10, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 44, 6, 44, 327, 10, 44, 13, 44, 14, 44, 328, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 64, 3, 65, 3, 65, 3, 65, 3, 65, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 80, 3, 80, 3, 81, 3, 81, 3, 82, 3, 82, 3, 83, 3, 83, 3, 84, 3, 84, 3, 85, 3, 85, 3, 86, 3, 86, 3, 87, 3, 87, 3, 88, 3, 88, 3, 89, 3, 89, 3, 90, 3, 90, 3, 91, 3, 91, 3, 92, 3, 92, 3, 93, 3, 93, 3, 94, 3, 94, 3, 95, 3, 95, 3, 96, 3, 96, 3, 97, 3, 97, 3, 98, 3, 98, 3, 99, 3, 99, 3, 100, 3, 100, 3, 101, 3, 101, 3, 102, 3, 102, 3, 103, 3, 103, 3, 104, 3, 104, 3, 105, 3, 105, 3, 106, 7, 106, 898, 10, 106, 12, 106, 14, 106, 901, 11, 106, 3, 106, 6, 106, 904, 10, 106, 13, 106, 14, 106, 905, 3, 106, 7, 106, 909, 10, 106, 12, 106, 14, 106, 912, 11, 106, 3, 106, 3, 106, 6, 106, 916, 10, 106, 13, 106, 14, 106, 917, 3, 106, 3, 106, 5, 106, 922, 10, 106, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 7, 107, 930, 10, 107, 12, 107, 14, 107, 933, 11, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 7, 107, 943, 10, 107, 12, 107, 14, 107, 946, 11, 107, 3, 107, 3, 107, 5, 107, 950, 10, 107, 3, 108, 6, 108, 953, 10, 108, 13, 108, 14, 108, 954, 3, 109, 3, 109, 3, 110, 5, 110, 960, 10, 110, 3, 110, 5, 110, 963, 10, 110, 3, 110, 3, 110, 3, 110, 3, 110, 5, 110, 969, 10, 110, 3, 110, 3, 110, 5, 110, 973, 10, 110, 3, 111, 3, 111, 3, 111, 3, 111, 6, 111, 979, 10, 111, 13, 111, 14, 111, 980, 3, 111, 3, 111, 3, 111, 6, 111, 986, 10, 111, 13, 111, 14, 111, 987, 3, 111, 3, 111, 5, 111, 992, 10, 111, 3, 112, 3, 112, 3, 112, 3, 112, 6, 112, 998, 10, 112, 13, 112, 14, 112, 999, 3, 112, 3, 112, 3, 112, 6, 112, 1005, 10, 112, 13, 112, 14, 112, 1006, 3, 112, 3, 112, 5, 112, 1011, 10, 112, 4, 899, 905, 2, 113, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, 91, 47, 93, 48, 95, 49, 97, 50, 99, 51, 101, 52, 103, 53, 105, 54, 107, 55, 109, 56, 111, 57, 113, 58, 115, 59, 117, 60, 119, 61, 121, 62, 123, 63, 125, 64, 127, 65, 129, 66, 131, 67, 133, 68, 135, 69, 137, 70, 139, 71, 141, 72, 143, 73, 145, 74, 147, 75, 149, 76, 151, 77, 153, 78, 155, 79, 157, 80, 159, 2, 161, 2, 163, 2, 165, 2, 167, 2, 169, 2, 171, 2, 173, 2, 175, 2, 177, 2, 179, 2, 181, 2, 183, 2, 185, 2, 187, 2, 189, 2, 191, 2, 193, 2, 195, 2, 197, 2, 199, 2, 201, 2, 203, 2, 205, 2, 207, 2, 209, 2, 211, 81, 213, 82, 215, 83, 217, 84, 219, 85, 221, 86, 223, 87, 3, 2, 37, 5, 2, 11, 12, 15, 15, 34, 34, 3, 2, 55, 55, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 7, 2, 38, 38, 50, 59, 67, 92, 97, 97, 99, 124, 6, 2, 38, 38, 67, 92, 97, 97, 99, 124, 3, 2, 98, 98, 4, 2, 36, 36, 94, 94, 4, 2, 41, 41, 94, 94, 3, 2, 50, 59, 5, 2, 50, 59, 67, 72, 99, 104, 2, 1011, 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, 211, 3, 2, 2, 2, 2, 213, 3, 2, 2, 2, 2, 215, 3, 2, 2, 2, 2, 217, 3, 2, 2, 2, 2, 219, 3, 2, 2, 2, 2, 221, 3, 2, 2, 2, 2, 223, 3, 2, 2, 2, 3, 225, 3, 2, 2, 2, 5, 228, 3, 2, 2, 2, 7, 231, 3, 2, 2, 2, 9, 233, 3, 2, 2, 2, 11, 235, 3, 2, 2, 2, 13, 237, 3, 2, 2, 2, 15, 239, 3, 2, 2, 2, 17, 242, 3, 2, 2, 2, 19, 245, 3, 2, 2, 2, 21, 247, 3, 2, 2, 2, 23, 249, 3, 2, 2, 2, 25, 251, 3, 2, 2, 2, 27, 253, 3, 2, 2, 2, 29, 255, 3, 2, 2, 2, 31, 257, 3, 2, 2, 2, 33, 259, 3, 2, 2, 2, 35, 261, 3, 2, 2, 2, 37, 263, 3, 2, 2, 2, 39, 266, 3, 2, 2, 2, 41, 270, 3, 2, 2, 2, 43, 273, 3, 2, 2, 2, 45, 279, 3, 2, 2, 2, 47, 281, 3, 2, 2, 2, 49, 283, 3, 2, 2, 2, 51, 286, 3, 2, 2, 2, 53, 288, 3, 2, 2, 2, 55, 291, 3, 2, 2, 2, 57, 293, 3, 2, 2, 2, 59, 295, 3, 2, 2, 2, 61, 297, 3, 2, 2, 2, 63, 299, 3, 2, 2, 2, 65, 301, 3, 2, 2, 2, 67, 303, 3, 2, 2, 2, 69, 305, 3, 2, 2, 2, 71, 307, 3, 2, 2, 2, 73, 309, 3, 2, 2, 2, 75, 311, 3, 2, 2, 2, 77, 313, 3, 2, 2, 2, 79, 315, 3, 2, 2, 2, 81, 317, 3, 2, 2, 2, 83, 319, 3, 2, 2, 2, 85, 323, 3, 2, 2, 2, 87, 326, 3, 2, 2, 2, 89, 332, 3, 2, 2, 2, 91, 337, 3, 2, 2, 2, 93, 343, 3, 2, 2, 2, 95, 350, 3, 2, 2, 2, 97, 356, 3, 2, 2, 2, 99, 361, 3, 2, 2, 2, 101, 366, 3, 2, 2, 2, 103, 371, 3, 2, 2, 2, 105, 376, 3, 2, 2, 2, 107, 381, 3, 2, 2, 2, 109, 386, 3, 2, 2, 2, 111, 391, 3, 2, 2, 2, 113, 402, 3, 2, 2, 2, 115, 409, 3, 2, 2, 2, 117, 415, 3, 2, 2, 2, 119, 421, 3, 2, 2, 2, 121, 429, 3, 2, 2, 2, 123, 432, 3, 2, 2, 2, 125, 439, 3, 2, 2, 2, 127, 445, 3, 2, 2, 2, 129, 449, 3, 2, 2, 2, 131, 453, 3, 2, 2, 2, 133, 473, 3, 2, 2, 2, 135, 490, 3, 2, 2, 2, 137, 510, 3, 2, 2, 2, 139, 527, 3, 2, 2, 2, 141, 553, 3, 2, 2, 2, 143, 578, 3, 2, 2, 2, 145, 618, 3, 2, 2, 2, 147, 658, 3, 2, 2, 2, 149, 689, 3, 2, 2, 2, 151, 714, 3, 2, 2, 2, 153, 749, 3, 2, 2, 2, 155, 778, 3, 2, 2, 2, 157, 801, 3, 2, 2, 2, 159, 844, 3, 2, 2, 2, 161, 846, 3, 2, 2, 2, 163, 848, 3, 2, 2, 2, 165, 850, 3, 2, 2, 2, 167, 852, 3, 2, 2, 2, 169, 854, 3, 2, 2, 2, 171, 856, 3, 2, 2, 2, 173, 858, 3, 2, 2, 2, 175, 860, 3, 2, 2, 2, 177, 862, 3, 2, 2, 2, 179, 864, 3, 2, 2, 2, 181, 866, 3, 2, 2, 2, 183, 868, 3, 2, 2, 2, 185, 870, 3, 2, 2, 2, 187, 872, 3, 2, 2, 2, 189, 874, 3, 2, 2, 2, 191, 876, 3, 2, 2, 2, 193, 878, 3, 2, 2, 2, 195, 880, 3, 2, 2, 2, 197, 882, 3, 2, 2, 2, 199, 884, 3, 2, 2, 2, 201, 886, 3, 2, 2, 2, 203, 888, 3, 2, 2, 2, 205, 890, 3, 2, 2, 2, 207, 892, 3, 2, 2, 2, 209, 894, 3, 2, 2, 2, 211, 921, 3, 2, 2, 2, 213, 949, 3, 2, 2, 2, 215, 952, 3, 2, 2, 2, 217, 956, 3, 2, 2, 2, 219, 959, 3, 2, 2, 2, 221, 991, 3, 2, 2, 2, 223, 1010, 3, 2, 2, 2, 225, 226, 7, 40, 2, 2, 226, 227, 7, 40, 2, 2, 227, 4, 3, 2, 2, 2, 228, 229, 7, 126, 2, 2, 229, 230, 7, 126, 2, 2, 230, 6, 3, 2, 2, 2, 231, 232, 7, 35, 2, 2, 232, 8, 3, 2, 2, 2, 233, 234, 7, 128, 2, 2, 234, 10, 3, 2, 2, 2, 235, 236, 7, 126, 2, 2, 236, 12, 3, 2, 2, 2, 237, 238, 7, 40, 2, 2, 238, 14, 3, 2, 2, 2, 239, 240, 7, 62, 2, 2, 240, 241, 7, 62, 2, 2, 241, 16, 3, 2, 2, 2, 242, 243, 7, 64, 2, 2, 243, 244, 7, 64, 2, 2, 244, 18, 3, 2, 2, 2, 245, 246, 7, 96, 2, 2, 246, 20, 3, 2, 2, 2, 247, 248, 7, 39, 2, 2, 248, 22, 3, 2, 2, 2, 249, 250, 7, 60, 2, 2, 250, 24, 3, 2, 2, 2, 251, 252, 7, 45, 2, 2, 252, 26, 3, 2, 2, 2, 253, 254, 7, 47, 2, 2, 254, 28, 3, 2, 2, 2, 255, 256, 7, 44, 2, 2, 256, 30, 3, 2, 2, 2, 257, 258, 7, 49, 2, 2, 258, 32, 3, 2, 2, 2, 259, 260, 7, 94, 2, 2, 260, 34, 3, 2, 2, 2, 261, 262, 7, 48, 2, 2, 262, 36, 3, 2, 2, 2, 263, 264, 7, 48, 2, 2, 264, 265, 7, 44, 2, 2, 265, 38, 3, 2, 2, 2, 266, 267, 7, 62, 2, 2, 267, 268, 7, 63, 2, 2, 268, 269, 7, 64, 2, 2, 269, 40, 3, 2, 2, 2, 270, 271, 7, 63, 2, 2, 271, 272, 7, 63, 2, 2, 272, 42, 3, 2, 2, 2, 273, 274, 7, 63, 2, 2, 274, 44, 3, 2, 2, 2, 275, 276, 7, 62, 2, 2, 276, 280, 7, 64, 2, 2, 277, 278, 7, 35, 2, 2, 278, 280, 7, 63, 2, 2, 279, 275, 3, 2, 2, 2, 279, 277, 3, 2, 2, 2, 280, 46, 3, 2, 2, 2, 281, 282, 7, 64, 2, 2, 282, 48, 3, 2, 2, 2, 283, 284, 7, 64, 2, 2, 284, 285, 7, 63, 2, 2, 285, 50, 3, 2, 2, 2, 286, 287, 7, 62, 2, 2, 287, 52, 3, 2, 2, 2, 288, 289, 7, 62, 2, 2, 289, 290, 7, 63, 2, 2, 290, 54, 3, 2, 2, 2, 291, 292, 7, 37, 2, 2, 292, 56, 3, 2, 2, 2, 293, 294, 7, 42, 2, 2, 294, 58, 3, 2, 2, 2, 295, 296, 7, 43, 2, 2, 296, 60, 3, 2, 2, 2, 297, 298, 7, 125, 2, 2, 298, 62, 3, 2, 2, 2, 299, 300, 7, 127, 2, 2, 300, 64, 3, 2, 2, 2, 301, 302, 7, 93, 2, 2, 302, 66, 3, 2, 2, 2, 303, 304, 7, 95, 2, 2, 304, 68, 3, 2, 2, 2, 305, 306, 7, 46, 2, 2, 306, 70, 3, 2, 2, 2, 307, 308, 7, 36, 2, 2, 308, 72, 3, 2, 2, 2, 309, 310, 7, 41, 2, 2, 310, 74, 3, 2, 2, 2, 311, 312, 7, 98, 2, 2, 312, 76, 3, 2, 2, 2, 313, 314, 7, 65, 2, 2, 314, 78, 3, 2, 2, 2, 315, 316, 7, 66, 2, 2, 316, 80, 3, 2, 2, 2, 317, 318, 7, 61, 2, 2, 318, 82, 3, 2, 2, 2, 319, 320, 7, 47, 2, 2, 320, 321, 7, 64, 2, 2, 321, 322, 7, 64, 2, 2, 322, 84, 3, 2, 2, 2, 323, 324, 7, 97, 2, 2, 324, 86, 3, 2, 2, 2, 325, 327, 9, 2, 2, 2, 326, 325, 3, 2, 2, 2, 327, 328, 3, 2, 2, 2, 328, 326, 3, 2, 2, 2, 328, 329, 3, 2, 2, 2, 329, 330, 3, 2, 2, 2, 330, 331, 8, 44, 2, 2, 331, 88, 3, 2, 2, 2, 332, 333, 5, 197, 99, 2, 333, 334, 5, 193, 97, 2, 334, 335, 5, 199, 100, 2, 335, 336, 5, 167, 84, 2, 336, 90, 3, 2, 2, 2, 337, 338, 5, 169, 85, 2, 338, 339, 5, 159, 80, 2, 339, 340, 5, 181, 91, 2, 340, 341, 5, 195, 98, 2, 341, 342, 5, 167, 84, 2, 342, 92, 3, 2, 2, 2, 343, 344, 5, 163, 82, 2, 344, 345, 5, 193, 97, 2, 345, 346, 5, 167, 84, 2, 346, 347, 5, 159, 80, 2, 347, 348, 5, 197, 99, 2, 348, 349, 5, 167, 84, 2, 349, 94, 3, 2, 2, 2, 350, 351, 5, 159, 80, 2, 351, 352, 5, 181, 91, 2, 352, 353, 5, 197, 99, 2, 353, 354, 5, 167, 84, 2, 354, 355, 5, 193, 97, 2, 355, 96, 3, 2, 2, 2, 356, 357, 5, 165, 83, 2, 357, 358, 5, 193, 97, 2, 358, 359, 5, 187, 94, 2, 359, 360, 5, 189, 95, 2, 360, 98, 3, 2, 2, 2, 361, 362, 5, 195, 98, 2, 362, 363, 5, 173, 87, 2, 363, 364, 5, 187, 94, 2, 364, 365, 5, 203, 102, 2, 365, 100, 3, 2, 2, 2, 366, 367, 5, 193, 97, 2, 367, 368, 5, 199, 100, 2, 368, 369, 5, 181, 91, 2, 369, 370, 5, 167, 84, 2, 370, 102, 3, 2, 2, 2, 371, 372, 5, 169, 85, 2, 372, 373, 5, 193, 97, 2, 373, 374, 5, 187, 94, 2, 374, 375, 5, 183, 92, 2, 375, 104, 3, 2, 2, 2, 376, 377, 5, 183, 92, 2, 377, 378, 5, 159, 80, 2, 378, 379, 5, 195, 98, 2, 379, 380, 5, 179, 90, 2, 380, 106, 3, 2, 2, 2, 381, 382, 5, 197, 99, 2, 382, 383, 5, 207, 104, 2, 383, 384, 5, 189, 95, 2, 384, 385, 5, 167, 84, 2, 385, 108, 3, 2, 2, 2, 386, 387, 5, 185, 93, 2, 387, 388, 5, 159, 80, 2, 388, 389, 5, 183, 92, 2, 389, 390, 5, 167, 84, 2, 390, 110, 3, 2, 2, 2, 391, 392, 5, 189, 95, 2, 392, 393, 5, 193, 97, 2, 393, 394, 5, 187, 94, 2, 394, 395, 5, 189, 95, 2, 395, 396, 5, 167, 84, 2, 396, 397, 5, 193, 97, 2, 397, 398, 5, 197, 99, 2, 398, 399, 5, 175, 88, 2, 399, 400, 5, 167, 84, 2, 400, 401, 5, 195, 98, 2, 401, 112, 3, 2, 2, 2, 402, 403, 5, 163, 82, 2, 403, 404, 5, 187, 94, 2, 404, 405, 5, 181, 91, 2, 405, 406, 5, 199, 100, 2, 406, 407, 5, 183, 92, 2, 407, 408, 5, 185, 93, 2, 408, 114, 3, 2, 2, 2, 409, 410, 5, 193, 97, 2, 410, 411, 5, 199, 100, 2, 411, 412, 5, 181, 91, 2, 412, 413, 5, 167, 84, 2, 413, 414, 5, 195, 98, 2, 414, 116, 3, 2, 2, 2, 415, 416, 5, 197, 99, 2, 416, 417, 5, 159, 80, 2, 417, 418, 5, 161, 81, 2, 418, 419, 5, 181, 91, 2, 419, 420, 5, 167, 84, 2, 420, 118, 3, 2, 2, 2, 421, 422, 5, 163, 82, 2, 422, 423, 5, 187, 94, 2, 423, 424, 5, 181, 91, 2, 424, 425, 5, 199, 100, 2, 425, 426, 5, 183, 92, 2, 426, 427, 5, 185, 93, 2, 427, 428, 5, 195, 98, 2, 428, 120, 3, 2, 2, 2, 429, 430, 5, 175, 88, 2, 430, 431, 5, 169, 85, 2, 431, 122, 3, 2, 2, 2, 432, 433, 5, 167, 84, 2, 433, 434, 5, 205, 103, 2, 434, 435, 5, 175, 88, 2, 435, 436, 5, 195, 98, 2, 436, 437, 5, 197, 99, 2, 437, 438, 5, 195, 98, 2, 438, 124, 3, 2, 2, 2, 439, 440, 5, 163, 82, 2, 440, 441, 5, 187, 94, 2, 441, 442, 5, 199, 100, 2, 442, 443, 5, 185, 93, 2, 443, 444, 5, 197, 99, 2, 444, 126, 3, 2, 2, 2, 445, 446, 5, 185, 93, 2, 446, 447, 5, 187, 94, 2, 447, 448, 5, 197, 99, 2, 448, 128, 3, 2, 2, 2, 449, 450, 5, 183, 92, 2, 450, 451, 5, 165, 83, 2, 451, 452, 9, 3, 2, 2, 452, 130, 3, 2, 2, 2, 453, 454, 5, 179, 90, 2, 454, 455, 5, 167, 84, 2, 455, 456, 5, 167, 84, 2, 456, 457, 5, 189, 95, 2, 457, 458, 5, 85, 43, 2, 458, 459, 5, 169, 85, 2, 459, 460, 5, 175, 88, 2, 460, 461, 5, 193, 97, 2, 461, 462, 5, 195, 98, 2, 462, 463, 5, 197, 99, 2, 463, 464, 5, 85, 43, 2, 464, 465, 5, 185, 93, 2, 465, 466, 5, 85, 43, 2, 466, 467, 5, 181, 91, 2, 467, 468, 5, 159, 80, 2, 468, 469, 5, 195, 98, 2, 469, 470, 5, 197, 99, 2, 470, 471, 5, 85, 43, 2, 471, 472, 5, 183, 92, 2, 472, 132, 3, 2, 2, 2, 473, 474, 5, 179, 90, 2, 474, 475, 5, 167, 84, 2, 475, 476, 5, 167, 84, 2, 476, 477, 5, 189, 95, 2, 477, 478, 5, 85, 43, 2, 478, 479, 5, 169, 85, 2, 479, 480, 5, 193, 97, 2, 480, 481, 5, 187, 94, 2, 481, 482, 5, 183, 92, 2, 482, 483, 5, 85, 43, 2, 483, 484, 5, 205, 103, 2, 484, 485, 5, 85, 43, 2, 485, 486, 5, 197, 99, 2, 486, 487, 5, 187, 94, 2, 487, 488, 5, 85, 43, 2, 488, 489, 5, 207, 104, 2, 489, 134, 3, 2, 2, 2, 490, 491, 5, 183, 92, 2, 491, 492, 5, 159, 80, 2, 492, 493, 5, 195, 98, 2, 493, 494, 5, 179, 90, 2, 494, 495, 5, 85, 43, 2, 495, 496, 5, 169, 85, 2, 496, 497, 5, 175, 88, 2, 497, 498, 5, 193, 97, 2, 498, 499, 5, 195, 98, 2, 499, 500, 5, 197, 99, 2, 500, 501, 5, 85, 43, 2, 501, 502, 5, 185, 93, 2, 502, 503, 5, 85, 43, 2, 503, 504, 5, 181, 91, 2, 504, 505, 5, 159, 80, 2, 505, 506, 5, 195, 98, 2, 506, 507, 5, 197, 99, 2, 507, 508, 5, 85, 43, 2, 508, 509, 5, 183, 92, 2, 509, 136, 3, 2, 2, 2, 510, 511, 5, 183, 92, 2, 511, 512, 5, 159, 80, 2, 512, 513, 5, 195, 98, 2, 513, 514, 5, 179, 90, 2, 514, 515, 5, 85, 43, 2, 515, 516, 5, 169, 85, 2, 516, 517, 5, 193, 97, 2, 517, 518, 5, 187, 94, 2, 518, 519, 5, 183, 92, 2, 519, 520, 5, 85, 43, 2, 520, 521, 5, 205, 103, 2, 521, 522, 5, 85, 43, 2, 522, 523, 5, 197, 99, 2, 523, 524, 5, 187, 94, 2, 524, 525, 5, 85, 43, 2, 525, 526, 5, 207, 104, 2, 526, 138, 3, 2, 2, 2, 527, 528, 5, 183, 92, 2, 528, 529, 5, 159, 80, 2, 529, 530, 5, 195, 98, 2, 530, 531, 5, 179, 90, 2, 531, 532, 5, 85, 43, 2, 532, 533, 5, 161, 81, 2, 533, 534, 5, 167, 84, 2, 534, 535, 5, 169, 85, 2, 535, 536, 5, 187, 94, 2, 536, 537, 5, 193, 97, 2, 537, 538, 5, 167, 84, 2, 538, 539, 5, 85, 43, 2, 539, 540, 5, 195, 98, 2, 540, 541, 5, 189, 95, 2, 541, 542, 5, 167, 84, 2, 542, 543, 5, 163, 82, 2, 543, 544, 5, 175, 88, 2, 544, 545, 5, 159, 80, 2, 545, 546, 5, 181, 91, 2, 546, 547, 5, 85, 43, 2, 547, 548, 5, 163, 82, 2, 548, 549, 5, 173, 87, 2, 549, 550, 5, 159, 80, 2, 550, 551, 5, 193, 97, 2, 551, 552, 5, 195, 98, 2, 552, 140, 3, 2, 2, 2, 553, 554, 5, 183, 92, 2, 554, 555, 5, 159, 80, 2, 555, 556, 5, 195, 98, 2, 556, 557, 5, 179, 90, 2, 557, 558, 5, 85, 43, 2, 558, 559, 5, 159, 80, 2, 559, 560, 5, 169, 85, 2, 560, 561, 5, 197, 99, 2, 561, 562, 5, 167, 84, 2, 562, 563, 5, 193, 97, 2, 563, 564, 5, 85, 43, 2, 564, 565, 5, 195, 98, 2, 565, 566, 5, 189, 95, 2, 566, 567, 5, 167, 84, 2, 567, 568, 5, 163, 82, 2, 568, 569, 5, 175, 88, 2, 569, 570, 5, 159, 80, 2, 570, 571, 5, 181, 91, 2, 571, 572, 5, 85, 43, 2, 572, 573, 5, 163, 82, 2, 573, 574, 5, 173, 87, 2, 574, 575, 5, 159, 80, 2, 575, 576, 5, 193, 97, 2, 576, 577, 5, 195, 98, 2, 577, 142, 3, 2, 2, 2, 578, 579, 5, 189, 95, 2, 579, 580, 5, 167, 84, 2, 580, 581, 5, 193, 97, 2, 581, 582, 5, 195, 98, 2, 582, 583, 5, 187, 94, 2, 583, 584, 5, 185, 93, 2, 584, 585, 5, 159, 80, 2, 585, 586, 5, 181, 91, 2, 586, 587, 5, 85, 43, 2, 587, 588, 5, 175, 88, 2, 588, 589, 5, 165, 83, 2, 589, 590, 5, 167, 84, 2, 590, 591, 5, 185, 93, 2, 591, 592, 5, 197, 99, 2, 592, 593, 5, 175, 88, 2, 593, 594, 5, 197, 99, 2, 594, 595, 5, 207, 104, 2, 595, 596, 5, 85, 43, 2, 596, 597, 5, 185, 93, 2, 597, 598, 5, 199, 100, 2, 598, 599, 5, 183, 92, 2, 599, 600, 5, 161, 81, 2, 600, 601, 5, 167, 84, 2, 601, 602, 5, 193, 97, 2, 602, 603, 5, 85, 43, 2, 603, 604, 5, 193, 97, 2, 604, 605, 5, 159, 80, 2, 605, 606, 5, 185, 93, 2, 606, 607, 5, 165, 83, 2, 607, 608, 5, 187, 94, 2, 608, 609, 5, 183, 92, 2, 609, 610, 5, 85, 43, 2, 610, 611, 5, 193, 97, 2, 611, 612, 5, 167, 84, 2, 612, 613, 5, 189, 95, 2, 613, 614, 5, 181, 91, 2, 614, 615, 5, 159, 80, 2, 615, 616, 5, 163, 82, 2, 616, 617, 5, 167, 84, 2, 617, 144, 3, 2, 2, 2, 618, 619, 5, 183, 92, 2, 619, 620, 5, 175, 88, 2, 620, 621, 5, 181, 91, 2, 621, 622, 5, 175, 88, 2, 622, 623, 5, 197, 99, 2, 623, 624, 5, 159, 80, 2, 624, 625, 5, 193, 97, 2, 625, 626, 5, 207, 104, 2, 626, 627, 5, 85, 43, 2, 627, 628, 5, 175, 88, 2, 628, 629, 5, 165, 83, 2, 629, 630, 5, 167, 84, 2, 630, 631, 5, 185, 93, 2, 631, 632, 5, 197, 99, 2, 632, 633, 5, 175, 88, 2, 633, 634, 5, 197, 99, 2, 634, 635, 5, 207, 104, 2, 635, 636, 5, 85, 43, 2, 636, 637, 5, 185, 93, 2, 637, 638, 5, 199, 100, 2, 638, 639, 5, 183, 92, 2, 639, 640, 5, 161, 81, 2, 640, 641, 5, 167, 84, 2, 641, 642, 5, 193, 97, 2, 642, 643, 5, 85, 43, 2, 643, 644, 5, 193, 97, 2, 644, 645, 5, 159, 80, 2, 645, 646, 5, 185, 93, 2, 646, 647, 5, 165, 83, 2, 647, 648, 5, 187, 94, 2, 648, 649, 5, 183, 92, 2, 649, 650, 5, 85, 43, 2, 650, 651, 5, 193, 97, 2, 651, 652, 5, 167, 84, 2, 652, 653, 5, 189, 95, 2, 653, 654, 5, 181, 91, 2, 654, 655, 5, 159, 80, 2, 655, 656, 5, 163, 82, 2, 656, 657, 5, 167, 84, 2, 657, 146, 3, 2, 2, 2, 658, 659, 5, 181, 91, 2, 659, 660, 5, 159, 80, 2, 660, 661, 5, 185, 93, 2, 661, 662, 5, 165, 83, 2, 662, 663, 5, 181, 91, 2, 663, 664, 5, 175, 88, 2, 664, 665, 5, 185, 93, 2, 665, 666, 5, 167, 84, 2, 666, 667, 5, 85, 43, 2, 667, 668, 5, 185, 93, 2, 668, 669, 5, 199, 100, 2, 669, 670, 5, 183, 92, 2, 670, 671, 5, 161, 81, 2, 671, 672, 5, 167, 84, 2, 672, 673, 5, 193, 97, 2, 673, 674, 5, 85, 43, 2, 674, 675, 5, 193, 97, 2, 675, 676, 5, 159, 80, 2, 676, 677, 5, 185, 93, 2, 677, 678, 5, 165, 83, 2, 678, 679, 5, 187, 94, 2, 679, 680, 5, 183, 92, 2, 680, 681, 5, 85, 43, 2, 681, 682, 5, 193, 97, 2, 682, 683, 5, 167, 84, 2, 683, 684, 5, 189, 95, 2, 684, 685, 5, 181, 91, 2, 685, 686, 5, 159, 80, 2, 686, 687, 5, 163, 82, 2, 687, 688, 5, 167, 84, 2, 688, 148, 3, 2, 2, 2, 689, 690, 5, 197, 99, 2, 690, 691, 5, 167, 84, 2, 691, 692, 5, 181, 91, 2, 692, 693, 5, 167, 84, 2, 693, 694, 5, 189, 95, 2, 694, 695, 5, 173, 87, 2, 695, 696, 5, 187, 94, 2, 696, 697, 5, 185, 93, 2, 697, 698, 5, 167, 84, 2, 698, 699, 5, 85, 43, 2, 699, 700, 5, 193, 97, 2, 700, 701, 5, 159, 80, 2, 701, 702, 5, 185, 93, 2, 702, 703, 5, 165, 83, 2, 703, 704, 5, 187, 94, 2, 704, 705, 5, 183, 92, 2, 705, 706, 5, 85, 43, 2, 706, 707, 5, 193, 97, 2, 707, 708, 5, 167, 84, 2, 708, 709, 5, 189, 95, 2, 709, 710, 5, 181, 91, 2, 710, 711, 5, 159, 80, 2, 711, 712, 5, 163, 82, 2, 712, 713, 5, 167, 84, 2, 713, 150, 3, 2, 2, 2, 714, 715, 5, 199, 100, 2, 715, 716, 5, 185, 93, 2, 716, 717, 5, 175, 88, 2, 717, 718, 5, 169, 85, 2, 718, 719, 5, 175, 88, 2, 719, 720, 5, 167, 84, 2, 720, 721, 5, 165, 83, 2, 721, 722, 5, 85, 43, 2, 722, 723, 5, 163, 82, 2, 723, 724, 5, 193, 97, 2, 724, 725, 5, 167, 84, 2, 725, 726, 5, 165, 83, 2, 726, 727, 5, 175, 88, 2, 727, 728, 5, 197, 99, 2, 728, 729, 5, 85, 43, 2, 729, 730, 5, 163, 82, 2, 730, 731, 5, 187, 94, 2, 731, 732, 5, 165, 83, 2, 732, 733, 5, 167, 84, 2, 733, 734, 5, 85, 43, 2, 734, 735, 5, 193, 97, 2, 735, 736, 5, 159, 80, 2, 736, 737, 5, 185, 93, 2, 737, 738, 5, 165, 83, 2, 738, 739, 5, 187, 94, 2, 739, 740, 5, 183, 92, 2, 740, 741, 5, 85, 43, 2, 741, 742, 5, 193, 97, 2, 742, 743, 5, 167, 84, 2, 743, 744, 5, 189, 95, 2, 744, 745, 5, 181, 91, 2, 745, 746, 5, 159, 80, 2, 746, 747, 5, 163, 82, 2, 747, 748, 5, 167, 84, 2, 748, 152, 3, 2, 2, 2, 749, 750, 5, 171, 86, 2, 750, 751, 5, 167, 84, 2, 751, 752, 5, 185, 93, 2, 752, 753, 5, 167, 84, 2, 753, 754, 5, 193, 97, 2, 754, 755, 5, 175, 88, 2, 755, 756, 5, 163, 82, 2, 756, 757, 5, 85, 43, 2, 757, 758, 5, 197, 99, 2, 758, 759, 5, 159, 80, 2, 759, 760, 5, 161, 81, 2, 760, 761, 5, 181, 91, 2, 761, 762, 5, 167, 84, 2, 762, 763, 5, 85, 43, 2, 763, 764, 5, 193, 97, 2, 764, 765, 5, 159, 80, 2, 765, 766, 5, 185, 93, 2, 766, 767, 5, 165, 83, 2, 767, 768, 5, 187, 94, 2, 768, 769, 5, 183, 92, 2, 769, 770, 5, 85, 43, 2, 770, 771, 5, 193, 97, 2, 771, 772, 5, 167, 84, 2, 772, 773, 5, 189, 95, 2, 773, 774, 5, 181, 91, 2, 774, 775, 5, 159, 80, 2, 775, 776, 5, 163, 82, 2, 776, 777, 5, 167, 84, 2, 777, 154, 3, 2, 2, 2, 778, 779, 5, 159, 80, 2, 779, 780, 5, 165, 83, 2, 780, 781, 5, 165, 83, 2, 781, 782, 5, 193, 97, 2, 782, 783, 5, 167, 84, 2, 783, 784, 5, 195, 98, 2, 784, 785, 5, 195, 98, 2, 785, 786, 5, 85, 43, 2, 786, 787, 5, 193, 97, 2, 787, 788, 5, 159, 80, 2, 788, 789, 5, 185, 93, 2, 789, 790, 5, 165, 83, 2, 790, 791, 5, 187, 94, 2, 791, 792, 5, 183, 92, 2, 792, 793, 5, 85, 43, 2, 793, 794, 5, 193, 97, 2, 794, 795, 5, 167, 84, 2, 795, 796, 5, 189, 95, 2, 796, 797, 5, 181, 91, 2, 797, 798, 5, 159, 80, 2, 798, 799, 5, 163, 82, 2, 799, 800, 5, 167, 84, 2, 800, 156, 3, 2, 2, 2, 801, 802, 7, 70, 2, 2, 802, 803, 7, 81, 2, 2, 803, 804, 7, 34, 2, 2, 804, 805, 7, 80, 2, 2, 805, 806, 7, 81, 2, 2, 806, 807, 7, 86, 2, 2, 807, 808, 7, 34, 2, 2, 808, 809, 7, 79, 2, 2, 809, 810, 7, 67, 2, 2, 810, 811, 7, 86, 2, 2, 811, 812, 7, 69, 2, 2, 812, 813, 7, 74, 2, 2, 813, 814, 7, 34, 2, 2, 814, 815, 7, 67, 2, 2, 815, 816, 7, 80, 2, 2, 816, 817, 7, 91, 2, 2, 817, 818, 7, 34, 2, 2, 818, 819, 7, 86, 2, 2, 819, 820, 7, 74, 2, 2, 820, 821, 7, 75, 2, 2, 821, 822, 7, 80, 2, 2, 822, 823, 7, 73, 2, 2, 823, 824, 7, 46, 2, 2, 824, 825, 7, 34, 2, 2, 825, 826, 7, 76, 2, 2, 826, 827, 7, 87, 2, 2, 827, 828, 7, 85, 2, 2, 828, 829, 7, 86, 2, 2, 829, 830, 7, 34, 2, 2, 830, 831, 7, 72, 2, 2, 831, 832, 7, 81, 2, 2, 832, 833, 7, 84, 2, 2, 833, 834, 7, 34, 2, 2, 834, 835, 7, 73, 2, 2, 835, 836, 7, 71, 2, 2, 836, 837, 7, 80, 2, 2, 837, 838, 7, 71, 2, 2, 838, 839, 7, 84, 2, 2, 839, 840, 7, 67, 2, 2, 840, 841, 7, 86, 2, 2, 841, 842, 7, 81, 2, 2, 842, 843, 7, 84, 2, 2, 843, 158, 3, 2, 2, 2, 844, 845, 9, 4, 2, 2, 845, 160, 3, 2, 2, 2, 846, 847, 9, 5, 2, 2, 847, 162, 3, 2, 2, 2, 848, 849, 9, 6, 2, 2, 849, 164, 3, 2, 2, 2, 850, 851, 9, 7, 2, 2, 851, 166, 3, 2, 2, 2, 852, 853, 9, 8, 2, 2, 853, 168, 3, 2, 2, 2, 854, 855, 9, 9, 2, 2, 855, 170, 3, 2, 2, 2, 856, 857, 9, 10, 2, 2, 857, 172, 3, 2, 2, 2, 858, 859, 9, 11, 2, 2, 859, 174, 3, 2, 2, 2, 860, 861, 9, 12, 2, 2, 861, 176, 3, 2, 2, 2, 862, 863, 9, 13, 2, 2, 863, 178, 3, 2, 2, 2, 864, 865, 9, 14, 2, 2, 865, 180, 3, 2, 2, 2, 866, 867, 9, 15, 2, 2, 867, 182, 3, 2, 2, 2, 868, 869, 9, 16, 2, 2, 869, 184, 3, 2, 2, 2, 870, 871, 9, 17, 2, 2, 871, 186, 3, 2, 2, 2, 872, 873, 9, 18, 2, 2, 873, 188, 3, 2, 2, 2, 874, 875, 9, 19, 2, 2, 875, 190, 3, 2, 2, 2, 876, 877, 9, 20, 2, 2, 877, 192, 3, 2, 2, 2, 878, 879, 9, 21, 2, 2, 879, 194, 3, 2, 2, 2, 880, 881, 9, 22, 2, 2, 881, 196, 3, 2, 2, 2, 882, 883, 9, 23, 2, 2, 883, 198, 3, 2, 2, 2, 884, 885, 9, 24, 2, 2, 885, 200, 3, 2, 2, 2, 886, 887, 9, 25, 2, 2, 887, 202, 3, 2, 2, 2, 888, 889, 9, 26, 2, 2, 889, 204, 3, 2, 2, 2, 890, 891, 9, 27, 2, 2, 891, 206, 3, 2, 2, 2, 892, 893, 9, 28, 2, 2, 893, 208, 3, 2, 2, 2, 894, 895, 9, 29, 2, 2, 895, 210, 3, 2, 2, 2, 896, 898, 9, 30, 2, 2, 897, 896, 3, 2, 2, 2, 898, 901, 3, 2, 2, 2, 899, 900, 3, 2, 2, 2, 899, 897, 3, 2, 2, 2, 900, 903, 3, 2, 2, 2, 901, 899, 3, 2, 2, 2, 902, 904, 9, 31, 2, 2, 903, 902, 3, 2, 2, 2, 904, 905, 3, 2, 2, 2, 905, 906, 3, 2, 2, 2, 905, 903, 3, 2, 2, 2, 906, 910, 3, 2, 2, 2, 907, 909, 9, 30, 2, 2, 908, 907, 3, 2, 2, 2, 909, 912, 3, 2, 2, 2, 910, 908, 3, 2, 2, 2, 910, 911, 3, 2, 2, 2, 911, 922, 3, 2, 2, 2, 912, 910, 3, 2, 2, 2, 913, 915, 5, 75, 38, 2, 914, 916, 10, 32, 2, 2, 915, 914, 3, 2, 2, 2, 916, 917, 3, 2, 2, 2, 917, 915, 3, 2, 2, 2, 917, 918, 3, 2, 2, 2, 918, 919, 3, 2, 2, 2, 919, 920, 5, 75, 38, 2, 920, 922, 3, 2, 2, 2, 921, 899, 3, 2, 2, 2, 921, 913, 3, 2, 2, 2, 922, 212, 3, 2, 2, 2, 923, 931, 5, 71, 36, 2, 924, 925, 7, 94, 2, 2, 925, 930, 11, 2, 2, 2, 926, 927, 7, 36, 2, 2, 927, 930, 7, 36, 2, 2, 928, 930, 10, 33, 2, 2, 929, 924, 3, 2, 2, 2, 929, 926, 3, 2, 2, 2, 929, 928, 3, 2, 2, 2, 930, 933, 3, 2, 2, 2, 931, 929, 3, 2, 2, 2, 931, 932, 3, 2, 2, 2, 932, 934, 3, 2, 2, 2, 933, 931, 3, 2, 2, 2, 934, 935, 5, 71, 36, 2, 935, 950, 3, 2, 2, 2, 936, 944, 5, 73, 37, 2, 937, 938, 7, 94, 2, 2, 938, 943, 11, 2, 2, 2, 939, 940, 7, 41, 2, 2, 940, 943, 7, 41, 2, 2, 941, 943, 10, 34, 2, 2, 942, 937, 3, 2, 2, 2, 942, 939, 3, 2, 2, 2, 942, 941, 3, 2, 2, 2, 943, 946, 3, 2, 2, 2, 944, 942, 3, 2, 2, 2, 944, 945, 3, 2, 2, 2, 945, 947, 3, 2, 2, 2, 946, 944, 3, 2, 2, 2, 947, 948, 5, 73, 37, 2, 948, 950, 3, 2, 2, 2, 949, 923, 3, 2, 2, 2, 949, 936, 3, 2, 2, 2, 950, 214, 3, 2, 2, 2, 951, 953, 9, 35, 2, 2, 952, 951, 3, 2, 2, 2, 953, 954, 3, 2, 2, 2, 954, 952, 3, 2, 2, 2, 954, 955, 3, 2, 2, 2, 955, 216, 3, 2, 2, 2, 956, 957, 9, 36, 2, 2, 957, 218, 3, 2, 2, 2, 958, 960, 5, 215, 108, 2, 959, 958, 3, 2, 2, 2, 959, 960, 3, 2, 2, 2, 960, 962, 3, 2, 2, 2, 961, 963, 5, 35, 18, 2, 962, 961, 3, 2, 2, 2, 962, 963, 3, 2, 2, 2, 963, 964, 3, 2, 2, 2, 964, 972, 5, 215, 108, 2, 965, 968, 5, 167, 84, 2, 966, 969, 5, 25, 13, 2, 967, 969, 5, 27, 14, 2, 968, 966, 3, 2, 2, 2, 968, 967, 3, 2, 2, 2, 968, 969, 3, 2, 2, 2, 969, 970, 3, 2, 2, 2, 970, 971, 5, 215, 108, 2, 971, 973, 3, 2, 2, 2, 972, 965, 3, 2, 2, 2, 972, 973, 3, 2, 2, 2, 973, 220, 3, 2, 2, 2, 974, 975, 7, 50, 2, 2, 975, 976, 7, 122, 2, 2, 976, 978, 3, 2, 2, 2, 977, 979, 5, 217, 109, 2, 978, 977, 3, 2, 2, 2, 979, 980, 3, 2, 2, 2, 980, 978, 3, 2, 2, 2, 980, 981, 3, 2, 2, 2, 981, 992, 3, 2, 2, 2, 982, 983, 7, 90, 2, 2, 983, 985, 5, 73, 37, 2, 984, 986, 5, 217, 109, 2, 985, 984, 3, 2, 2, 2, 986, 987, 3, 2, 2, 2, 987, 985, 3, 2, 2, 2, 987, 988, 3, 2, 2, 2, 988, 989, 3, 2, 2, 2, 989, 990, 5, 73, 37, 2, 990, 992, 3, 2, 2, 2, 991, 974, 3, 2, 2, 2, 991, 982, 3, 2, 2, 2, 992, 222, 3, 2, 2, 2, 993, 994, 7, 50, 2, 2, 994, 995, 7, 100, 2, 2, 995, 997, 3, 2, 2, 2, 996, 998, 4, 50, 51, 2, 997, 996, 3, 2, 2, 2, 998, 999, 3, 2, 2, 2, 999, 997, 3, 2, 2, 2, 999, 1000, 3, 2, 2, 2, 1000, 1011, 3, 2, 2, 2, 1001, 1002, 5, 161, 81, 2, 1002, 1004, 5, 73, 37, 2, 1003, 1005, 4, 50, 51, 2, 1004, 1003, 3, 2, 2, 2, 1005, 1006, 3, 2, 2, 2, 1006, 1004, 3, 2, 2, 2, 1006, 1007, 3, 2, 2, 2, 1007, 1008, 3, 2, 2, 2, 1008, 1009, 5, 73, 37, 2, 1009, 1011, 3, 2, 2, 2, 1010, 993, 3, 2, 2, 2, 1010, 1001, 3, 2, 2, 2, 1011, 224, 3, 2, 2, 2, 26, 2, 279, 328, 899, 905, 910, 917, 921, 929, 931, 942, 944, 949, 954, 959, 962, 968, 972, 980, 987, 991, 999, 1006, 1010, 3, 8, 2, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementLexer.java b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementLexer.java deleted file mode 100644 index 25a884ee..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementLexer.java +++ /dev/null @@ -1,515 +0,0 @@ -// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/mask/RQLStatement.g4 by ANTLR 4.9.2 -import org.antlr.v4.runtime.Lexer; -import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.TokenStream; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.misc.*; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class RQLStatementLexer extends Lexer { - static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, - SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, - ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, - DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, - LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, - SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, - WS=43, TRUE=44, FALSE=45, CREATE=46, ALTER=47, DROP=48, SHOW=49, RULE=50, - FROM=51, MASK=52, TYPE=53, NAME=54, PROPERTIES=55, COLUMN=56, RULES=57, - TABLE=58, COLUMNS=59, IF=60, EXISTS=61, COUNT=62, NOT=63, MD5=64, KEEP_FIRST_N_LAST_M=65, - KEEP_FROM_X_TO_Y=66, MASK_FIRST_N_LAST_M=67, MASK_FROM_X_TO_Y=68, MASK_BEFORE_SPECIAL_CHARS=69, - MASK_AFTER_SPECIAL_CHARS=70, PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE=71, - MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE=72, LANDLINE_NUMBER_RANDOM_REPLACE=73, - TELEPHONE_RANDOM_REPLACE=74, UNIFIED_CREDIT_CODE_RANDOM_REPLACE=75, GENERIC_TABLE_RANDOM_REPLACE=76, - ADDRESS_RANDOM_REPLACE=77, FOR_GENERATOR=78, IDENTIFIER_=79, STRING_=80, - INT_=81, HEX_=82, NUMBER_=83, HEXDIGIT_=84, BITNUM_=85; - public static String[] channelNames = { - "DEFAULT_TOKEN_CHANNEL", "HIDDEN" - }; - - public static String[] modeNames = { - "DEFAULT_MODE" - }; - - private static String[] makeRuleNames() { - return new String[] { - "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", - "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", - "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", - "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", - "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", - "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", "FALSE", "CREATE", "ALTER", - "DROP", "SHOW", "RULE", "FROM", "MASK", "TYPE", "NAME", "PROPERTIES", - "COLUMN", "RULES", "TABLE", "COLUMNS", "IF", "EXISTS", "COUNT", "NOT", - "MD5", "KEEP_FIRST_N_LAST_M", "KEEP_FROM_X_TO_Y", "MASK_FIRST_N_LAST_M", - "MASK_FROM_X_TO_Y", "MASK_BEFORE_SPECIAL_CHARS", "MASK_AFTER_SPECIAL_CHARS", - "PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE", "MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE", - "LANDLINE_NUMBER_RANDOM_REPLACE", "TELEPHONE_RANDOM_REPLACE", "UNIFIED_CREDIT_CODE_RANDOM_REPLACE", - "GENERIC_TABLE_RANDOM_REPLACE", "ADDRESS_RANDOM_REPLACE", "FOR_GENERATOR", - "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", - "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "IDENTIFIER_", - "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", - "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", - "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", - "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", - "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", - "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", - "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", - "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", - "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", - "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", - "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", "FROM", "MASK", "TYPE", - "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", "COLUMNS", "IF", "EXISTS", - "COUNT", "NOT", "MD5", "KEEP_FIRST_N_LAST_M", "KEEP_FROM_X_TO_Y", "MASK_FIRST_N_LAST_M", - "MASK_FROM_X_TO_Y", "MASK_BEFORE_SPECIAL_CHARS", "MASK_AFTER_SPECIAL_CHARS", - "PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE", "MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE", - "LANDLINE_NUMBER_RANDOM_REPLACE", "TELEPHONE_RANDOM_REPLACE", "UNIFIED_CREDIT_CODE_RANDOM_REPLACE", - "GENERIC_TABLE_RANDOM_REPLACE", "ADDRESS_RANDOM_REPLACE", "FOR_GENERATOR", - "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - - public RQLStatementLexer(CharStream input) { - super(input); - _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - @Override - public String getGrammarFileName() { return "RQLStatement.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public String[] getChannelNames() { return channelNames; } - - @Override - public String[] getModeNames() { return modeNames; } - - @Override - public ATN getATN() { return _ATN; } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2W\u03f4\b\1\4\2\t"+ - "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ - "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ - "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ - "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ - "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ - ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ - "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ - "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+ - "\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+ - "\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+ - "`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\4k\t"+ - "k\4l\tl\4m\tm\4n\tn\4o\to\4p\tp\3\2\3\2\3\2\3\3\3\3\3\3\3\4\3\4\3\5\3"+ - "\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\t\3\t\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3"+ - "\r\3\r\3\16\3\16\3\17\3\17\3\20\3\20\3\21\3\21\3\22\3\22\3\23\3\23\3\23"+ - "\3\24\3\24\3\24\3\24\3\25\3\25\3\25\3\26\3\26\3\27\3\27\3\27\3\27\5\27"+ - "\u0118\n\27\3\30\3\30\3\31\3\31\3\31\3\32\3\32\3\33\3\33\3\33\3\34\3\34"+ - "\3\35\3\35\3\36\3\36\3\37\3\37\3 \3 \3!\3!\3\"\3\"\3#\3#\3$\3$\3%\3%\3"+ - "&\3&\3\'\3\'\3(\3(\3)\3)\3*\3*\3*\3*\3+\3+\3,\6,\u0147\n,\r,\16,\u0148"+ - "\3,\3,\3-\3-\3-\3-\3-\3.\3.\3.\3.\3.\3.\3/\3/\3/\3/\3/\3/\3/\3\60\3\60"+ - "\3\60\3\60\3\60\3\60\3\61\3\61\3\61\3\61\3\61\3\62\3\62\3\62\3\62\3\62"+ - "\3\63\3\63\3\63\3\63\3\63\3\64\3\64\3\64\3\64\3\64\3\65\3\65\3\65\3\65"+ - "\3\65\3\66\3\66\3\66\3\66\3\66\3\67\3\67\3\67\3\67\3\67\38\38\38\38\3"+ - "8\38\38\38\38\38\38\39\39\39\39\39\39\39\3:\3:\3:\3:\3:\3:\3;\3;\3;\3"+ - ";\3;\3;\3<\3<\3<\3<\3<\3<\3<\3<\3=\3=\3=\3>\3>\3>\3>\3>\3>\3>\3?\3?\3"+ - "?\3?\3?\3?\3@\3@\3@\3@\3A\3A\3A\3A\3B\3B\3B\3B\3B\3B\3B\3B\3B\3B\3B\3"+ - "B\3B\3B\3B\3B\3B\3B\3B\3B\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3"+ - "C\3C\3C\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3D\3"+ - "E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3F\3F\3F\3F\3F\3F\3"+ - "F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3F\3G\3G\3G\3"+ - "G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3G\3H\3"+ - "H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3"+ - "H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3H\3I\3I\3I\3I\3I\3I\3I\3"+ - "I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3"+ - "I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3"+ - "J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3J\3K\3K\3K\3K\3K\3"+ - "K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3K\3L\3L\3L\3"+ - "L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3L\3"+ - "L\3L\3L\3L\3L\3L\3L\3L\3L\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3"+ - "M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3M\3N\3N\3N\3N\3N\3N\3N\3N\3"+ - "N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3N\3O\3O\3O\3O\3O\3O\3O\3O\3"+ - "O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3"+ - "O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3O\3P\3P\3Q\3Q\3R\3R\3S\3S\3T\3T\3U\3"+ - "U\3V\3V\3W\3W\3X\3X\3Y\3Y\3Z\3Z\3[\3[\3\\\3\\\3]\3]\3^\3^\3_\3_\3`\3`"+ - "\3a\3a\3b\3b\3c\3c\3d\3d\3e\3e\3f\3f\3g\3g\3h\3h\3i\3i\3j\7j\u0382\nj"+ - "\fj\16j\u0385\13j\3j\6j\u0388\nj\rj\16j\u0389\3j\7j\u038d\nj\fj\16j\u0390"+ - "\13j\3j\3j\6j\u0394\nj\rj\16j\u0395\3j\3j\5j\u039a\nj\3k\3k\3k\3k\3k\3"+ - "k\7k\u03a2\nk\fk\16k\u03a5\13k\3k\3k\3k\3k\3k\3k\3k\3k\7k\u03af\nk\fk"+ - "\16k\u03b2\13k\3k\3k\5k\u03b6\nk\3l\6l\u03b9\nl\rl\16l\u03ba\3m\3m\3n"+ - "\5n\u03c0\nn\3n\5n\u03c3\nn\3n\3n\3n\3n\5n\u03c9\nn\3n\3n\5n\u03cd\nn"+ - "\3o\3o\3o\3o\6o\u03d3\no\ro\16o\u03d4\3o\3o\3o\6o\u03da\no\ro\16o\u03db"+ - "\3o\3o\5o\u03e0\no\3p\3p\3p\3p\6p\u03e6\np\rp\16p\u03e7\3p\3p\3p\6p\u03ed"+ - "\np\rp\16p\u03ee\3p\3p\5p\u03f3\np\4\u0383\u0389\2q\3\3\5\4\7\5\t\6\13"+ - "\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\35\20\37\21!\22#\23%\24\'"+ - "\25)\26+\27-\30/\31\61\32\63\33\65\34\67\359\36;\37= ?!A\"C#E$G%I&K\'"+ - "M(O)Q*S+U,W-Y.[/]\60_\61a\62c\63e\64g\65i\66k\67m8o9q:s;u{?}@\177"+ - "A\u0081B\u0083C\u0085D\u0087E\u0089F\u008bG\u008dH\u008fI\u0091J\u0093"+ - "K\u0095L\u0097M\u0099N\u009bO\u009dP\u009f\2\u00a1\2\u00a3\2\u00a5\2\u00a7"+ - "\2\u00a9\2\u00ab\2\u00ad\2\u00af\2\u00b1\2\u00b3\2\u00b5\2\u00b7\2\u00b9"+ - "\2\u00bb\2\u00bd\2\u00bf\2\u00c1\2\u00c3\2\u00c5\2\u00c7\2\u00c9\2\u00cb"+ - "\2\u00cd\2\u00cf\2\u00d1\2\u00d3Q\u00d5R\u00d7S\u00d9T\u00dbU\u00ddV\u00df"+ - "W\3\2%\5\2\13\f\17\17\"\"\3\2\67\67\4\2CCcc\4\2DDdd\4\2EEee\4\2FFff\4"+ - "\2GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4\2LLll\4\2MMmm\4\2NNnn\4\2OOo"+ - "o\4\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4\2TTtt\4\2UUuu\4\2VVvv\4\2WWww\4\2"+ - "XXxx\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\||\7\2&&\62;C\\aac|\6\2&&C\\aac|\3"+ - "\2bb\4\2$$^^\4\2))^^\3\2\62;\5\2\62;CHch\2\u03f3\2\3\3\2\2\2\2\5\3\2\2"+ - "\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17\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\31\3\2\2\2\2\33\3\2"+ - "\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2\2\2%\3\2\2\2\2\'\3"+ - "\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\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\29\3\2\2\2\2;\3\2\2\2\2=\3\2\2\2\2?\3"+ - "\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2\2I\3\2\2\2\2K\3\2\2"+ - "\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2\2\2\2W\3\2\2\2\2"+ - "Y\3\2\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3\2\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3"+ - "\2\2\2\2g\3\2\2\2\2i\3\2\2\2\2k\3\2\2\2\2m\3\2\2\2\2o\3\2\2\2\2q\3\2\2"+ - "\2\2s\3\2\2\2\2u\3\2\2\2\2w\3\2\2\2\2y\3\2\2\2\2{\3\2\2\2\2}\3\2\2\2\2"+ - "\177\3\2\2\2\2\u0081\3\2\2\2\2\u0083\3\2\2\2\2\u0085\3\2\2\2\2\u0087\3"+ - "\2\2\2\2\u0089\3\2\2\2\2\u008b\3\2\2\2\2\u008d\3\2\2\2\2\u008f\3\2\2\2"+ - "\2\u0091\3\2\2\2\2\u0093\3\2\2\2\2\u0095\3\2\2\2\2\u0097\3\2\2\2\2\u0099"+ - "\3\2\2\2\2\u009b\3\2\2\2\2\u009d\3\2\2\2\2\u00d3\3\2\2\2\2\u00d5\3\2\2"+ - "\2\2\u00d7\3\2\2\2\2\u00d9\3\2\2\2\2\u00db\3\2\2\2\2\u00dd\3\2\2\2\2\u00df"+ - "\3\2\2\2\3\u00e1\3\2\2\2\5\u00e4\3\2\2\2\7\u00e7\3\2\2\2\t\u00e9\3\2\2"+ - "\2\13\u00eb\3\2\2\2\r\u00ed\3\2\2\2\17\u00ef\3\2\2\2\21\u00f2\3\2\2\2"+ - "\23\u00f5\3\2\2\2\25\u00f7\3\2\2\2\27\u00f9\3\2\2\2\31\u00fb\3\2\2\2\33"+ - "\u00fd\3\2\2\2\35\u00ff\3\2\2\2\37\u0101\3\2\2\2!\u0103\3\2\2\2#\u0105"+ - "\3\2\2\2%\u0107\3\2\2\2\'\u010a\3\2\2\2)\u010e\3\2\2\2+\u0111\3\2\2\2"+ - "-\u0117\3\2\2\2/\u0119\3\2\2\2\61\u011b\3\2\2\2\63\u011e\3\2\2\2\65\u0120"+ - "\3\2\2\2\67\u0123\3\2\2\29\u0125\3\2\2\2;\u0127\3\2\2\2=\u0129\3\2\2\2"+ - "?\u012b\3\2\2\2A\u012d\3\2\2\2C\u012f\3\2\2\2E\u0131\3\2\2\2G\u0133\3"+ - "\2\2\2I\u0135\3\2\2\2K\u0137\3\2\2\2M\u0139\3\2\2\2O\u013b\3\2\2\2Q\u013d"+ - "\3\2\2\2S\u013f\3\2\2\2U\u0143\3\2\2\2W\u0146\3\2\2\2Y\u014c\3\2\2\2["+ - "\u0151\3\2\2\2]\u0157\3\2\2\2_\u015e\3\2\2\2a\u0164\3\2\2\2c\u0169\3\2"+ - "\2\2e\u016e\3\2\2\2g\u0173\3\2\2\2i\u0178\3\2\2\2k\u017d\3\2\2\2m\u0182"+ - "\3\2\2\2o\u0187\3\2\2\2q\u0192\3\2\2\2s\u0199\3\2\2\2u\u019f\3\2\2\2w"+ - "\u01a5\3\2\2\2y\u01ad\3\2\2\2{\u01b0\3\2\2\2}\u01b7\3\2\2\2\177\u01bd"+ - "\3\2\2\2\u0081\u01c1\3\2\2\2\u0083\u01c5\3\2\2\2\u0085\u01d9\3\2\2\2\u0087"+ - "\u01ea\3\2\2\2\u0089\u01fe\3\2\2\2\u008b\u020f\3\2\2\2\u008d\u0229\3\2"+ - "\2\2\u008f\u0242\3\2\2\2\u0091\u026a\3\2\2\2\u0093\u0292\3\2\2\2\u0095"+ - "\u02b1\3\2\2\2\u0097\u02ca\3\2\2\2\u0099\u02ed\3\2\2\2\u009b\u030a\3\2"+ - "\2\2\u009d\u0321\3\2\2\2\u009f\u034c\3\2\2\2\u00a1\u034e\3\2\2\2\u00a3"+ - "\u0350\3\2\2\2\u00a5\u0352\3\2\2\2\u00a7\u0354\3\2\2\2\u00a9\u0356\3\2"+ - "\2\2\u00ab\u0358\3\2\2\2\u00ad\u035a\3\2\2\2\u00af\u035c\3\2\2\2\u00b1"+ - "\u035e\3\2\2\2\u00b3\u0360\3\2\2\2\u00b5\u0362\3\2\2\2\u00b7\u0364\3\2"+ - "\2\2\u00b9\u0366\3\2\2\2\u00bb\u0368\3\2\2\2\u00bd\u036a\3\2\2\2\u00bf"+ - "\u036c\3\2\2\2\u00c1\u036e\3\2\2\2\u00c3\u0370\3\2\2\2\u00c5\u0372\3\2"+ - "\2\2\u00c7\u0374\3\2\2\2\u00c9\u0376\3\2\2\2\u00cb\u0378\3\2\2\2\u00cd"+ - "\u037a\3\2\2\2\u00cf\u037c\3\2\2\2\u00d1\u037e\3\2\2\2\u00d3\u0399\3\2"+ - "\2\2\u00d5\u03b5\3\2\2\2\u00d7\u03b8\3\2\2\2\u00d9\u03bc\3\2\2\2\u00db"+ - "\u03bf\3\2\2\2\u00dd\u03df\3\2\2\2\u00df\u03f2\3\2\2\2\u00e1\u00e2\7("+ - "\2\2\u00e2\u00e3\7(\2\2\u00e3\4\3\2\2\2\u00e4\u00e5\7~\2\2\u00e5\u00e6"+ - "\7~\2\2\u00e6\6\3\2\2\2\u00e7\u00e8\7#\2\2\u00e8\b\3\2\2\2\u00e9\u00ea"+ - "\7\u0080\2\2\u00ea\n\3\2\2\2\u00eb\u00ec\7~\2\2\u00ec\f\3\2\2\2\u00ed"+ - "\u00ee\7(\2\2\u00ee\16\3\2\2\2\u00ef\u00f0\7>\2\2\u00f0\u00f1\7>\2\2\u00f1"+ - "\20\3\2\2\2\u00f2\u00f3\7@\2\2\u00f3\u00f4\7@\2\2\u00f4\22\3\2\2\2\u00f5"+ - "\u00f6\7`\2\2\u00f6\24\3\2\2\2\u00f7\u00f8\7\'\2\2\u00f8\26\3\2\2\2\u00f9"+ - "\u00fa\7<\2\2\u00fa\30\3\2\2\2\u00fb\u00fc\7-\2\2\u00fc\32\3\2\2\2\u00fd"+ - "\u00fe\7/\2\2\u00fe\34\3\2\2\2\u00ff\u0100\7,\2\2\u0100\36\3\2\2\2\u0101"+ - "\u0102\7\61\2\2\u0102 \3\2\2\2\u0103\u0104\7^\2\2\u0104\"\3\2\2\2\u0105"+ - "\u0106\7\60\2\2\u0106$\3\2\2\2\u0107\u0108\7\60\2\2\u0108\u0109\7,\2\2"+ - "\u0109&\3\2\2\2\u010a\u010b\7>\2\2\u010b\u010c\7?\2\2\u010c\u010d\7@\2"+ - "\2\u010d(\3\2\2\2\u010e\u010f\7?\2\2\u010f\u0110\7?\2\2\u0110*\3\2\2\2"+ - "\u0111\u0112\7?\2\2\u0112,\3\2\2\2\u0113\u0114\7>\2\2\u0114\u0118\7@\2"+ - "\2\u0115\u0116\7#\2\2\u0116\u0118\7?\2\2\u0117\u0113\3\2\2\2\u0117\u0115"+ - "\3\2\2\2\u0118.\3\2\2\2\u0119\u011a\7@\2\2\u011a\60\3\2\2\2\u011b\u011c"+ - "\7@\2\2\u011c\u011d\7?\2\2\u011d\62\3\2\2\2\u011e\u011f\7>\2\2\u011f\64"+ - "\3\2\2\2\u0120\u0121\7>\2\2\u0121\u0122\7?\2\2\u0122\66\3\2\2\2\u0123"+ - "\u0124\7%\2\2\u01248\3\2\2\2\u0125\u0126\7*\2\2\u0126:\3\2\2\2\u0127\u0128"+ - "\7+\2\2\u0128<\3\2\2\2\u0129\u012a\7}\2\2\u012a>\3\2\2\2\u012b\u012c\7"+ - "\177\2\2\u012c@\3\2\2\2\u012d\u012e\7]\2\2\u012eB\3\2\2\2\u012f\u0130"+ - "\7_\2\2\u0130D\3\2\2\2\u0131\u0132\7.\2\2\u0132F\3\2\2\2\u0133\u0134\7"+ - "$\2\2\u0134H\3\2\2\2\u0135\u0136\7)\2\2\u0136J\3\2\2\2\u0137\u0138\7b"+ - "\2\2\u0138L\3\2\2\2\u0139\u013a\7A\2\2\u013aN\3\2\2\2\u013b\u013c\7B\2"+ - "\2\u013cP\3\2\2\2\u013d\u013e\7=\2\2\u013eR\3\2\2\2\u013f\u0140\7/\2\2"+ - "\u0140\u0141\7@\2\2\u0141\u0142\7@\2\2\u0142T\3\2\2\2\u0143\u0144\7a\2"+ - "\2\u0144V\3\2\2\2\u0145\u0147\t\2\2\2\u0146\u0145\3\2\2\2\u0147\u0148"+ - "\3\2\2\2\u0148\u0146\3\2\2\2\u0148\u0149\3\2\2\2\u0149\u014a\3\2\2\2\u014a"+ - "\u014b\b,\2\2\u014bX\3\2\2\2\u014c\u014d\5\u00c5c\2\u014d\u014e\5\u00c1"+ - "a\2\u014e\u014f\5\u00c7d\2\u014f\u0150\5\u00a7T\2\u0150Z\3\2\2\2\u0151"+ - "\u0152\5\u00a9U\2\u0152\u0153\5\u009fP\2\u0153\u0154\5\u00b5[\2\u0154"+ - "\u0155\5\u00c3b\2\u0155\u0156\5\u00a7T\2\u0156\\\3\2\2\2\u0157\u0158\5"+ - "\u00a3R\2\u0158\u0159\5\u00c1a\2\u0159\u015a\5\u00a7T\2\u015a\u015b\5"+ - "\u009fP\2\u015b\u015c\5\u00c5c\2\u015c\u015d\5\u00a7T\2\u015d^\3\2\2\2"+ - "\u015e\u015f\5\u009fP\2\u015f\u0160\5\u00b5[\2\u0160\u0161\5\u00c5c\2"+ - "\u0161\u0162\5\u00a7T\2\u0162\u0163\5\u00c1a\2\u0163`\3\2\2\2\u0164\u0165"+ - "\5\u00a5S\2\u0165\u0166\5\u00c1a\2\u0166\u0167\5\u00bb^\2\u0167\u0168"+ - "\5\u00bd_\2\u0168b\3\2\2\2\u0169\u016a\5\u00c3b\2\u016a\u016b\5\u00ad"+ - "W\2\u016b\u016c\5\u00bb^\2\u016c\u016d\5\u00cbf\2\u016dd\3\2\2\2\u016e"+ - "\u016f\5\u00c1a\2\u016f\u0170\5\u00c7d\2\u0170\u0171\5\u00b5[\2\u0171"+ - "\u0172\5\u00a7T\2\u0172f\3\2\2\2\u0173\u0174\5\u00a9U\2\u0174\u0175\5"+ - "\u00c1a\2\u0175\u0176\5\u00bb^\2\u0176\u0177\5\u00b7\\\2\u0177h\3\2\2"+ - "\2\u0178\u0179\5\u00b7\\\2\u0179\u017a\5\u009fP\2\u017a\u017b\5\u00c3"+ - "b\2\u017b\u017c\5\u00b3Z\2\u017cj\3\2\2\2\u017d\u017e\5\u00c5c\2\u017e"+ - "\u017f\5\u00cfh\2\u017f\u0180\5\u00bd_\2\u0180\u0181\5\u00a7T\2\u0181"+ - "l\3\2\2\2\u0182\u0183\5\u00b9]\2\u0183\u0184\5\u009fP\2\u0184\u0185\5"+ - "\u00b7\\\2\u0185\u0186\5\u00a7T\2\u0186n\3\2\2\2\u0187\u0188\5\u00bd_"+ - "\2\u0188\u0189\5\u00c1a\2\u0189\u018a\5\u00bb^\2\u018a\u018b\5\u00bd_"+ - "\2\u018b\u018c\5\u00a7T\2\u018c\u018d\5\u00c1a\2\u018d\u018e\5\u00c5c"+ - "\2\u018e\u018f\5\u00afX\2\u018f\u0190\5\u00a7T\2\u0190\u0191\5\u00c3b"+ - "\2\u0191p\3\2\2\2\u0192\u0193\5\u00a3R\2\u0193\u0194\5\u00bb^\2\u0194"+ - "\u0195\5\u00b5[\2\u0195\u0196\5\u00c7d\2\u0196\u0197\5\u00b7\\\2\u0197"+ - "\u0198\5\u00b9]\2\u0198r\3\2\2\2\u0199\u019a\5\u00c1a\2\u019a\u019b\5"+ - "\u00c7d\2\u019b\u019c\5\u00b5[\2\u019c\u019d\5\u00a7T\2\u019d\u019e\5"+ - "\u00c3b\2\u019et\3\2\2\2\u019f\u01a0\5\u00c5c\2\u01a0\u01a1\5\u009fP\2"+ - "\u01a1\u01a2\5\u00a1Q\2\u01a2\u01a3\5\u00b5[\2\u01a3\u01a4\5\u00a7T\2"+ - "\u01a4v\3\2\2\2\u01a5\u01a6\5\u00a3R\2\u01a6\u01a7\5\u00bb^\2\u01a7\u01a8"+ - "\5\u00b5[\2\u01a8\u01a9\5\u00c7d\2\u01a9\u01aa\5\u00b7\\\2\u01aa\u01ab"+ - "\5\u00b9]\2\u01ab\u01ac\5\u00c3b\2\u01acx\3\2\2\2\u01ad\u01ae\5\u00af"+ - "X\2\u01ae\u01af\5\u00a9U\2\u01afz\3\2\2\2\u01b0\u01b1\5\u00a7T\2\u01b1"+ - "\u01b2\5\u00cdg\2\u01b2\u01b3\5\u00afX\2\u01b3\u01b4\5\u00c3b\2\u01b4"+ - "\u01b5\5\u00c5c\2\u01b5\u01b6\5\u00c3b\2\u01b6|\3\2\2\2\u01b7\u01b8\5"+ - "\u00a3R\2\u01b8\u01b9\5\u00bb^\2\u01b9\u01ba\5\u00c7d\2\u01ba\u01bb\5"+ - "\u00b9]\2\u01bb\u01bc\5\u00c5c\2\u01bc~\3\2\2\2\u01bd\u01be\5\u00b9]\2"+ - "\u01be\u01bf\5\u00bb^\2\u01bf\u01c0\5\u00c5c\2\u01c0\u0080\3\2\2\2\u01c1"+ - "\u01c2\5\u00b7\\\2\u01c2\u01c3\5\u00a5S\2\u01c3\u01c4\t\3\2\2\u01c4\u0082"+ - "\3\2\2\2\u01c5\u01c6\5\u00b3Z\2\u01c6\u01c7\5\u00a7T\2\u01c7\u01c8\5\u00a7"+ - "T\2\u01c8\u01c9\5\u00bd_\2\u01c9\u01ca\5U+\2\u01ca\u01cb\5\u00a9U\2\u01cb"+ - "\u01cc\5\u00afX\2\u01cc\u01cd\5\u00c1a\2\u01cd\u01ce\5\u00c3b\2\u01ce"+ - "\u01cf\5\u00c5c\2\u01cf\u01d0\5U+\2\u01d0\u01d1\5\u00b9]\2\u01d1\u01d2"+ - "\5U+\2\u01d2\u01d3\5\u00b5[\2\u01d3\u01d4\5\u009fP\2\u01d4\u01d5\5\u00c3"+ - "b\2\u01d5\u01d6\5\u00c5c\2\u01d6\u01d7\5U+\2\u01d7\u01d8\5\u00b7\\\2\u01d8"+ - "\u0084\3\2\2\2\u01d9\u01da\5\u00b3Z\2\u01da\u01db\5\u00a7T\2\u01db\u01dc"+ - "\5\u00a7T\2\u01dc\u01dd\5\u00bd_\2\u01dd\u01de\5U+\2\u01de\u01df\5\u00a9"+ - "U\2\u01df\u01e0\5\u00c1a\2\u01e0\u01e1\5\u00bb^\2\u01e1\u01e2\5\u00b7"+ - "\\\2\u01e2\u01e3\5U+\2\u01e3\u01e4\5\u00cdg\2\u01e4\u01e5\5U+\2\u01e5"+ - "\u01e6\5\u00c5c\2\u01e6\u01e7\5\u00bb^\2\u01e7\u01e8\5U+\2\u01e8\u01e9"+ - "\5\u00cfh\2\u01e9\u0086\3\2\2\2\u01ea\u01eb\5\u00b7\\\2\u01eb\u01ec\5"+ - "\u009fP\2\u01ec\u01ed\5\u00c3b\2\u01ed\u01ee\5\u00b3Z\2\u01ee\u01ef\5"+ - "U+\2\u01ef\u01f0\5\u00a9U\2\u01f0\u01f1\5\u00afX\2\u01f1\u01f2\5\u00c1"+ - "a\2\u01f2\u01f3\5\u00c3b\2\u01f3\u01f4\5\u00c5c\2\u01f4\u01f5\5U+\2\u01f5"+ - "\u01f6\5\u00b9]\2\u01f6\u01f7\5U+\2\u01f7\u01f8\5\u00b5[\2\u01f8\u01f9"+ - "\5\u009fP\2\u01f9\u01fa\5\u00c3b\2\u01fa\u01fb\5\u00c5c\2\u01fb\u01fc"+ - "\5U+\2\u01fc\u01fd\5\u00b7\\\2\u01fd\u0088\3\2\2\2\u01fe\u01ff\5\u00b7"+ - "\\\2\u01ff\u0200\5\u009fP\2\u0200\u0201\5\u00c3b\2\u0201\u0202\5\u00b3"+ - "Z\2\u0202\u0203\5U+\2\u0203\u0204\5\u00a9U\2\u0204\u0205\5\u00c1a\2\u0205"+ - "\u0206\5\u00bb^\2\u0206\u0207\5\u00b7\\\2\u0207\u0208\5U+\2\u0208\u0209"+ - "\5\u00cdg\2\u0209\u020a\5U+\2\u020a\u020b\5\u00c5c\2\u020b\u020c\5\u00bb"+ - "^\2\u020c\u020d\5U+\2\u020d\u020e\5\u00cfh\2\u020e\u008a\3\2\2\2\u020f"+ - "\u0210\5\u00b7\\\2\u0210\u0211\5\u009fP\2\u0211\u0212\5\u00c3b\2\u0212"+ - "\u0213\5\u00b3Z\2\u0213\u0214\5U+\2\u0214\u0215\5\u00a1Q\2\u0215\u0216"+ - "\5\u00a7T\2\u0216\u0217\5\u00a9U\2\u0217\u0218\5\u00bb^\2\u0218\u0219"+ - "\5\u00c1a\2\u0219\u021a\5\u00a7T\2\u021a\u021b\5U+\2\u021b\u021c\5\u00c3"+ - "b\2\u021c\u021d\5\u00bd_\2\u021d\u021e\5\u00a7T\2\u021e\u021f\5\u00a3"+ - "R\2\u021f\u0220\5\u00afX\2\u0220\u0221\5\u009fP\2\u0221\u0222\5\u00b5"+ - "[\2\u0222\u0223\5U+\2\u0223\u0224\5\u00a3R\2\u0224\u0225\5\u00adW\2\u0225"+ - "\u0226\5\u009fP\2\u0226\u0227\5\u00c1a\2\u0227\u0228\5\u00c3b\2\u0228"+ - "\u008c\3\2\2\2\u0229\u022a\5\u00b7\\\2\u022a\u022b\5\u009fP\2\u022b\u022c"+ - "\5\u00c3b\2\u022c\u022d\5\u00b3Z\2\u022d\u022e\5U+\2\u022e\u022f\5\u009f"+ - "P\2\u022f\u0230\5\u00a9U\2\u0230\u0231\5\u00c5c\2\u0231\u0232\5\u00a7"+ - "T\2\u0232\u0233\5\u00c1a\2\u0233\u0234\5U+\2\u0234\u0235\5\u00c3b\2\u0235"+ - "\u0236\5\u00bd_\2\u0236\u0237\5\u00a7T\2\u0237\u0238\5\u00a3R\2\u0238"+ - "\u0239\5\u00afX\2\u0239\u023a\5\u009fP\2\u023a\u023b\5\u00b5[\2\u023b"+ - "\u023c\5U+\2\u023c\u023d\5\u00a3R\2\u023d\u023e\5\u00adW\2\u023e\u023f"+ - "\5\u009fP\2\u023f\u0240\5\u00c1a\2\u0240\u0241\5\u00c3b\2\u0241\u008e"+ - "\3\2\2\2\u0242\u0243\5\u00bd_\2\u0243\u0244\5\u00a7T\2\u0244\u0245\5\u00c1"+ - "a\2\u0245\u0246\5\u00c3b\2\u0246\u0247\5\u00bb^\2\u0247\u0248\5\u00b9"+ - "]\2\u0248\u0249\5\u009fP\2\u0249\u024a\5\u00b5[\2\u024a\u024b\5U+\2\u024b"+ - "\u024c\5\u00afX\2\u024c\u024d\5\u00a5S\2\u024d\u024e\5\u00a7T\2\u024e"+ - "\u024f\5\u00b9]\2\u024f\u0250\5\u00c5c\2\u0250\u0251\5\u00afX\2\u0251"+ - "\u0252\5\u00c5c\2\u0252\u0253\5\u00cfh\2\u0253\u0254\5U+\2\u0254\u0255"+ - "\5\u00b9]\2\u0255\u0256\5\u00c7d\2\u0256\u0257\5\u00b7\\\2\u0257\u0258"+ - "\5\u00a1Q\2\u0258\u0259\5\u00a7T\2\u0259\u025a\5\u00c1a\2\u025a\u025b"+ - "\5U+\2\u025b\u025c\5\u00c1a\2\u025c\u025d\5\u009fP\2\u025d\u025e\5\u00b9"+ - "]\2\u025e\u025f\5\u00a5S\2\u025f\u0260\5\u00bb^\2\u0260\u0261\5\u00b7"+ - "\\\2\u0261\u0262\5U+\2\u0262\u0263\5\u00c1a\2\u0263\u0264\5\u00a7T\2\u0264"+ - "\u0265\5\u00bd_\2\u0265\u0266\5\u00b5[\2\u0266\u0267\5\u009fP\2\u0267"+ - "\u0268\5\u00a3R\2\u0268\u0269\5\u00a7T\2\u0269\u0090\3\2\2\2\u026a\u026b"+ - "\5\u00b7\\\2\u026b\u026c\5\u00afX\2\u026c\u026d\5\u00b5[\2\u026d\u026e"+ - "\5\u00afX\2\u026e\u026f\5\u00c5c\2\u026f\u0270\5\u009fP\2\u0270\u0271"+ - "\5\u00c1a\2\u0271\u0272\5\u00cfh\2\u0272\u0273\5U+\2\u0273\u0274\5\u00af"+ - "X\2\u0274\u0275\5\u00a5S\2\u0275\u0276\5\u00a7T\2\u0276\u0277\5\u00b9"+ - "]\2\u0277\u0278\5\u00c5c\2\u0278\u0279\5\u00afX\2\u0279\u027a\5\u00c5"+ - "c\2\u027a\u027b\5\u00cfh\2\u027b\u027c\5U+\2\u027c\u027d\5\u00b9]\2\u027d"+ - "\u027e\5\u00c7d\2\u027e\u027f\5\u00b7\\\2\u027f\u0280\5\u00a1Q\2\u0280"+ - "\u0281\5\u00a7T\2\u0281\u0282\5\u00c1a\2\u0282\u0283\5U+\2\u0283\u0284"+ - "\5\u00c1a\2\u0284\u0285\5\u009fP\2\u0285\u0286\5\u00b9]\2\u0286\u0287"+ - "\5\u00a5S\2\u0287\u0288\5\u00bb^\2\u0288\u0289\5\u00b7\\\2\u0289\u028a"+ - "\5U+\2\u028a\u028b\5\u00c1a\2\u028b\u028c\5\u00a7T\2\u028c\u028d\5\u00bd"+ - "_\2\u028d\u028e\5\u00b5[\2\u028e\u028f\5\u009fP\2\u028f\u0290\5\u00a3"+ - "R\2\u0290\u0291\5\u00a7T\2\u0291\u0092\3\2\2\2\u0292\u0293\5\u00b5[\2"+ - "\u0293\u0294\5\u009fP\2\u0294\u0295\5\u00b9]\2\u0295\u0296\5\u00a5S\2"+ - "\u0296\u0297\5\u00b5[\2\u0297\u0298\5\u00afX\2\u0298\u0299\5\u00b9]\2"+ - "\u0299\u029a\5\u00a7T\2\u029a\u029b\5U+\2\u029b\u029c\5\u00b9]\2\u029c"+ - "\u029d\5\u00c7d\2\u029d\u029e\5\u00b7\\\2\u029e\u029f\5\u00a1Q\2\u029f"+ - "\u02a0\5\u00a7T\2\u02a0\u02a1\5\u00c1a\2\u02a1\u02a2\5U+\2\u02a2\u02a3"+ - "\5\u00c1a\2\u02a3\u02a4\5\u009fP\2\u02a4\u02a5\5\u00b9]\2\u02a5\u02a6"+ - "\5\u00a5S\2\u02a6\u02a7\5\u00bb^\2\u02a7\u02a8\5\u00b7\\\2\u02a8\u02a9"+ - "\5U+\2\u02a9\u02aa\5\u00c1a\2\u02aa\u02ab\5\u00a7T\2\u02ab\u02ac\5\u00bd"+ - "_\2\u02ac\u02ad\5\u00b5[\2\u02ad\u02ae\5\u009fP\2\u02ae\u02af\5\u00a3"+ - "R\2\u02af\u02b0\5\u00a7T\2\u02b0\u0094\3\2\2\2\u02b1\u02b2\5\u00c5c\2"+ - "\u02b2\u02b3\5\u00a7T\2\u02b3\u02b4\5\u00b5[\2\u02b4\u02b5\5\u00a7T\2"+ - "\u02b5\u02b6\5\u00bd_\2\u02b6\u02b7\5\u00adW\2\u02b7\u02b8\5\u00bb^\2"+ - "\u02b8\u02b9\5\u00b9]\2\u02b9\u02ba\5\u00a7T\2\u02ba\u02bb\5U+\2\u02bb"+ - "\u02bc\5\u00c1a\2\u02bc\u02bd\5\u009fP\2\u02bd\u02be\5\u00b9]\2\u02be"+ - "\u02bf\5\u00a5S\2\u02bf\u02c0\5\u00bb^\2\u02c0\u02c1\5\u00b7\\\2\u02c1"+ - "\u02c2\5U+\2\u02c2\u02c3\5\u00c1a\2\u02c3\u02c4\5\u00a7T\2\u02c4\u02c5"+ - "\5\u00bd_\2\u02c5\u02c6\5\u00b5[\2\u02c6\u02c7\5\u009fP\2\u02c7\u02c8"+ - "\5\u00a3R\2\u02c8\u02c9\5\u00a7T\2\u02c9\u0096\3\2\2\2\u02ca\u02cb\5\u00c7"+ - "d\2\u02cb\u02cc\5\u00b9]\2\u02cc\u02cd\5\u00afX\2\u02cd\u02ce\5\u00a9"+ - "U\2\u02ce\u02cf\5\u00afX\2\u02cf\u02d0\5\u00a7T\2\u02d0\u02d1\5\u00a5"+ - "S\2\u02d1\u02d2\5U+\2\u02d2\u02d3\5\u00a3R\2\u02d3\u02d4\5\u00c1a\2\u02d4"+ - "\u02d5\5\u00a7T\2\u02d5\u02d6\5\u00a5S\2\u02d6\u02d7\5\u00afX\2\u02d7"+ - "\u02d8\5\u00c5c\2\u02d8\u02d9\5U+\2\u02d9\u02da\5\u00a3R\2\u02da\u02db"+ - "\5\u00bb^\2\u02db\u02dc\5\u00a5S\2\u02dc\u02dd\5\u00a7T\2\u02dd\u02de"+ - "\5U+\2\u02de\u02df\5\u00c1a\2\u02df\u02e0\5\u009fP\2\u02e0\u02e1\5\u00b9"+ - "]\2\u02e1\u02e2\5\u00a5S\2\u02e2\u02e3\5\u00bb^\2\u02e3\u02e4\5\u00b7"+ - "\\\2\u02e4\u02e5\5U+\2\u02e5\u02e6\5\u00c1a\2\u02e6\u02e7\5\u00a7T\2\u02e7"+ - "\u02e8\5\u00bd_\2\u02e8\u02e9\5\u00b5[\2\u02e9\u02ea\5\u009fP\2\u02ea"+ - "\u02eb\5\u00a3R\2\u02eb\u02ec\5\u00a7T\2\u02ec\u0098\3\2\2\2\u02ed\u02ee"+ - "\5\u00abV\2\u02ee\u02ef\5\u00a7T\2\u02ef\u02f0\5\u00b9]\2\u02f0\u02f1"+ - "\5\u00a7T\2\u02f1\u02f2\5\u00c1a\2\u02f2\u02f3\5\u00afX\2\u02f3\u02f4"+ - "\5\u00a3R\2\u02f4\u02f5\5U+\2\u02f5\u02f6\5\u00c5c\2\u02f6\u02f7\5\u009f"+ - "P\2\u02f7\u02f8\5\u00a1Q\2\u02f8\u02f9\5\u00b5[\2\u02f9\u02fa\5\u00a7"+ - "T\2\u02fa\u02fb\5U+\2\u02fb\u02fc\5\u00c1a\2\u02fc\u02fd\5\u009fP\2\u02fd"+ - "\u02fe\5\u00b9]\2\u02fe\u02ff\5\u00a5S\2\u02ff\u0300\5\u00bb^\2\u0300"+ - "\u0301\5\u00b7\\\2\u0301\u0302\5U+\2\u0302\u0303\5\u00c1a\2\u0303\u0304"+ - "\5\u00a7T\2\u0304\u0305\5\u00bd_\2\u0305\u0306\5\u00b5[\2\u0306\u0307"+ - "\5\u009fP\2\u0307\u0308\5\u00a3R\2\u0308\u0309\5\u00a7T\2\u0309\u009a"+ - "\3\2\2\2\u030a\u030b\5\u009fP\2\u030b\u030c\5\u00a5S\2\u030c\u030d\5\u00a5"+ - "S\2\u030d\u030e\5\u00c1a\2\u030e\u030f\5\u00a7T\2\u030f\u0310\5\u00c3"+ - "b\2\u0310\u0311\5\u00c3b\2\u0311\u0312\5U+\2\u0312\u0313\5\u00c1a\2\u0313"+ - "\u0314\5\u009fP\2\u0314\u0315\5\u00b9]\2\u0315\u0316\5\u00a5S\2\u0316"+ - "\u0317\5\u00bb^\2\u0317\u0318\5\u00b7\\\2\u0318\u0319\5U+\2\u0319\u031a"+ - "\5\u00c1a\2\u031a\u031b\5\u00a7T\2\u031b\u031c\5\u00bd_\2\u031c\u031d"+ - "\5\u00b5[\2\u031d\u031e\5\u009fP\2\u031e\u031f\5\u00a3R\2\u031f\u0320"+ - "\5\u00a7T\2\u0320\u009c\3\2\2\2\u0321\u0322\7F\2\2\u0322\u0323\7Q\2\2"+ - "\u0323\u0324\7\"\2\2\u0324\u0325\7P\2\2\u0325\u0326\7Q\2\2\u0326\u0327"+ - "\7V\2\2\u0327\u0328\7\"\2\2\u0328\u0329\7O\2\2\u0329\u032a\7C\2\2\u032a"+ - "\u032b\7V\2\2\u032b\u032c\7E\2\2\u032c\u032d\7J\2\2\u032d\u032e\7\"\2"+ - "\2\u032e\u032f\7C\2\2\u032f\u0330\7P\2\2\u0330\u0331\7[\2\2\u0331\u0332"+ - "\7\"\2\2\u0332\u0333\7V\2\2\u0333\u0334\7J\2\2\u0334\u0335\7K\2\2\u0335"+ - "\u0336\7P\2\2\u0336\u0337\7I\2\2\u0337\u0338\7.\2\2\u0338\u0339\7\"\2"+ - "\2\u0339\u033a\7L\2\2\u033a\u033b\7W\2\2\u033b\u033c\7U\2\2\u033c\u033d"+ - "\7V\2\2\u033d\u033e\7\"\2\2\u033e\u033f\7H\2\2\u033f\u0340\7Q\2\2\u0340"+ - "\u0341\7T\2\2\u0341\u0342\7\"\2\2\u0342\u0343\7I\2\2\u0343\u0344\7G\2"+ - "\2\u0344\u0345\7P\2\2\u0345\u0346\7G\2\2\u0346\u0347\7T\2\2\u0347\u0348"+ - "\7C\2\2\u0348\u0349\7V\2\2\u0349\u034a\7Q\2\2\u034a\u034b\7T\2\2\u034b"+ - "\u009e\3\2\2\2\u034c\u034d\t\4\2\2\u034d\u00a0\3\2\2\2\u034e\u034f\t\5"+ - "\2\2\u034f\u00a2\3\2\2\2\u0350\u0351\t\6\2\2\u0351\u00a4\3\2\2\2\u0352"+ - "\u0353\t\7\2\2\u0353\u00a6\3\2\2\2\u0354\u0355\t\b\2\2\u0355\u00a8\3\2"+ - "\2\2\u0356\u0357\t\t\2\2\u0357\u00aa\3\2\2\2\u0358\u0359\t\n\2\2\u0359"+ - "\u00ac\3\2\2\2\u035a\u035b\t\13\2\2\u035b\u00ae\3\2\2\2\u035c\u035d\t"+ - "\f\2\2\u035d\u00b0\3\2\2\2\u035e\u035f\t\r\2\2\u035f\u00b2\3\2\2\2\u0360"+ - "\u0361\t\16\2\2\u0361\u00b4\3\2\2\2\u0362\u0363\t\17\2\2\u0363\u00b6\3"+ - "\2\2\2\u0364\u0365\t\20\2\2\u0365\u00b8\3\2\2\2\u0366\u0367\t\21\2\2\u0367"+ - "\u00ba\3\2\2\2\u0368\u0369\t\22\2\2\u0369\u00bc\3\2\2\2\u036a\u036b\t"+ - "\23\2\2\u036b\u00be\3\2\2\2\u036c\u036d\t\24\2\2\u036d\u00c0\3\2\2\2\u036e"+ - "\u036f\t\25\2\2\u036f\u00c2\3\2\2\2\u0370\u0371\t\26\2\2\u0371\u00c4\3"+ - "\2\2\2\u0372\u0373\t\27\2\2\u0373\u00c6\3\2\2\2\u0374\u0375\t\30\2\2\u0375"+ - "\u00c8\3\2\2\2\u0376\u0377\t\31\2\2\u0377\u00ca\3\2\2\2\u0378\u0379\t"+ - "\32\2\2\u0379\u00cc\3\2\2\2\u037a\u037b\t\33\2\2\u037b\u00ce\3\2\2\2\u037c"+ - "\u037d\t\34\2\2\u037d\u00d0\3\2\2\2\u037e\u037f\t\35\2\2\u037f\u00d2\3"+ - "\2\2\2\u0380\u0382\t\36\2\2\u0381\u0380\3\2\2\2\u0382\u0385\3\2\2\2\u0383"+ - "\u0384\3\2\2\2\u0383\u0381\3\2\2\2\u0384\u0387\3\2\2\2\u0385\u0383\3\2"+ - "\2\2\u0386\u0388\t\37\2\2\u0387\u0386\3\2\2\2\u0388\u0389\3\2\2\2\u0389"+ - "\u038a\3\2\2\2\u0389\u0387\3\2\2\2\u038a\u038e\3\2\2\2\u038b\u038d\t\36"+ - "\2\2\u038c\u038b\3\2\2\2\u038d\u0390\3\2\2\2\u038e\u038c\3\2\2\2\u038e"+ - "\u038f\3\2\2\2\u038f\u039a\3\2\2\2\u0390\u038e\3\2\2\2\u0391\u0393\5K"+ - "&\2\u0392\u0394\n \2\2\u0393\u0392\3\2\2\2\u0394\u0395\3\2\2\2\u0395\u0393"+ - "\3\2\2\2\u0395\u0396\3\2\2\2\u0396\u0397\3\2\2\2\u0397\u0398\5K&\2\u0398"+ - "\u039a\3\2\2\2\u0399\u0383\3\2\2\2\u0399\u0391\3\2\2\2\u039a\u00d4\3\2"+ - "\2\2\u039b\u03a3\5G$\2\u039c\u039d\7^\2\2\u039d\u03a2\13\2\2\2\u039e\u039f"+ - "\7$\2\2\u039f\u03a2\7$\2\2\u03a0\u03a2\n!\2\2\u03a1\u039c\3\2\2\2\u03a1"+ - "\u039e\3\2\2\2\u03a1\u03a0\3\2\2\2\u03a2\u03a5\3\2\2\2\u03a3\u03a1\3\2"+ - "\2\2\u03a3\u03a4\3\2\2\2\u03a4\u03a6\3\2\2\2\u03a5\u03a3\3\2\2\2\u03a6"+ - "\u03a7\5G$\2\u03a7\u03b6\3\2\2\2\u03a8\u03b0\5I%\2\u03a9\u03aa\7^\2\2"+ - "\u03aa\u03af\13\2\2\2\u03ab\u03ac\7)\2\2\u03ac\u03af\7)\2\2\u03ad\u03af"+ - "\n\"\2\2\u03ae\u03a9\3\2\2\2\u03ae\u03ab\3\2\2\2\u03ae\u03ad\3\2\2\2\u03af"+ - "\u03b2\3\2\2\2\u03b0\u03ae\3\2\2\2\u03b0\u03b1\3\2\2\2\u03b1\u03b3\3\2"+ - "\2\2\u03b2\u03b0\3\2\2\2\u03b3\u03b4\5I%\2\u03b4\u03b6\3\2\2\2\u03b5\u039b"+ - "\3\2\2\2\u03b5\u03a8\3\2\2\2\u03b6\u00d6\3\2\2\2\u03b7\u03b9\t#\2\2\u03b8"+ - "\u03b7\3\2\2\2\u03b9\u03ba\3\2\2\2\u03ba\u03b8\3\2\2\2\u03ba\u03bb\3\2"+ - "\2\2\u03bb\u00d8\3\2\2\2\u03bc\u03bd\t$\2\2\u03bd\u00da\3\2\2\2\u03be"+ - "\u03c0\5\u00d7l\2\u03bf\u03be\3\2\2\2\u03bf\u03c0\3\2\2\2\u03c0\u03c2"+ - "\3\2\2\2\u03c1\u03c3\5#\22\2\u03c2\u03c1\3\2\2\2\u03c2\u03c3\3\2\2\2\u03c3"+ - "\u03c4\3\2\2\2\u03c4\u03cc\5\u00d7l\2\u03c5\u03c8\5\u00a7T\2\u03c6\u03c9"+ - "\5\31\r\2\u03c7\u03c9\5\33\16\2\u03c8\u03c6\3\2\2\2\u03c8\u03c7\3\2\2"+ - "\2\u03c8\u03c9\3\2\2\2\u03c9\u03ca\3\2\2\2\u03ca\u03cb\5\u00d7l\2\u03cb"+ - "\u03cd\3\2\2\2\u03cc\u03c5\3\2\2\2\u03cc\u03cd\3\2\2\2\u03cd\u00dc\3\2"+ - "\2\2\u03ce\u03cf\7\62\2\2\u03cf\u03d0\7z\2\2\u03d0\u03d2\3\2\2\2\u03d1"+ - "\u03d3\5\u00d9m\2\u03d2\u03d1\3\2\2\2\u03d3\u03d4\3\2\2\2\u03d4\u03d2"+ - "\3\2\2\2\u03d4\u03d5\3\2\2\2\u03d5\u03e0\3\2\2\2\u03d6\u03d7\7Z\2\2\u03d7"+ - "\u03d9\5I%\2\u03d8\u03da\5\u00d9m\2\u03d9\u03d8\3\2\2\2\u03da\u03db\3"+ - "\2\2\2\u03db\u03d9\3\2\2\2\u03db\u03dc\3\2\2\2\u03dc\u03dd\3\2\2\2\u03dd"+ - "\u03de\5I%\2\u03de\u03e0\3\2\2\2\u03df\u03ce\3\2\2\2\u03df\u03d6\3\2\2"+ - "\2\u03e0\u00de\3\2\2\2\u03e1\u03e2\7\62\2\2\u03e2\u03e3\7d\2\2\u03e3\u03e5"+ - "\3\2\2\2\u03e4\u03e6\4\62\63\2\u03e5\u03e4\3\2\2\2\u03e6\u03e7\3\2\2\2"+ - "\u03e7\u03e5\3\2\2\2\u03e7\u03e8\3\2\2\2\u03e8\u03f3\3\2\2\2\u03e9\u03ea"+ - "\5\u00a1Q\2\u03ea\u03ec\5I%\2\u03eb\u03ed\4\62\63\2\u03ec\u03eb\3\2\2"+ - "\2\u03ed\u03ee\3\2\2\2\u03ee\u03ec\3\2\2\2\u03ee\u03ef\3\2\2\2\u03ef\u03f0"+ - "\3\2\2\2\u03f0\u03f1\5I%\2\u03f1\u03f3\3\2\2\2\u03f2\u03e1\3\2\2\2\u03f2"+ - "\u03e9\3\2\2\2\u03f3\u00e0\3\2\2\2\32\2\u0117\u0148\u0383\u0389\u038e"+ - "\u0395\u0399\u03a1\u03a3\u03ae\u03b0\u03b5\u03ba\u03bf\u03c2\u03c8\u03cc"+ - "\u03d4\u03db\u03df\u03e7\u03ee\u03f2\3\b\2\2"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementLexer.tokens b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementLexer.tokens deleted file mode 100644 index 8f82b7ee..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementLexer.tokens +++ /dev/null @@ -1,127 +0,0 @@ -AND_=1 -OR_=2 -NOT_=3 -TILDE_=4 -VERTICALBAR_=5 -AMPERSAND_=6 -SIGNEDLEFTSHIFT_=7 -SIGNEDRIGHTSHIFT_=8 -CARET_=9 -MOD_=10 -COLON_=11 -PLUS_=12 -MINUS_=13 -ASTERISK_=14 -SLASH_=15 -BACKSLASH_=16 -DOT_=17 -DOTASTERISK_=18 -SAFEEQ_=19 -DEQ_=20 -EQ_=21 -NEQ_=22 -GT_=23 -GTE_=24 -LT_=25 -LTE_=26 -POUND_=27 -LP_=28 -RP_=29 -LBE_=30 -RBE_=31 -LBT_=32 -RBT_=33 -COMMA_=34 -DQ_=35 -SQ_=36 -BQ_=37 -QUESTION_=38 -AT_=39 -SEMI_=40 -JSONSEPARATOR_=41 -UL_=42 -WS=43 -TRUE=44 -FALSE=45 -CREATE=46 -ALTER=47 -DROP=48 -SHOW=49 -RULE=50 -FROM=51 -MASK=52 -TYPE=53 -NAME=54 -PROPERTIES=55 -COLUMN=56 -RULES=57 -TABLE=58 -COLUMNS=59 -IF=60 -EXISTS=61 -COUNT=62 -NOT=63 -MD5=64 -KEEP_FIRST_N_LAST_M=65 -KEEP_FROM_X_TO_Y=66 -MASK_FIRST_N_LAST_M=67 -MASK_FROM_X_TO_Y=68 -MASK_BEFORE_SPECIAL_CHARS=69 -MASK_AFTER_SPECIAL_CHARS=70 -PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE=71 -MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE=72 -LANDLINE_NUMBER_RANDOM_REPLACE=73 -TELEPHONE_RANDOM_REPLACE=74 -UNIFIED_CREDIT_CODE_RANDOM_REPLACE=75 -GENERIC_TABLE_RANDOM_REPLACE=76 -ADDRESS_RANDOM_REPLACE=77 -FOR_GENERATOR=78 -IDENTIFIER_=79 -STRING_=80 -INT_=81 -HEX_=82 -NUMBER_=83 -HEXDIGIT_=84 -BITNUM_=85 -'&&'=1 -'||'=2 -'!'=3 -'~'=4 -'|'=5 -'&'=6 -'<<'=7 -'>>'=8 -'^'=9 -'%'=10 -':'=11 -'+'=12 -'-'=13 -'*'=14 -'/'=15 -'\\'=16 -'.'=17 -'.*'=18 -'<=>'=19 -'=='=20 -'='=21 -'>'=23 -'>='=24 -'<'=25 -'<='=26 -'#'=27 -'('=28 -')'=29 -'{'=30 -'}'=31 -'['=32 -']'=33 -','=34 -'"'=35 -'\''=36 -'`'=37 -'?'=38 -'@'=39 -';'=40 -'->>'=41 -'_'=42 -'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=78 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementParser.java b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementParser.java deleted file mode 100644 index c897da04..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/RQLStatementParser.java +++ /dev/null @@ -1,746 +0,0 @@ -// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/mask/RQLStatement.g4 by ANTLR 4.9.2 -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.misc.*; -import org.antlr.v4.runtime.tree.*; -import java.util.List; -import java.util.Iterator; -import java.util.ArrayList; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class RQLStatementParser extends Parser { - static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, - SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, - ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, - DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, - LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, - SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, - WS=43, TRUE=44, FALSE=45, CREATE=46, ALTER=47, DROP=48, SHOW=49, RULE=50, - FROM=51, MASK=52, TYPE=53, NAME=54, PROPERTIES=55, COLUMN=56, RULES=57, - TABLE=58, COLUMNS=59, IF=60, EXISTS=61, COUNT=62, NOT=63, MD5=64, KEEP_FIRST_N_LAST_M=65, - KEEP_FROM_X_TO_Y=66, MASK_FIRST_N_LAST_M=67, MASK_FROM_X_TO_Y=68, MASK_BEFORE_SPECIAL_CHARS=69, - MASK_AFTER_SPECIAL_CHARS=70, PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE=71, - MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE=72, LANDLINE_NUMBER_RANDOM_REPLACE=73, - TELEPHONE_RANDOM_REPLACE=74, UNIFIED_CREDIT_CODE_RANDOM_REPLACE=75, GENERIC_TABLE_RANDOM_REPLACE=76, - ADDRESS_RANDOM_REPLACE=77, FOR_GENERATOR=78, IDENTIFIER_=79, STRING_=80, - INT_=81, HEX_=82, NUMBER_=83, HEXDIGIT_=84, BITNUM_=85; - public static final int - RULE_showMaskRules = 0, RULE_countMaskRule = 1, RULE_databaseName = 2, - RULE_literal = 3, RULE_algorithmDefinition = 4, RULE_algorithmTypeName = 5, - RULE_buildInMaskAlgorithmType = 6, RULE_propertiesDefinition = 7, RULE_properties = 8, - RULE_property = 9, RULE_ruleName = 10; - private static String[] makeRuleNames() { - return new String[] { - "showMaskRules", "countMaskRule", "databaseName", "literal", "algorithmDefinition", - "algorithmTypeName", "buildInMaskAlgorithmType", "propertiesDefinition", - "properties", "property", "ruleName" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", - "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", - "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", - "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", - "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", - "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", - "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", - "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", - "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", - "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", - "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", "FROM", "MASK", "TYPE", - "NAME", "PROPERTIES", "COLUMN", "RULES", "TABLE", "COLUMNS", "IF", "EXISTS", - "COUNT", "NOT", "MD5", "KEEP_FIRST_N_LAST_M", "KEEP_FROM_X_TO_Y", "MASK_FIRST_N_LAST_M", - "MASK_FROM_X_TO_Y", "MASK_BEFORE_SPECIAL_CHARS", "MASK_AFTER_SPECIAL_CHARS", - "PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE", "MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE", - "LANDLINE_NUMBER_RANDOM_REPLACE", "TELEPHONE_RANDOM_REPLACE", "UNIFIED_CREDIT_CODE_RANDOM_REPLACE", - "GENERIC_TABLE_RANDOM_REPLACE", "ADDRESS_RANDOM_REPLACE", "FOR_GENERATOR", - "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - @Override - public String getGrammarFileName() { return "RQLStatement.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public ATN getATN() { return _ATN; } - - public RQLStatementParser(TokenStream input) { - super(input); - _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - public static class ShowMaskRulesContext extends ParserRuleContext { - public TerminalNode SHOW() { return getToken(RQLStatementParser.SHOW, 0); } - public TerminalNode MASK() { return getToken(RQLStatementParser.MASK, 0); } - public TerminalNode RULE() { return getToken(RQLStatementParser.RULE, 0); } - public RuleNameContext ruleName() { - return getRuleContext(RuleNameContext.class,0); - } - public TerminalNode RULES() { return getToken(RQLStatementParser.RULES, 0); } - public TerminalNode TABLE() { return getToken(RQLStatementParser.TABLE, 0); } - public TerminalNode FROM() { return getToken(RQLStatementParser.FROM, 0); } - public DatabaseNameContext databaseName() { - return getRuleContext(DatabaseNameContext.class,0); - } - public ShowMaskRulesContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_showMaskRules; } - } - - public final ShowMaskRulesContext showMaskRules() throws RecognitionException { - ShowMaskRulesContext _localctx = new ShowMaskRulesContext(_ctx, getState()); - enterRule(_localctx, 0, RULE_showMaskRules); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(22); - match(SHOW); - setState(23); - match(MASK); - setState(25); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==TABLE) { - { - setState(24); - match(TABLE); - } - } - - setState(30); - _errHandler.sync(this); - switch (_input.LA(1)) { - case RULE: - { - setState(27); - match(RULE); - setState(28); - ruleName(); - } - break; - case RULES: - { - setState(29); - match(RULES); - } - break; - default: - throw new NoViableAltException(this); - } - setState(34); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==FROM) { - { - setState(32); - match(FROM); - setState(33); - databaseName(); - } - } - - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class CountMaskRuleContext extends ParserRuleContext { - public TerminalNode COUNT() { return getToken(RQLStatementParser.COUNT, 0); } - public TerminalNode MASK() { return getToken(RQLStatementParser.MASK, 0); } - public TerminalNode RULE() { return getToken(RQLStatementParser.RULE, 0); } - public TerminalNode FROM() { return getToken(RQLStatementParser.FROM, 0); } - public DatabaseNameContext databaseName() { - return getRuleContext(DatabaseNameContext.class,0); - } - public CountMaskRuleContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_countMaskRule; } - } - - public final CountMaskRuleContext countMaskRule() throws RecognitionException { - CountMaskRuleContext _localctx = new CountMaskRuleContext(_ctx, getState()); - enterRule(_localctx, 2, RULE_countMaskRule); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(36); - match(COUNT); - setState(37); - match(MASK); - setState(38); - match(RULE); - setState(41); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==FROM) { - { - setState(39); - match(FROM); - setState(40); - databaseName(); - } - } - - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class DatabaseNameContext extends ParserRuleContext { - public TerminalNode IDENTIFIER_() { return getToken(RQLStatementParser.IDENTIFIER_, 0); } - public DatabaseNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_databaseName; } - } - - public final DatabaseNameContext databaseName() throws RecognitionException { - DatabaseNameContext _localctx = new DatabaseNameContext(_ctx, getState()); - enterRule(_localctx, 4, RULE_databaseName); - try { - enterOuterAlt(_localctx, 1); - { - setState(43); - match(IDENTIFIER_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class LiteralContext extends ParserRuleContext { - public TerminalNode STRING_() { return getToken(RQLStatementParser.STRING_, 0); } - public TerminalNode INT_() { return getToken(RQLStatementParser.INT_, 0); } - public TerminalNode MINUS_() { return getToken(RQLStatementParser.MINUS_, 0); } - public TerminalNode TRUE() { return getToken(RQLStatementParser.TRUE, 0); } - public TerminalNode FALSE() { return getToken(RQLStatementParser.FALSE, 0); } - public LiteralContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_literal; } - } - - public final LiteralContext literal() throws RecognitionException { - LiteralContext _localctx = new LiteralContext(_ctx, getState()); - enterRule(_localctx, 6, RULE_literal); - int _la; - try { - setState(52); - _errHandler.sync(this); - switch (_input.LA(1)) { - case STRING_: - enterOuterAlt(_localctx, 1); - { - setState(45); - match(STRING_); - } - break; - case MINUS_: - case INT_: - enterOuterAlt(_localctx, 2); - { - setState(47); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==MINUS_) { - { - setState(46); - match(MINUS_); - } - } - - setState(49); - match(INT_); - } - break; - case TRUE: - enterOuterAlt(_localctx, 3); - { - setState(50); - match(TRUE); - } - break; - case FALSE: - enterOuterAlt(_localctx, 4); - { - setState(51); - match(FALSE); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AlgorithmDefinitionContext extends ParserRuleContext { - public TerminalNode TYPE() { return getToken(RQLStatementParser.TYPE, 0); } - public TerminalNode LP_() { return getToken(RQLStatementParser.LP_, 0); } - public TerminalNode NAME() { return getToken(RQLStatementParser.NAME, 0); } - public TerminalNode EQ_() { return getToken(RQLStatementParser.EQ_, 0); } - public AlgorithmTypeNameContext algorithmTypeName() { - return getRuleContext(AlgorithmTypeNameContext.class,0); - } - public TerminalNode RP_() { return getToken(RQLStatementParser.RP_, 0); } - public TerminalNode COMMA_() { return getToken(RQLStatementParser.COMMA_, 0); } - public PropertiesDefinitionContext propertiesDefinition() { - return getRuleContext(PropertiesDefinitionContext.class,0); - } - public AlgorithmDefinitionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_algorithmDefinition; } - } - - public final AlgorithmDefinitionContext algorithmDefinition() throws RecognitionException { - AlgorithmDefinitionContext _localctx = new AlgorithmDefinitionContext(_ctx, getState()); - enterRule(_localctx, 8, RULE_algorithmDefinition); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(54); - match(TYPE); - setState(55); - match(LP_); - setState(56); - match(NAME); - setState(57); - match(EQ_); - setState(58); - algorithmTypeName(); - setState(61); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==COMMA_) { - { - setState(59); - match(COMMA_); - setState(60); - propertiesDefinition(); - } - } - - setState(63); - match(RP_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AlgorithmTypeNameContext extends ParserRuleContext { - public TerminalNode STRING_() { return getToken(RQLStatementParser.STRING_, 0); } - public BuildInMaskAlgorithmTypeContext buildInMaskAlgorithmType() { - return getRuleContext(BuildInMaskAlgorithmTypeContext.class,0); - } - public AlgorithmTypeNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_algorithmTypeName; } - } - - public final AlgorithmTypeNameContext algorithmTypeName() throws RecognitionException { - AlgorithmTypeNameContext _localctx = new AlgorithmTypeNameContext(_ctx, getState()); - enterRule(_localctx, 10, RULE_algorithmTypeName); - try { - setState(67); - _errHandler.sync(this); - switch (_input.LA(1)) { - case STRING_: - enterOuterAlt(_localctx, 1); - { - setState(65); - match(STRING_); - } - break; - case MD5: - case KEEP_FIRST_N_LAST_M: - case KEEP_FROM_X_TO_Y: - case MASK_FIRST_N_LAST_M: - case MASK_FROM_X_TO_Y: - case MASK_BEFORE_SPECIAL_CHARS: - case MASK_AFTER_SPECIAL_CHARS: - case PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE: - case MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE: - case LANDLINE_NUMBER_RANDOM_REPLACE: - case TELEPHONE_RANDOM_REPLACE: - case UNIFIED_CREDIT_CODE_RANDOM_REPLACE: - case GENERIC_TABLE_RANDOM_REPLACE: - enterOuterAlt(_localctx, 2); - { - setState(66); - buildInMaskAlgorithmType(); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class BuildInMaskAlgorithmTypeContext extends ParserRuleContext { - public TerminalNode MD5() { return getToken(RQLStatementParser.MD5, 0); } - public TerminalNode KEEP_FIRST_N_LAST_M() { return getToken(RQLStatementParser.KEEP_FIRST_N_LAST_M, 0); } - public TerminalNode KEEP_FROM_X_TO_Y() { return getToken(RQLStatementParser.KEEP_FROM_X_TO_Y, 0); } - public TerminalNode MASK_FIRST_N_LAST_M() { return getToken(RQLStatementParser.MASK_FIRST_N_LAST_M, 0); } - public TerminalNode MASK_FROM_X_TO_Y() { return getToken(RQLStatementParser.MASK_FROM_X_TO_Y, 0); } - public TerminalNode MASK_BEFORE_SPECIAL_CHARS() { return getToken(RQLStatementParser.MASK_BEFORE_SPECIAL_CHARS, 0); } - public TerminalNode MASK_AFTER_SPECIAL_CHARS() { return getToken(RQLStatementParser.MASK_AFTER_SPECIAL_CHARS, 0); } - public TerminalNode PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE() { return getToken(RQLStatementParser.PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE, 0); } - public TerminalNode MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE() { return getToken(RQLStatementParser.MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE, 0); } - public TerminalNode LANDLINE_NUMBER_RANDOM_REPLACE() { return getToken(RQLStatementParser.LANDLINE_NUMBER_RANDOM_REPLACE, 0); } - public TerminalNode TELEPHONE_RANDOM_REPLACE() { return getToken(RQLStatementParser.TELEPHONE_RANDOM_REPLACE, 0); } - public TerminalNode UNIFIED_CREDIT_CODE_RANDOM_REPLACE() { return getToken(RQLStatementParser.UNIFIED_CREDIT_CODE_RANDOM_REPLACE, 0); } - public TerminalNode GENERIC_TABLE_RANDOM_REPLACE() { return getToken(RQLStatementParser.GENERIC_TABLE_RANDOM_REPLACE, 0); } - public BuildInMaskAlgorithmTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_buildInMaskAlgorithmType; } - } - - public final BuildInMaskAlgorithmTypeContext buildInMaskAlgorithmType() throws RecognitionException { - BuildInMaskAlgorithmTypeContext _localctx = new BuildInMaskAlgorithmTypeContext(_ctx, getState()); - enterRule(_localctx, 12, RULE_buildInMaskAlgorithmType); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(69); - _la = _input.LA(1); - if ( !(((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (MD5 - 64)) | (1L << (KEEP_FIRST_N_LAST_M - 64)) | (1L << (KEEP_FROM_X_TO_Y - 64)) | (1L << (MASK_FIRST_N_LAST_M - 64)) | (1L << (MASK_FROM_X_TO_Y - 64)) | (1L << (MASK_BEFORE_SPECIAL_CHARS - 64)) | (1L << (MASK_AFTER_SPECIAL_CHARS - 64)) | (1L << (PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE - 64)) | (1L << (MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE - 64)) | (1L << (LANDLINE_NUMBER_RANDOM_REPLACE - 64)) | (1L << (TELEPHONE_RANDOM_REPLACE - 64)) | (1L << (UNIFIED_CREDIT_CODE_RANDOM_REPLACE - 64)) | (1L << (GENERIC_TABLE_RANDOM_REPLACE - 64)))) != 0)) ) { - _errHandler.recoverInline(this); - } - else { - if ( _input.LA(1)==Token.EOF ) matchedEOF = true; - _errHandler.reportMatch(this); - consume(); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PropertiesDefinitionContext extends ParserRuleContext { - public TerminalNode PROPERTIES() { return getToken(RQLStatementParser.PROPERTIES, 0); } - public TerminalNode LP_() { return getToken(RQLStatementParser.LP_, 0); } - public TerminalNode RP_() { return getToken(RQLStatementParser.RP_, 0); } - public PropertiesContext properties() { - return getRuleContext(PropertiesContext.class,0); - } - public PropertiesDefinitionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_propertiesDefinition; } - } - - public final PropertiesDefinitionContext propertiesDefinition() throws RecognitionException { - PropertiesDefinitionContext _localctx = new PropertiesDefinitionContext(_ctx, getState()); - enterRule(_localctx, 14, RULE_propertiesDefinition); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(71); - match(PROPERTIES); - setState(72); - match(LP_); - setState(74); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==STRING_) { - { - setState(73); - properties(); - } - } - - setState(76); - match(RP_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PropertiesContext extends ParserRuleContext { - public List property() { - return getRuleContexts(PropertyContext.class); - } - public PropertyContext property(int i) { - return getRuleContext(PropertyContext.class,i); - } - public List COMMA_() { return getTokens(RQLStatementParser.COMMA_); } - public TerminalNode COMMA_(int i) { - return getToken(RQLStatementParser.COMMA_, i); - } - public PropertiesContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_properties; } - } - - public final PropertiesContext properties() throws RecognitionException { - PropertiesContext _localctx = new PropertiesContext(_ctx, getState()); - enterRule(_localctx, 16, RULE_properties); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(78); - property(); - setState(83); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA_) { - { - { - setState(79); - match(COMMA_); - setState(80); - property(); - } - } - setState(85); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PropertyContext extends ParserRuleContext { - public Token key; - public LiteralContext value; - public TerminalNode EQ_() { return getToken(RQLStatementParser.EQ_, 0); } - public TerminalNode STRING_() { return getToken(RQLStatementParser.STRING_, 0); } - public LiteralContext literal() { - return getRuleContext(LiteralContext.class,0); - } - public PropertyContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_property; } - } - - public final PropertyContext property() throws RecognitionException { - PropertyContext _localctx = new PropertyContext(_ctx, getState()); - enterRule(_localctx, 18, RULE_property); - try { - enterOuterAlt(_localctx, 1); - { - setState(86); - ((PropertyContext)_localctx).key = match(STRING_); - setState(87); - match(EQ_); - setState(88); - ((PropertyContext)_localctx).value = literal(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class RuleNameContext extends ParserRuleContext { - public TerminalNode IDENTIFIER_() { return getToken(RQLStatementParser.IDENTIFIER_, 0); } - public RuleNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_ruleName; } - } - - public final RuleNameContext ruleName() throws RecognitionException { - RuleNameContext _localctx = new RuleNameContext(_ctx, getState()); - enterRule(_localctx, 20, RULE_ruleName); - try { - enterOuterAlt(_localctx, 1); - { - setState(90); - match(IDENTIFIER_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3W_\4\2\t\2\4\3\t\3"+ - "\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\4\f"+ - "\t\f\3\2\3\2\3\2\5\2\34\n\2\3\2\3\2\3\2\5\2!\n\2\3\2\3\2\5\2%\n\2\3\3"+ - "\3\3\3\3\3\3\3\3\5\3,\n\3\3\4\3\4\3\5\3\5\5\5\62\n\5\3\5\3\5\3\5\5\5\67"+ - "\n\5\3\6\3\6\3\6\3\6\3\6\3\6\3\6\5\6@\n\6\3\6\3\6\3\7\3\7\5\7F\n\7\3\b"+ - "\3\b\3\t\3\t\3\t\5\tM\n\t\3\t\3\t\3\n\3\n\3\n\7\nT\n\n\f\n\16\nW\13\n"+ - "\3\13\3\13\3\13\3\13\3\f\3\f\3\f\2\2\r\2\4\6\b\n\f\16\20\22\24\26\2\3"+ - "\3\2BN\2_\2\30\3\2\2\2\4&\3\2\2\2\6-\3\2\2\2\b\66\3\2\2\2\n8\3\2\2\2\f"+ - "E\3\2\2\2\16G\3\2\2\2\20I\3\2\2\2\22P\3\2\2\2\24X\3\2\2\2\26\\\3\2\2\2"+ - "\30\31\7\63\2\2\31\33\7\66\2\2\32\34\7<\2\2\33\32\3\2\2\2\33\34\3\2\2"+ - "\2\34 \3\2\2\2\35\36\7\64\2\2\36!\5\26\f\2\37!\7;\2\2 \35\3\2\2\2 \37"+ - "\3\2\2\2!$\3\2\2\2\"#\7\65\2\2#%\5\6\4\2$\"\3\2\2\2$%\3\2\2\2%\3\3\2\2"+ - "\2&\'\7@\2\2\'(\7\66\2\2(+\7\64\2\2)*\7\65\2\2*,\5\6\4\2+)\3\2\2\2+,\3"+ - "\2\2\2,\5\3\2\2\2-.\7Q\2\2.\7\3\2\2\2/\67\7R\2\2\60\62\7\17\2\2\61\60"+ - "\3\2\2\2\61\62\3\2\2\2\62\63\3\2\2\2\63\67\7S\2\2\64\67\7.\2\2\65\67\7"+ - "/\2\2\66/\3\2\2\2\66\61\3\2\2\2\66\64\3\2\2\2\66\65\3\2\2\2\67\t\3\2\2"+ - "\289\7\67\2\29:\7\36\2\2:;\78\2\2;<\7\27\2\2\7$\2\2>@\5\20"+ - "\t\2?=\3\2\2\2?@\3\2\2\2@A\3\2\2\2AB\7\37\2\2B\13\3\2\2\2CF\7R\2\2DF\5"+ - "\16\b\2EC\3\2\2\2ED\3\2\2\2F\r\3\2\2\2GH\t\2\2\2H\17\3\2\2\2IJ\79\2\2"+ - "JL\7\36\2\2KM\5\22\n\2LK\3\2\2\2LM\3\2\2\2MN\3\2\2\2NO\7\37\2\2O\21\3"+ - "\2\2\2PU\5\24\13\2QR\7$\2\2RT\5\24\13\2SQ\3\2\2\2TW\3\2\2\2US\3\2\2\2"+ - "UV\3\2\2\2V\23\3\2\2\2WU\3\2\2\2XY\7R\2\2YZ\7\27\2\2Z[\5\b\5\2[\25\3\2"+ - "\2\2\\]\7Q\2\2]\27\3\2\2\2\f\33 $+\61\66?ELU"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Symbol.interp b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Symbol.interp deleted file mode 100644 index 16be7873..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Symbol.interp +++ /dev/null @@ -1,143 +0,0 @@ -token literal names: -null -'&&' -'||' -'!' -'~' -'|' -'&' -'<<' -'>>' -'^' -'%' -':' -'+' -'-' -'*' -'/' -'\\' -'.' -'.*' -'<=>' -'==' -'=' -null -'>' -'>=' -'<' -'<=' -'#' -'(' -')' -'{' -'}' -'[' -']' -',' -'"' -'\'' -'`' -'?' -'@' -';' -'->>' -'_' - -token symbolic names: -null -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ - -rule names: -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ - -channel names: -DEFAULT_TOKEN_CHANNEL -HIDDEN - -mode names: -DEFAULT_MODE - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 44, 187, 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, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 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, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 142, 10, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 2, 2, 44, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 3, 2, 2, 2, 187, 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, 3, 87, 3, 2, 2, 2, 5, 90, 3, 2, 2, 2, 7, 93, 3, 2, 2, 2, 9, 95, 3, 2, 2, 2, 11, 97, 3, 2, 2, 2, 13, 99, 3, 2, 2, 2, 15, 101, 3, 2, 2, 2, 17, 104, 3, 2, 2, 2, 19, 107, 3, 2, 2, 2, 21, 109, 3, 2, 2, 2, 23, 111, 3, 2, 2, 2, 25, 113, 3, 2, 2, 2, 27, 115, 3, 2, 2, 2, 29, 117, 3, 2, 2, 2, 31, 119, 3, 2, 2, 2, 33, 121, 3, 2, 2, 2, 35, 123, 3, 2, 2, 2, 37, 125, 3, 2, 2, 2, 39, 128, 3, 2, 2, 2, 41, 132, 3, 2, 2, 2, 43, 135, 3, 2, 2, 2, 45, 141, 3, 2, 2, 2, 47, 143, 3, 2, 2, 2, 49, 145, 3, 2, 2, 2, 51, 148, 3, 2, 2, 2, 53, 150, 3, 2, 2, 2, 55, 153, 3, 2, 2, 2, 57, 155, 3, 2, 2, 2, 59, 157, 3, 2, 2, 2, 61, 159, 3, 2, 2, 2, 63, 161, 3, 2, 2, 2, 65, 163, 3, 2, 2, 2, 67, 165, 3, 2, 2, 2, 69, 167, 3, 2, 2, 2, 71, 169, 3, 2, 2, 2, 73, 171, 3, 2, 2, 2, 75, 173, 3, 2, 2, 2, 77, 175, 3, 2, 2, 2, 79, 177, 3, 2, 2, 2, 81, 179, 3, 2, 2, 2, 83, 181, 3, 2, 2, 2, 85, 185, 3, 2, 2, 2, 87, 88, 7, 40, 2, 2, 88, 89, 7, 40, 2, 2, 89, 4, 3, 2, 2, 2, 90, 91, 7, 126, 2, 2, 91, 92, 7, 126, 2, 2, 92, 6, 3, 2, 2, 2, 93, 94, 7, 35, 2, 2, 94, 8, 3, 2, 2, 2, 95, 96, 7, 128, 2, 2, 96, 10, 3, 2, 2, 2, 97, 98, 7, 126, 2, 2, 98, 12, 3, 2, 2, 2, 99, 100, 7, 40, 2, 2, 100, 14, 3, 2, 2, 2, 101, 102, 7, 62, 2, 2, 102, 103, 7, 62, 2, 2, 103, 16, 3, 2, 2, 2, 104, 105, 7, 64, 2, 2, 105, 106, 7, 64, 2, 2, 106, 18, 3, 2, 2, 2, 107, 108, 7, 96, 2, 2, 108, 20, 3, 2, 2, 2, 109, 110, 7, 39, 2, 2, 110, 22, 3, 2, 2, 2, 111, 112, 7, 60, 2, 2, 112, 24, 3, 2, 2, 2, 113, 114, 7, 45, 2, 2, 114, 26, 3, 2, 2, 2, 115, 116, 7, 47, 2, 2, 116, 28, 3, 2, 2, 2, 117, 118, 7, 44, 2, 2, 118, 30, 3, 2, 2, 2, 119, 120, 7, 49, 2, 2, 120, 32, 3, 2, 2, 2, 121, 122, 7, 94, 2, 2, 122, 34, 3, 2, 2, 2, 123, 124, 7, 48, 2, 2, 124, 36, 3, 2, 2, 2, 125, 126, 7, 48, 2, 2, 126, 127, 7, 44, 2, 2, 127, 38, 3, 2, 2, 2, 128, 129, 7, 62, 2, 2, 129, 130, 7, 63, 2, 2, 130, 131, 7, 64, 2, 2, 131, 40, 3, 2, 2, 2, 132, 133, 7, 63, 2, 2, 133, 134, 7, 63, 2, 2, 134, 42, 3, 2, 2, 2, 135, 136, 7, 63, 2, 2, 136, 44, 3, 2, 2, 2, 137, 138, 7, 62, 2, 2, 138, 142, 7, 64, 2, 2, 139, 140, 7, 35, 2, 2, 140, 142, 7, 63, 2, 2, 141, 137, 3, 2, 2, 2, 141, 139, 3, 2, 2, 2, 142, 46, 3, 2, 2, 2, 143, 144, 7, 64, 2, 2, 144, 48, 3, 2, 2, 2, 145, 146, 7, 64, 2, 2, 146, 147, 7, 63, 2, 2, 147, 50, 3, 2, 2, 2, 148, 149, 7, 62, 2, 2, 149, 52, 3, 2, 2, 2, 150, 151, 7, 62, 2, 2, 151, 152, 7, 63, 2, 2, 152, 54, 3, 2, 2, 2, 153, 154, 7, 37, 2, 2, 154, 56, 3, 2, 2, 2, 155, 156, 7, 42, 2, 2, 156, 58, 3, 2, 2, 2, 157, 158, 7, 43, 2, 2, 158, 60, 3, 2, 2, 2, 159, 160, 7, 125, 2, 2, 160, 62, 3, 2, 2, 2, 161, 162, 7, 127, 2, 2, 162, 64, 3, 2, 2, 2, 163, 164, 7, 93, 2, 2, 164, 66, 3, 2, 2, 2, 165, 166, 7, 95, 2, 2, 166, 68, 3, 2, 2, 2, 167, 168, 7, 46, 2, 2, 168, 70, 3, 2, 2, 2, 169, 170, 7, 36, 2, 2, 170, 72, 3, 2, 2, 2, 171, 172, 7, 41, 2, 2, 172, 74, 3, 2, 2, 2, 173, 174, 7, 98, 2, 2, 174, 76, 3, 2, 2, 2, 175, 176, 7, 65, 2, 2, 176, 78, 3, 2, 2, 2, 177, 178, 7, 66, 2, 2, 178, 80, 3, 2, 2, 2, 179, 180, 7, 61, 2, 2, 180, 82, 3, 2, 2, 2, 181, 182, 7, 47, 2, 2, 182, 183, 7, 64, 2, 2, 183, 184, 7, 64, 2, 2, 184, 84, 3, 2, 2, 2, 185, 186, 7, 97, 2, 2, 186, 86, 3, 2, 2, 2, 4, 2, 141, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Symbol.java b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Symbol.java deleted file mode 100644 index f01bb772..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Symbol.java +++ /dev/null @@ -1,184 +0,0 @@ -// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/mask/Symbol.g4 by ANTLR 4.9.2 -import org.antlr.v4.runtime.Lexer; -import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.TokenStream; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.misc.*; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class Symbol extends Lexer { - static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, - SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, - ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, - DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, - LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, - SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42; - public static String[] channelNames = { - "DEFAULT_TOKEN_CHANNEL", "HIDDEN" - }; - - public static String[] modeNames = { - "DEFAULT_MODE" - }; - - private static String[] makeRuleNames() { - return new String[] { - "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", - "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", - "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", - "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", - "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", - "SEMI_", "JSONSEPARATOR_", "UL_" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", - "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", - "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", - "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", - "';'", "'->>'", "'_'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", - "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", - "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", - "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", - "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", - "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - - public Symbol(CharStream input) { - super(input); - _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - @Override - public String getGrammarFileName() { return "Symbol.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public String[] getChannelNames() { return channelNames; } - - @Override - public String[] getModeNames() { return modeNames; } - - @Override - public ATN getATN() { return _ATN; } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2,\u00bb\b\1\4\2\t"+ - "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ - "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ - "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ - "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ - "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\3"+ - "\2\3\2\3\2\3\3\3\3\3\3\3\4\3\4\3\5\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\t"+ - "\3\t\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3\17\3\17\3\20\3"+ - "\20\3\21\3\21\3\22\3\22\3\23\3\23\3\23\3\24\3\24\3\24\3\24\3\25\3\25\3"+ - "\25\3\26\3\26\3\27\3\27\3\27\3\27\5\27\u008e\n\27\3\30\3\30\3\31\3\31"+ - "\3\31\3\32\3\32\3\33\3\33\3\33\3\34\3\34\3\35\3\35\3\36\3\36\3\37\3\37"+ - "\3 \3 \3!\3!\3\"\3\"\3#\3#\3$\3$\3%\3%\3&\3&\3\'\3\'\3(\3(\3)\3)\3*\3"+ - "*\3*\3*\3+\3+\2\2,\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r"+ - "\31\16\33\17\35\20\37\21!\22#\23%\24\'\25)\26+\27-\30/\31\61\32\63\33"+ - "\65\34\67\359\36;\37= ?!A\"C#E$G%I&K\'M(O)Q*S+U,\3\2\2\2\u00bb\2\3\3\2"+ - "\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17"+ - "\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\31\3\2"+ - "\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2\2\2%\3"+ - "\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\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\29\3\2\2\2\2;\3\2\2\2\2"+ - "=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2\2I\3"+ - "\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2\2"+ - "\2\3W\3\2\2\2\5Z\3\2\2\2\7]\3\2\2\2\t_\3\2\2\2\13a\3\2\2\2\rc\3\2\2\2"+ - "\17e\3\2\2\2\21h\3\2\2\2\23k\3\2\2\2\25m\3\2\2\2\27o\3\2\2\2\31q\3\2\2"+ - "\2\33s\3\2\2\2\35u\3\2\2\2\37w\3\2\2\2!y\3\2\2\2#{\3\2\2\2%}\3\2\2\2\'"+ - "\u0080\3\2\2\2)\u0084\3\2\2\2+\u0087\3\2\2\2-\u008d\3\2\2\2/\u008f\3\2"+ - "\2\2\61\u0091\3\2\2\2\63\u0094\3\2\2\2\65\u0096\3\2\2\2\67\u0099\3\2\2"+ - "\29\u009b\3\2\2\2;\u009d\3\2\2\2=\u009f\3\2\2\2?\u00a1\3\2\2\2A\u00a3"+ - "\3\2\2\2C\u00a5\3\2\2\2E\u00a7\3\2\2\2G\u00a9\3\2\2\2I\u00ab\3\2\2\2K"+ - "\u00ad\3\2\2\2M\u00af\3\2\2\2O\u00b1\3\2\2\2Q\u00b3\3\2\2\2S\u00b5\3\2"+ - "\2\2U\u00b9\3\2\2\2WX\7(\2\2XY\7(\2\2Y\4\3\2\2\2Z[\7~\2\2[\\\7~\2\2\\"+ - "\6\3\2\2\2]^\7#\2\2^\b\3\2\2\2_`\7\u0080\2\2`\n\3\2\2\2ab\7~\2\2b\f\3"+ - "\2\2\2cd\7(\2\2d\16\3\2\2\2ef\7>\2\2fg\7>\2\2g\20\3\2\2\2hi\7@\2\2ij\7"+ - "@\2\2j\22\3\2\2\2kl\7`\2\2l\24\3\2\2\2mn\7\'\2\2n\26\3\2\2\2op\7<\2\2"+ - "p\30\3\2\2\2qr\7-\2\2r\32\3\2\2\2st\7/\2\2t\34\3\2\2\2uv\7,\2\2v\36\3"+ - "\2\2\2wx\7\61\2\2x \3\2\2\2yz\7^\2\2z\"\3\2\2\2{|\7\60\2\2|$\3\2\2\2}"+ - "~\7\60\2\2~\177\7,\2\2\177&\3\2\2\2\u0080\u0081\7>\2\2\u0081\u0082\7?"+ - "\2\2\u0082\u0083\7@\2\2\u0083(\3\2\2\2\u0084\u0085\7?\2\2\u0085\u0086"+ - "\7?\2\2\u0086*\3\2\2\2\u0087\u0088\7?\2\2\u0088,\3\2\2\2\u0089\u008a\7"+ - ">\2\2\u008a\u008e\7@\2\2\u008b\u008c\7#\2\2\u008c\u008e\7?\2\2\u008d\u0089"+ - "\3\2\2\2\u008d\u008b\3\2\2\2\u008e.\3\2\2\2\u008f\u0090\7@\2\2\u0090\60"+ - "\3\2\2\2\u0091\u0092\7@\2\2\u0092\u0093\7?\2\2\u0093\62\3\2\2\2\u0094"+ - "\u0095\7>\2\2\u0095\64\3\2\2\2\u0096\u0097\7>\2\2\u0097\u0098\7?\2\2\u0098"+ - "\66\3\2\2\2\u0099\u009a\7%\2\2\u009a8\3\2\2\2\u009b\u009c\7*\2\2\u009c"+ - ":\3\2\2\2\u009d\u009e\7+\2\2\u009e<\3\2\2\2\u009f\u00a0\7}\2\2\u00a0>"+ - "\3\2\2\2\u00a1\u00a2\7\177\2\2\u00a2@\3\2\2\2\u00a3\u00a4\7]\2\2\u00a4"+ - "B\3\2\2\2\u00a5\u00a6\7_\2\2\u00a6D\3\2\2\2\u00a7\u00a8\7.\2\2\u00a8F"+ - "\3\2\2\2\u00a9\u00aa\7$\2\2\u00aaH\3\2\2\2\u00ab\u00ac\7)\2\2\u00acJ\3"+ - "\2\2\2\u00ad\u00ae\7b\2\2\u00aeL\3\2\2\2\u00af\u00b0\7A\2\2\u00b0N\3\2"+ - "\2\2\u00b1\u00b2\7B\2\2\u00b2P\3\2\2\2\u00b3\u00b4\7=\2\2\u00b4R\3\2\2"+ - "\2\u00b5\u00b6\7/\2\2\u00b6\u00b7\7@\2\2\u00b7\u00b8\7@\2\2\u00b8T\3\2"+ - "\2\2\u00b9\u00ba\7a\2\2\u00baV\3\2\2\2\4\2\u008d\2"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Symbol.tokens b/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Symbol.tokens deleted file mode 100644 index e2613cd6..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/mask/.antlr/Symbol.tokens +++ /dev/null @@ -1,83 +0,0 @@ -AND_=1 -OR_=2 -NOT_=3 -TILDE_=4 -VERTICALBAR_=5 -AMPERSAND_=6 -SIGNEDLEFTSHIFT_=7 -SIGNEDRIGHTSHIFT_=8 -CARET_=9 -MOD_=10 -COLON_=11 -PLUS_=12 -MINUS_=13 -ASTERISK_=14 -SLASH_=15 -BACKSLASH_=16 -DOT_=17 -DOTASTERISK_=18 -SAFEEQ_=19 -DEQ_=20 -EQ_=21 -NEQ_=22 -GT_=23 -GTE_=24 -LT_=25 -LTE_=26 -POUND_=27 -LP_=28 -RP_=29 -LBE_=30 -RBE_=31 -LBT_=32 -RBT_=33 -COMMA_=34 -DQ_=35 -SQ_=36 -BQ_=37 -QUESTION_=38 -AT_=39 -SEMI_=40 -JSONSEPARATOR_=41 -UL_=42 -'&&'=1 -'||'=2 -'!'=3 -'~'=4 -'|'=5 -'&'=6 -'<<'=7 -'>>'=8 -'^'=9 -'%'=10 -':'=11 -'+'=12 -'-'=13 -'*'=14 -'/'=15 -'\\'=16 -'.'=17 -'.*'=18 -'<=>'=19 -'=='=20 -'='=21 -'>'=23 -'>='=24 -'<'=25 -'<='=26 -'#'=27 -'('=28 -')'=29 -'{'=30 -'}'=31 -'['=32 -']'=33 -','=34 -'"'=35 -'\''=36 -'`'=37 -'?'=38 -'@'=39 -';'=40 -'->>'=41 -'_'=42 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Alphabet.interp b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Alphabet.interp deleted file mode 100644 index edd4b2d1..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Alphabet.interp +++ /dev/null @@ -1,47 +0,0 @@ -token literal names: -null -'DO NOT MATCH ANY THING, JUST FOR GENERATOR' - -token symbolic names: -null -FOR_GENERATOR - -rule names: -FOR_GENERATOR -A -B -C -D -E -F -G -H -I -J -K -L -M -N -O -P -Q -R -S -T -U -V -W -X -Y -Z -UL_ - -channel names: -DEFAULT_TOKEN_CHANNEL -HIDDEN - -mode names: -DEFAULT_MODE - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 3, 156, 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, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 3, 18, 3, 18, 3, 19, 3, 19, 3, 20, 3, 20, 3, 21, 3, 21, 3, 22, 3, 22, 3, 23, 3, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 2, 2, 30, 3, 3, 5, 2, 7, 2, 9, 2, 11, 2, 13, 2, 15, 2, 17, 2, 19, 2, 21, 2, 23, 2, 25, 2, 27, 2, 29, 2, 31, 2, 33, 2, 35, 2, 37, 2, 39, 2, 41, 2, 43, 2, 45, 2, 47, 2, 49, 2, 51, 2, 53, 2, 55, 2, 57, 2, 3, 2, 28, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 2, 128, 2, 3, 3, 2, 2, 2, 3, 59, 3, 2, 2, 2, 5, 102, 3, 2, 2, 2, 7, 104, 3, 2, 2, 2, 9, 106, 3, 2, 2, 2, 11, 108, 3, 2, 2, 2, 13, 110, 3, 2, 2, 2, 15, 112, 3, 2, 2, 2, 17, 114, 3, 2, 2, 2, 19, 116, 3, 2, 2, 2, 21, 118, 3, 2, 2, 2, 23, 120, 3, 2, 2, 2, 25, 122, 3, 2, 2, 2, 27, 124, 3, 2, 2, 2, 29, 126, 3, 2, 2, 2, 31, 128, 3, 2, 2, 2, 33, 130, 3, 2, 2, 2, 35, 132, 3, 2, 2, 2, 37, 134, 3, 2, 2, 2, 39, 136, 3, 2, 2, 2, 41, 138, 3, 2, 2, 2, 43, 140, 3, 2, 2, 2, 45, 142, 3, 2, 2, 2, 47, 144, 3, 2, 2, 2, 49, 146, 3, 2, 2, 2, 51, 148, 3, 2, 2, 2, 53, 150, 3, 2, 2, 2, 55, 152, 3, 2, 2, 2, 57, 154, 3, 2, 2, 2, 59, 60, 7, 70, 2, 2, 60, 61, 7, 81, 2, 2, 61, 62, 7, 34, 2, 2, 62, 63, 7, 80, 2, 2, 63, 64, 7, 81, 2, 2, 64, 65, 7, 86, 2, 2, 65, 66, 7, 34, 2, 2, 66, 67, 7, 79, 2, 2, 67, 68, 7, 67, 2, 2, 68, 69, 7, 86, 2, 2, 69, 70, 7, 69, 2, 2, 70, 71, 7, 74, 2, 2, 71, 72, 7, 34, 2, 2, 72, 73, 7, 67, 2, 2, 73, 74, 7, 80, 2, 2, 74, 75, 7, 91, 2, 2, 75, 76, 7, 34, 2, 2, 76, 77, 7, 86, 2, 2, 77, 78, 7, 74, 2, 2, 78, 79, 7, 75, 2, 2, 79, 80, 7, 80, 2, 2, 80, 81, 7, 73, 2, 2, 81, 82, 7, 46, 2, 2, 82, 83, 7, 34, 2, 2, 83, 84, 7, 76, 2, 2, 84, 85, 7, 87, 2, 2, 85, 86, 7, 85, 2, 2, 86, 87, 7, 86, 2, 2, 87, 88, 7, 34, 2, 2, 88, 89, 7, 72, 2, 2, 89, 90, 7, 81, 2, 2, 90, 91, 7, 84, 2, 2, 91, 92, 7, 34, 2, 2, 92, 93, 7, 73, 2, 2, 93, 94, 7, 71, 2, 2, 94, 95, 7, 80, 2, 2, 95, 96, 7, 71, 2, 2, 96, 97, 7, 84, 2, 2, 97, 98, 7, 67, 2, 2, 98, 99, 7, 86, 2, 2, 99, 100, 7, 81, 2, 2, 100, 101, 7, 84, 2, 2, 101, 4, 3, 2, 2, 2, 102, 103, 9, 2, 2, 2, 103, 6, 3, 2, 2, 2, 104, 105, 9, 3, 2, 2, 105, 8, 3, 2, 2, 2, 106, 107, 9, 4, 2, 2, 107, 10, 3, 2, 2, 2, 108, 109, 9, 5, 2, 2, 109, 12, 3, 2, 2, 2, 110, 111, 9, 6, 2, 2, 111, 14, 3, 2, 2, 2, 112, 113, 9, 7, 2, 2, 113, 16, 3, 2, 2, 2, 114, 115, 9, 8, 2, 2, 115, 18, 3, 2, 2, 2, 116, 117, 9, 9, 2, 2, 117, 20, 3, 2, 2, 2, 118, 119, 9, 10, 2, 2, 119, 22, 3, 2, 2, 2, 120, 121, 9, 11, 2, 2, 121, 24, 3, 2, 2, 2, 122, 123, 9, 12, 2, 2, 123, 26, 3, 2, 2, 2, 124, 125, 9, 13, 2, 2, 125, 28, 3, 2, 2, 2, 126, 127, 9, 14, 2, 2, 127, 30, 3, 2, 2, 2, 128, 129, 9, 15, 2, 2, 129, 32, 3, 2, 2, 2, 130, 131, 9, 16, 2, 2, 131, 34, 3, 2, 2, 2, 132, 133, 9, 17, 2, 2, 133, 36, 3, 2, 2, 2, 134, 135, 9, 18, 2, 2, 135, 38, 3, 2, 2, 2, 136, 137, 9, 19, 2, 2, 137, 40, 3, 2, 2, 2, 138, 139, 9, 20, 2, 2, 139, 42, 3, 2, 2, 2, 140, 141, 9, 21, 2, 2, 141, 44, 3, 2, 2, 2, 142, 143, 9, 22, 2, 2, 143, 46, 3, 2, 2, 2, 144, 145, 9, 23, 2, 2, 145, 48, 3, 2, 2, 2, 146, 147, 9, 24, 2, 2, 147, 50, 3, 2, 2, 2, 148, 149, 9, 25, 2, 2, 149, 52, 3, 2, 2, 2, 150, 151, 9, 26, 2, 2, 151, 54, 3, 2, 2, 2, 152, 153, 9, 27, 2, 2, 153, 56, 3, 2, 2, 2, 154, 155, 7, 97, 2, 2, 155, 58, 3, 2, 2, 2, 3, 2, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Alphabet.java b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Alphabet.java deleted file mode 100644 index 31026f14..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Alphabet.java +++ /dev/null @@ -1,154 +0,0 @@ -// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/Alphabet.g4 by ANTLR 4.9.2 -import org.antlr.v4.runtime.Lexer; -import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.TokenStream; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.misc.*; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class Alphabet extends Lexer { - static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - FOR_GENERATOR=1; - public static String[] channelNames = { - "DEFAULT_TOKEN_CHANNEL", "HIDDEN" - }; - - public static String[] modeNames = { - "DEFAULT_MODE" - }; - - private static String[] makeRuleNames() { - return new String[] { - "FOR_GENERATOR", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", - "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", - "Z", "UL_" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "FOR_GENERATOR" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - - public Alphabet(CharStream input) { - super(input); - _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - @Override - public String getGrammarFileName() { return "Alphabet.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public String[] getChannelNames() { return channelNames; } - - @Override - public String[] getModeNames() { return modeNames; } - - @Override - public ATN getATN() { return _ATN; } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2\3\u009c\b\1\4\2\t"+ - "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ - "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ - "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ - "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3"+ - "\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2"+ - "\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3"+ - "\2\3\3\3\3\3\4\3\4\3\5\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\t\3\t\3\n\3\n\3\13"+ - "\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3\17\3\17\3\20\3\20\3\21\3\21\3\22\3\22"+ - "\3\23\3\23\3\24\3\24\3\25\3\25\3\26\3\26\3\27\3\27\3\30\3\30\3\31\3\31"+ - "\3\32\3\32\3\33\3\33\3\34\3\34\3\35\3\35\2\2\36\3\3\5\2\7\2\t\2\13\2\r"+ - "\2\17\2\21\2\23\2\25\2\27\2\31\2\33\2\35\2\37\2!\2#\2%\2\'\2)\2+\2-\2"+ - "/\2\61\2\63\2\65\2\67\29\2\3\2\34\4\2CCcc\4\2DDdd\4\2EEee\4\2FFff\4\2"+ - "GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4\2LLll\4\2MMmm\4\2NNnn\4\2OOoo\4"+ - "\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4\2TTtt\4\2UUuu\4\2VVvv\4\2WWww\4\2XXx"+ - "x\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\||\2\u0080\2\3\3\2\2\2\3;\3\2\2\2\5f"+ - "\3\2\2\2\7h\3\2\2\2\tj\3\2\2\2\13l\3\2\2\2\rn\3\2\2\2\17p\3\2\2\2\21r"+ - "\3\2\2\2\23t\3\2\2\2\25v\3\2\2\2\27x\3\2\2\2\31z\3\2\2\2\33|\3\2\2\2\35"+ - "~\3\2\2\2\37\u0080\3\2\2\2!\u0082\3\2\2\2#\u0084\3\2\2\2%\u0086\3\2\2"+ - "\2\'\u0088\3\2\2\2)\u008a\3\2\2\2+\u008c\3\2\2\2-\u008e\3\2\2\2/\u0090"+ - "\3\2\2\2\61\u0092\3\2\2\2\63\u0094\3\2\2\2\65\u0096\3\2\2\2\67\u0098\3"+ - "\2\2\29\u009a\3\2\2\2;<\7F\2\2<=\7Q\2\2=>\7\"\2\2>?\7P\2\2?@\7Q\2\2@A"+ - "\7V\2\2AB\7\"\2\2BC\7O\2\2CD\7C\2\2DE\7V\2\2EF\7E\2\2FG\7J\2\2GH\7\"\2"+ - "\2HI\7C\2\2IJ\7P\2\2JK\7[\2\2KL\7\"\2\2LM\7V\2\2MN\7J\2\2NO\7K\2\2OP\7"+ - "P\2\2PQ\7I\2\2QR\7.\2\2RS\7\"\2\2ST\7L\2\2TU\7W\2\2UV\7U\2\2VW\7V\2\2"+ - "WX\7\"\2\2XY\7H\2\2YZ\7Q\2\2Z[\7T\2\2[\\\7\"\2\2\\]\7I\2\2]^\7G\2\2^_"+ - "\7P\2\2_`\7G\2\2`a\7T\2\2ab\7C\2\2bc\7V\2\2cd\7Q\2\2de\7T\2\2e\4\3\2\2"+ - "\2fg\t\2\2\2g\6\3\2\2\2hi\t\3\2\2i\b\3\2\2\2jk\t\4\2\2k\n\3\2\2\2lm\t"+ - "\5\2\2m\f\3\2\2\2no\t\6\2\2o\16\3\2\2\2pq\t\7\2\2q\20\3\2\2\2rs\t\b\2"+ - "\2s\22\3\2\2\2tu\t\t\2\2u\24\3\2\2\2vw\t\n\2\2w\26\3\2\2\2xy\t\13\2\2"+ - "y\30\3\2\2\2z{\t\f\2\2{\32\3\2\2\2|}\t\r\2\2}\34\3\2\2\2~\177\t\16\2\2"+ - "\177\36\3\2\2\2\u0080\u0081\t\17\2\2\u0081 \3\2\2\2\u0082\u0083\t\20\2"+ - "\2\u0083\"\3\2\2\2\u0084\u0085\t\21\2\2\u0085$\3\2\2\2\u0086\u0087\t\22"+ - "\2\2\u0087&\3\2\2\2\u0088\u0089\t\23\2\2\u0089(\3\2\2\2\u008a\u008b\t"+ - "\24\2\2\u008b*\3\2\2\2\u008c\u008d\t\25\2\2\u008d,\3\2\2\2\u008e\u008f"+ - "\t\26\2\2\u008f.\3\2\2\2\u0090\u0091\t\27\2\2\u0091\60\3\2\2\2\u0092\u0093"+ - "\t\30\2\2\u0093\62\3\2\2\2\u0094\u0095\t\31\2\2\u0095\64\3\2\2\2\u0096"+ - "\u0097\t\32\2\2\u0097\66\3\2\2\2\u0098\u0099\t\33\2\2\u00998\3\2\2\2\u009a"+ - "\u009b\7a\2\2\u009b:\3\2\2\2\3\2\2"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Alphabet.tokens b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Alphabet.tokens deleted file mode 100644 index a5be65d8..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Alphabet.tokens +++ /dev/null @@ -1,2 +0,0 @@ -FOR_GENERATOR=1 -'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=1 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRule.interp b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRule.interp deleted file mode 100644 index 7da6825d..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRule.interp +++ /dev/null @@ -1,179 +0,0 @@ -token literal names: -null -'&&' -'||' -'!' -'~' -'|' -'&' -'<<' -'>>' -'^' -'%' -':' -'+' -'-' -'*' -'/' -'\\' -'.' -'.*' -'<=>' -'==' -'=' -null -'>' -'>=' -'<' -'<=' -'#' -'(' -')' -'{' -'}' -'[' -']' -',' -'"' -'\'' -'`' -'?' -'@' -';' -'->>' -'_' -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -'DO NOT MATCH ANY THING, JUST FOR GENERATOR' -null -null -null -null -null -null -null - -token symbolic names: -null -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ -WS -TRUE -FALSE -CREATE -ALTER -DROP -SHOW -RULE -FROM -READWRITE_SPLITTING -WRITE_STORAGE_UNIT -READ_STORAGE_UNITS -TRANSACTIONAL_READ_QUERY_STRATEGY -TYPE -NAME -PROPERTIES -RULES -RESOURCES -STATUS -ENABLE -DISABLE -READ -IF -EXISTS -COUNT -ROUND_ROBIN -RANDOM -WEIGHT -NOT -FOR_GENERATOR -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ - -rule names: -literal -algorithmDefinition -algorithmTypeName -buildInReadQueryLoadBalanceAlgorithmType -propertiesDefinition -properties -property -databaseName -groupName -storageUnitName - - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 81, 74, 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, 3, 2, 3, 2, 5, 2, 25, 10, 2, 3, 2, 3, 2, 3, 2, 5, 2, 30, 10, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 39, 10, 3, 3, 3, 3, 3, 3, 4, 3, 4, 5, 4, 45, 10, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 5, 6, 52, 10, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 7, 7, 59, 10, 7, 12, 7, 14, 7, 62, 11, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 2, 2, 12, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 2, 3, 3, 2, 70, 72, 2, 71, 2, 29, 3, 2, 2, 2, 4, 31, 3, 2, 2, 2, 6, 44, 3, 2, 2, 2, 8, 46, 3, 2, 2, 2, 10, 48, 3, 2, 2, 2, 12, 55, 3, 2, 2, 2, 14, 63, 3, 2, 2, 2, 16, 67, 3, 2, 2, 2, 18, 69, 3, 2, 2, 2, 20, 71, 3, 2, 2, 2, 22, 30, 7, 76, 2, 2, 23, 25, 7, 15, 2, 2, 24, 23, 3, 2, 2, 2, 24, 25, 3, 2, 2, 2, 25, 26, 3, 2, 2, 2, 26, 30, 7, 77, 2, 2, 27, 30, 7, 46, 2, 2, 28, 30, 7, 47, 2, 2, 29, 22, 3, 2, 2, 2, 29, 24, 3, 2, 2, 2, 29, 27, 3, 2, 2, 2, 29, 28, 3, 2, 2, 2, 30, 3, 3, 2, 2, 2, 31, 32, 7, 58, 2, 2, 32, 33, 7, 30, 2, 2, 33, 34, 7, 59, 2, 2, 34, 35, 7, 23, 2, 2, 35, 38, 5, 6, 4, 2, 36, 37, 7, 36, 2, 2, 37, 39, 5, 10, 6, 2, 38, 36, 3, 2, 2, 2, 38, 39, 3, 2, 2, 2, 39, 40, 3, 2, 2, 2, 40, 41, 7, 31, 2, 2, 41, 5, 3, 2, 2, 2, 42, 45, 7, 76, 2, 2, 43, 45, 5, 8, 5, 2, 44, 42, 3, 2, 2, 2, 44, 43, 3, 2, 2, 2, 45, 7, 3, 2, 2, 2, 46, 47, 9, 2, 2, 2, 47, 9, 3, 2, 2, 2, 48, 49, 7, 60, 2, 2, 49, 51, 7, 30, 2, 2, 50, 52, 5, 12, 7, 2, 51, 50, 3, 2, 2, 2, 51, 52, 3, 2, 2, 2, 52, 53, 3, 2, 2, 2, 53, 54, 7, 31, 2, 2, 54, 11, 3, 2, 2, 2, 55, 60, 5, 14, 8, 2, 56, 57, 7, 36, 2, 2, 57, 59, 5, 14, 8, 2, 58, 56, 3, 2, 2, 2, 59, 62, 3, 2, 2, 2, 60, 58, 3, 2, 2, 2, 60, 61, 3, 2, 2, 2, 61, 13, 3, 2, 2, 2, 62, 60, 3, 2, 2, 2, 63, 64, 7, 76, 2, 2, 64, 65, 7, 23, 2, 2, 65, 66, 5, 2, 2, 2, 66, 15, 3, 2, 2, 2, 67, 68, 7, 75, 2, 2, 68, 17, 3, 2, 2, 2, 69, 70, 7, 75, 2, 2, 70, 19, 3, 2, 2, 2, 71, 72, 7, 75, 2, 2, 72, 21, 3, 2, 2, 2, 8, 24, 29, 38, 44, 51, 60] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRule.tokens b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRule.tokens deleted file mode 100644 index 8f1734a8..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRule.tokens +++ /dev/null @@ -1,121 +0,0 @@ -AND_=1 -OR_=2 -NOT_=3 -TILDE_=4 -VERTICALBAR_=5 -AMPERSAND_=6 -SIGNEDLEFTSHIFT_=7 -SIGNEDRIGHTSHIFT_=8 -CARET_=9 -MOD_=10 -COLON_=11 -PLUS_=12 -MINUS_=13 -ASTERISK_=14 -SLASH_=15 -BACKSLASH_=16 -DOT_=17 -DOTASTERISK_=18 -SAFEEQ_=19 -DEQ_=20 -EQ_=21 -NEQ_=22 -GT_=23 -GTE_=24 -LT_=25 -LTE_=26 -POUND_=27 -LP_=28 -RP_=29 -LBE_=30 -RBE_=31 -LBT_=32 -RBT_=33 -COMMA_=34 -DQ_=35 -SQ_=36 -BQ_=37 -QUESTION_=38 -AT_=39 -SEMI_=40 -JSONSEPARATOR_=41 -UL_=42 -WS=43 -TRUE=44 -FALSE=45 -CREATE=46 -ALTER=47 -DROP=48 -SHOW=49 -RULE=50 -FROM=51 -READWRITE_SPLITTING=52 -WRITE_STORAGE_UNIT=53 -READ_STORAGE_UNITS=54 -TRANSACTIONAL_READ_QUERY_STRATEGY=55 -TYPE=56 -NAME=57 -PROPERTIES=58 -RULES=59 -RESOURCES=60 -STATUS=61 -ENABLE=62 -DISABLE=63 -READ=64 -IF=65 -EXISTS=66 -COUNT=67 -ROUND_ROBIN=68 -RANDOM=69 -WEIGHT=70 -NOT=71 -FOR_GENERATOR=72 -IDENTIFIER_=73 -STRING_=74 -INT_=75 -HEX_=76 -NUMBER_=77 -HEXDIGIT_=78 -BITNUM_=79 -'&&'=1 -'||'=2 -'!'=3 -'~'=4 -'|'=5 -'&'=6 -'<<'=7 -'>>'=8 -'^'=9 -'%'=10 -':'=11 -'+'=12 -'-'=13 -'*'=14 -'/'=15 -'\\'=16 -'.'=17 -'.*'=18 -'<=>'=19 -'=='=20 -'='=21 -'>'=23 -'>='=24 -'<'=25 -'<='=26 -'#'=27 -'('=28 -')'=29 -'{'=30 -'}'=31 -'['=32 -']'=33 -','=34 -'"'=35 -'\''=36 -'`'=37 -'?'=38 -'@'=39 -';'=40 -'->>'=41 -'_'=42 -'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=72 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleLexer.interp b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleLexer.interp deleted file mode 100644 index 3301b273..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleLexer.interp +++ /dev/null @@ -1,280 +0,0 @@ -token literal names: -null -'&&' -'||' -'!' -'~' -'|' -'&' -'<<' -'>>' -'^' -'%' -':' -'+' -'-' -'*' -'/' -'\\' -'.' -'.*' -'<=>' -'==' -'=' -null -'>' -'>=' -'<' -'<=' -'#' -'(' -')' -'{' -'}' -'[' -']' -',' -'"' -'\'' -'`' -'?' -'@' -';' -'->>' -'_' -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -'DO NOT MATCH ANY THING, JUST FOR GENERATOR' -null -null -null -null -null -null -null - -token symbolic names: -null -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ -WS -TRUE -FALSE -CREATE -ALTER -DROP -SHOW -RULE -FROM -READWRITE_SPLITTING -WRITE_STORAGE_UNIT -READ_STORAGE_UNITS -TRANSACTIONAL_READ_QUERY_STRATEGY -TYPE -NAME -PROPERTIES -RULES -RESOURCES -STATUS -ENABLE -DISABLE -READ -IF -EXISTS -COUNT -ROUND_ROBIN -RANDOM -WEIGHT -NOT -FOR_GENERATOR -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ - -rule names: -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ -WS -TRUE -FALSE -CREATE -ALTER -DROP -SHOW -RULE -FROM -READWRITE_SPLITTING -WRITE_STORAGE_UNIT -READ_STORAGE_UNITS -TRANSACTIONAL_READ_QUERY_STRATEGY -TYPE -NAME -PROPERTIES -RULES -RESOURCES -STATUS -ENABLE -DISABLE -READ -IF -EXISTS -COUNT -ROUND_ROBIN -RANDOM -WEIGHT -NOT -FOR_GENERATOR -A -B -C -D -E -F -G -H -I -J -K -L -M -N -O -P -Q -R -S -T -U -V -W -X -Y -Z -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ - -channel names: -DEFAULT_TOKEN_CHANNEL -HIDDEN - -mode names: -DEFAULT_MODE - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 81, 777, 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, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 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, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 268, 10, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 44, 6, 44, 315, 10, 44, 13, 44, 14, 44, 316, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 66, 3, 66, 3, 66, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 72, 3, 72, 3, 72, 3, 72, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 74, 3, 74, 3, 75, 3, 75, 3, 76, 3, 76, 3, 77, 3, 77, 3, 78, 3, 78, 3, 79, 3, 79, 3, 80, 3, 80, 3, 81, 3, 81, 3, 82, 3, 82, 3, 83, 3, 83, 3, 84, 3, 84, 3, 85, 3, 85, 3, 86, 3, 86, 3, 87, 3, 87, 3, 88, 3, 88, 3, 89, 3, 89, 3, 90, 3, 90, 3, 91, 3, 91, 3, 92, 3, 92, 3, 93, 3, 93, 3, 94, 3, 94, 3, 95, 3, 95, 3, 96, 3, 96, 3, 97, 3, 97, 3, 98, 3, 98, 3, 99, 3, 99, 3, 100, 7, 100, 663, 10, 100, 12, 100, 14, 100, 666, 11, 100, 3, 100, 6, 100, 669, 10, 100, 13, 100, 14, 100, 670, 3, 100, 7, 100, 674, 10, 100, 12, 100, 14, 100, 677, 11, 100, 3, 100, 3, 100, 6, 100, 681, 10, 100, 13, 100, 14, 100, 682, 3, 100, 3, 100, 5, 100, 687, 10, 100, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 7, 101, 695, 10, 101, 12, 101, 14, 101, 698, 11, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 7, 101, 708, 10, 101, 12, 101, 14, 101, 711, 11, 101, 3, 101, 3, 101, 5, 101, 715, 10, 101, 3, 102, 6, 102, 718, 10, 102, 13, 102, 14, 102, 719, 3, 103, 3, 103, 3, 104, 5, 104, 725, 10, 104, 3, 104, 5, 104, 728, 10, 104, 3, 104, 3, 104, 3, 104, 3, 104, 5, 104, 734, 10, 104, 3, 104, 3, 104, 5, 104, 738, 10, 104, 3, 105, 3, 105, 3, 105, 3, 105, 6, 105, 744, 10, 105, 13, 105, 14, 105, 745, 3, 105, 3, 105, 3, 105, 6, 105, 751, 10, 105, 13, 105, 14, 105, 752, 3, 105, 3, 105, 5, 105, 757, 10, 105, 3, 106, 3, 106, 3, 106, 3, 106, 6, 106, 763, 10, 106, 13, 106, 14, 106, 764, 3, 106, 3, 106, 3, 106, 6, 106, 770, 10, 106, 13, 106, 14, 106, 771, 3, 106, 3, 106, 5, 106, 776, 10, 106, 4, 664, 670, 2, 107, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, 91, 47, 93, 48, 95, 49, 97, 50, 99, 51, 101, 52, 103, 53, 105, 54, 107, 55, 109, 56, 111, 57, 113, 58, 115, 59, 117, 60, 119, 61, 121, 62, 123, 63, 125, 64, 127, 65, 129, 66, 131, 67, 133, 68, 135, 69, 137, 70, 139, 71, 141, 72, 143, 73, 145, 74, 147, 2, 149, 2, 151, 2, 153, 2, 155, 2, 157, 2, 159, 2, 161, 2, 163, 2, 165, 2, 167, 2, 169, 2, 171, 2, 173, 2, 175, 2, 177, 2, 179, 2, 181, 2, 183, 2, 185, 2, 187, 2, 189, 2, 191, 2, 193, 2, 195, 2, 197, 2, 199, 75, 201, 76, 203, 77, 205, 78, 207, 79, 209, 80, 211, 81, 3, 2, 36, 5, 2, 11, 12, 15, 15, 34, 34, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 7, 2, 38, 38, 50, 59, 67, 92, 97, 97, 99, 124, 6, 2, 38, 38, 67, 92, 97, 97, 99, 124, 3, 2, 98, 98, 4, 2, 36, 36, 94, 94, 4, 2, 41, 41, 94, 94, 3, 2, 50, 59, 5, 2, 50, 59, 67, 72, 99, 104, 2, 776, 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, 199, 3, 2, 2, 2, 2, 201, 3, 2, 2, 2, 2, 203, 3, 2, 2, 2, 2, 205, 3, 2, 2, 2, 2, 207, 3, 2, 2, 2, 2, 209, 3, 2, 2, 2, 2, 211, 3, 2, 2, 2, 3, 213, 3, 2, 2, 2, 5, 216, 3, 2, 2, 2, 7, 219, 3, 2, 2, 2, 9, 221, 3, 2, 2, 2, 11, 223, 3, 2, 2, 2, 13, 225, 3, 2, 2, 2, 15, 227, 3, 2, 2, 2, 17, 230, 3, 2, 2, 2, 19, 233, 3, 2, 2, 2, 21, 235, 3, 2, 2, 2, 23, 237, 3, 2, 2, 2, 25, 239, 3, 2, 2, 2, 27, 241, 3, 2, 2, 2, 29, 243, 3, 2, 2, 2, 31, 245, 3, 2, 2, 2, 33, 247, 3, 2, 2, 2, 35, 249, 3, 2, 2, 2, 37, 251, 3, 2, 2, 2, 39, 254, 3, 2, 2, 2, 41, 258, 3, 2, 2, 2, 43, 261, 3, 2, 2, 2, 45, 267, 3, 2, 2, 2, 47, 269, 3, 2, 2, 2, 49, 271, 3, 2, 2, 2, 51, 274, 3, 2, 2, 2, 53, 276, 3, 2, 2, 2, 55, 279, 3, 2, 2, 2, 57, 281, 3, 2, 2, 2, 59, 283, 3, 2, 2, 2, 61, 285, 3, 2, 2, 2, 63, 287, 3, 2, 2, 2, 65, 289, 3, 2, 2, 2, 67, 291, 3, 2, 2, 2, 69, 293, 3, 2, 2, 2, 71, 295, 3, 2, 2, 2, 73, 297, 3, 2, 2, 2, 75, 299, 3, 2, 2, 2, 77, 301, 3, 2, 2, 2, 79, 303, 3, 2, 2, 2, 81, 305, 3, 2, 2, 2, 83, 307, 3, 2, 2, 2, 85, 311, 3, 2, 2, 2, 87, 314, 3, 2, 2, 2, 89, 320, 3, 2, 2, 2, 91, 325, 3, 2, 2, 2, 93, 331, 3, 2, 2, 2, 95, 338, 3, 2, 2, 2, 97, 344, 3, 2, 2, 2, 99, 349, 3, 2, 2, 2, 101, 354, 3, 2, 2, 2, 103, 359, 3, 2, 2, 2, 105, 364, 3, 2, 2, 2, 107, 384, 3, 2, 2, 2, 109, 403, 3, 2, 2, 2, 111, 422, 3, 2, 2, 2, 113, 456, 3, 2, 2, 2, 115, 461, 3, 2, 2, 2, 117, 466, 3, 2, 2, 2, 119, 477, 3, 2, 2, 2, 121, 483, 3, 2, 2, 2, 123, 493, 3, 2, 2, 2, 125, 500, 3, 2, 2, 2, 127, 507, 3, 2, 2, 2, 129, 515, 3, 2, 2, 2, 131, 520, 3, 2, 2, 2, 133, 523, 3, 2, 2, 2, 135, 530, 3, 2, 2, 2, 137, 536, 3, 2, 2, 2, 139, 548, 3, 2, 2, 2, 141, 555, 3, 2, 2, 2, 143, 562, 3, 2, 2, 2, 145, 566, 3, 2, 2, 2, 147, 609, 3, 2, 2, 2, 149, 611, 3, 2, 2, 2, 151, 613, 3, 2, 2, 2, 153, 615, 3, 2, 2, 2, 155, 617, 3, 2, 2, 2, 157, 619, 3, 2, 2, 2, 159, 621, 3, 2, 2, 2, 161, 623, 3, 2, 2, 2, 163, 625, 3, 2, 2, 2, 165, 627, 3, 2, 2, 2, 167, 629, 3, 2, 2, 2, 169, 631, 3, 2, 2, 2, 171, 633, 3, 2, 2, 2, 173, 635, 3, 2, 2, 2, 175, 637, 3, 2, 2, 2, 177, 639, 3, 2, 2, 2, 179, 641, 3, 2, 2, 2, 181, 643, 3, 2, 2, 2, 183, 645, 3, 2, 2, 2, 185, 647, 3, 2, 2, 2, 187, 649, 3, 2, 2, 2, 189, 651, 3, 2, 2, 2, 191, 653, 3, 2, 2, 2, 193, 655, 3, 2, 2, 2, 195, 657, 3, 2, 2, 2, 197, 659, 3, 2, 2, 2, 199, 686, 3, 2, 2, 2, 201, 714, 3, 2, 2, 2, 203, 717, 3, 2, 2, 2, 205, 721, 3, 2, 2, 2, 207, 724, 3, 2, 2, 2, 209, 756, 3, 2, 2, 2, 211, 775, 3, 2, 2, 2, 213, 214, 7, 40, 2, 2, 214, 215, 7, 40, 2, 2, 215, 4, 3, 2, 2, 2, 216, 217, 7, 126, 2, 2, 217, 218, 7, 126, 2, 2, 218, 6, 3, 2, 2, 2, 219, 220, 7, 35, 2, 2, 220, 8, 3, 2, 2, 2, 221, 222, 7, 128, 2, 2, 222, 10, 3, 2, 2, 2, 223, 224, 7, 126, 2, 2, 224, 12, 3, 2, 2, 2, 225, 226, 7, 40, 2, 2, 226, 14, 3, 2, 2, 2, 227, 228, 7, 62, 2, 2, 228, 229, 7, 62, 2, 2, 229, 16, 3, 2, 2, 2, 230, 231, 7, 64, 2, 2, 231, 232, 7, 64, 2, 2, 232, 18, 3, 2, 2, 2, 233, 234, 7, 96, 2, 2, 234, 20, 3, 2, 2, 2, 235, 236, 7, 39, 2, 2, 236, 22, 3, 2, 2, 2, 237, 238, 7, 60, 2, 2, 238, 24, 3, 2, 2, 2, 239, 240, 7, 45, 2, 2, 240, 26, 3, 2, 2, 2, 241, 242, 7, 47, 2, 2, 242, 28, 3, 2, 2, 2, 243, 244, 7, 44, 2, 2, 244, 30, 3, 2, 2, 2, 245, 246, 7, 49, 2, 2, 246, 32, 3, 2, 2, 2, 247, 248, 7, 94, 2, 2, 248, 34, 3, 2, 2, 2, 249, 250, 7, 48, 2, 2, 250, 36, 3, 2, 2, 2, 251, 252, 7, 48, 2, 2, 252, 253, 7, 44, 2, 2, 253, 38, 3, 2, 2, 2, 254, 255, 7, 62, 2, 2, 255, 256, 7, 63, 2, 2, 256, 257, 7, 64, 2, 2, 257, 40, 3, 2, 2, 2, 258, 259, 7, 63, 2, 2, 259, 260, 7, 63, 2, 2, 260, 42, 3, 2, 2, 2, 261, 262, 7, 63, 2, 2, 262, 44, 3, 2, 2, 2, 263, 264, 7, 62, 2, 2, 264, 268, 7, 64, 2, 2, 265, 266, 7, 35, 2, 2, 266, 268, 7, 63, 2, 2, 267, 263, 3, 2, 2, 2, 267, 265, 3, 2, 2, 2, 268, 46, 3, 2, 2, 2, 269, 270, 7, 64, 2, 2, 270, 48, 3, 2, 2, 2, 271, 272, 7, 64, 2, 2, 272, 273, 7, 63, 2, 2, 273, 50, 3, 2, 2, 2, 274, 275, 7, 62, 2, 2, 275, 52, 3, 2, 2, 2, 276, 277, 7, 62, 2, 2, 277, 278, 7, 63, 2, 2, 278, 54, 3, 2, 2, 2, 279, 280, 7, 37, 2, 2, 280, 56, 3, 2, 2, 2, 281, 282, 7, 42, 2, 2, 282, 58, 3, 2, 2, 2, 283, 284, 7, 43, 2, 2, 284, 60, 3, 2, 2, 2, 285, 286, 7, 125, 2, 2, 286, 62, 3, 2, 2, 2, 287, 288, 7, 127, 2, 2, 288, 64, 3, 2, 2, 2, 289, 290, 7, 93, 2, 2, 290, 66, 3, 2, 2, 2, 291, 292, 7, 95, 2, 2, 292, 68, 3, 2, 2, 2, 293, 294, 7, 46, 2, 2, 294, 70, 3, 2, 2, 2, 295, 296, 7, 36, 2, 2, 296, 72, 3, 2, 2, 2, 297, 298, 7, 41, 2, 2, 298, 74, 3, 2, 2, 2, 299, 300, 7, 98, 2, 2, 300, 76, 3, 2, 2, 2, 301, 302, 7, 65, 2, 2, 302, 78, 3, 2, 2, 2, 303, 304, 7, 66, 2, 2, 304, 80, 3, 2, 2, 2, 305, 306, 7, 61, 2, 2, 306, 82, 3, 2, 2, 2, 307, 308, 7, 47, 2, 2, 308, 309, 7, 64, 2, 2, 309, 310, 7, 64, 2, 2, 310, 84, 3, 2, 2, 2, 311, 312, 7, 97, 2, 2, 312, 86, 3, 2, 2, 2, 313, 315, 9, 2, 2, 2, 314, 313, 3, 2, 2, 2, 315, 316, 3, 2, 2, 2, 316, 314, 3, 2, 2, 2, 316, 317, 3, 2, 2, 2, 317, 318, 3, 2, 2, 2, 318, 319, 8, 44, 2, 2, 319, 88, 3, 2, 2, 2, 320, 321, 5, 185, 93, 2, 321, 322, 5, 181, 91, 2, 322, 323, 5, 187, 94, 2, 323, 324, 5, 155, 78, 2, 324, 90, 3, 2, 2, 2, 325, 326, 5, 157, 79, 2, 326, 327, 5, 147, 74, 2, 327, 328, 5, 169, 85, 2, 328, 329, 5, 183, 92, 2, 329, 330, 5, 155, 78, 2, 330, 92, 3, 2, 2, 2, 331, 332, 5, 151, 76, 2, 332, 333, 5, 181, 91, 2, 333, 334, 5, 155, 78, 2, 334, 335, 5, 147, 74, 2, 335, 336, 5, 185, 93, 2, 336, 337, 5, 155, 78, 2, 337, 94, 3, 2, 2, 2, 338, 339, 5, 147, 74, 2, 339, 340, 5, 169, 85, 2, 340, 341, 5, 185, 93, 2, 341, 342, 5, 155, 78, 2, 342, 343, 5, 181, 91, 2, 343, 96, 3, 2, 2, 2, 344, 345, 5, 153, 77, 2, 345, 346, 5, 181, 91, 2, 346, 347, 5, 175, 88, 2, 347, 348, 5, 177, 89, 2, 348, 98, 3, 2, 2, 2, 349, 350, 5, 183, 92, 2, 350, 351, 5, 161, 81, 2, 351, 352, 5, 175, 88, 2, 352, 353, 5, 191, 96, 2, 353, 100, 3, 2, 2, 2, 354, 355, 5, 181, 91, 2, 355, 356, 5, 187, 94, 2, 356, 357, 5, 169, 85, 2, 357, 358, 5, 155, 78, 2, 358, 102, 3, 2, 2, 2, 359, 360, 5, 157, 79, 2, 360, 361, 5, 181, 91, 2, 361, 362, 5, 175, 88, 2, 362, 363, 5, 171, 86, 2, 363, 104, 3, 2, 2, 2, 364, 365, 5, 181, 91, 2, 365, 366, 5, 155, 78, 2, 366, 367, 5, 147, 74, 2, 367, 368, 5, 153, 77, 2, 368, 369, 5, 191, 96, 2, 369, 370, 5, 181, 91, 2, 370, 371, 5, 163, 82, 2, 371, 372, 5, 185, 93, 2, 372, 373, 5, 155, 78, 2, 373, 374, 5, 85, 43, 2, 374, 375, 5, 183, 92, 2, 375, 376, 5, 177, 89, 2, 376, 377, 5, 169, 85, 2, 377, 378, 5, 163, 82, 2, 378, 379, 5, 185, 93, 2, 379, 380, 5, 185, 93, 2, 380, 381, 5, 163, 82, 2, 381, 382, 5, 173, 87, 2, 382, 383, 5, 159, 80, 2, 383, 106, 3, 2, 2, 2, 384, 385, 5, 191, 96, 2, 385, 386, 5, 181, 91, 2, 386, 387, 5, 163, 82, 2, 387, 388, 5, 185, 93, 2, 388, 389, 5, 155, 78, 2, 389, 390, 5, 85, 43, 2, 390, 391, 5, 183, 92, 2, 391, 392, 5, 185, 93, 2, 392, 393, 5, 175, 88, 2, 393, 394, 5, 181, 91, 2, 394, 395, 5, 147, 74, 2, 395, 396, 5, 159, 80, 2, 396, 397, 5, 155, 78, 2, 397, 398, 5, 85, 43, 2, 398, 399, 5, 187, 94, 2, 399, 400, 5, 173, 87, 2, 400, 401, 5, 163, 82, 2, 401, 402, 5, 185, 93, 2, 402, 108, 3, 2, 2, 2, 403, 404, 5, 181, 91, 2, 404, 405, 5, 155, 78, 2, 405, 406, 5, 147, 74, 2, 406, 407, 5, 153, 77, 2, 407, 408, 5, 85, 43, 2, 408, 409, 5, 183, 92, 2, 409, 410, 5, 185, 93, 2, 410, 411, 5, 175, 88, 2, 411, 412, 5, 181, 91, 2, 412, 413, 5, 147, 74, 2, 413, 414, 5, 159, 80, 2, 414, 415, 5, 155, 78, 2, 415, 416, 5, 85, 43, 2, 416, 417, 5, 187, 94, 2, 417, 418, 5, 173, 87, 2, 418, 419, 5, 163, 82, 2, 419, 420, 5, 185, 93, 2, 420, 421, 5, 183, 92, 2, 421, 110, 3, 2, 2, 2, 422, 423, 5, 185, 93, 2, 423, 424, 5, 181, 91, 2, 424, 425, 5, 147, 74, 2, 425, 426, 5, 173, 87, 2, 426, 427, 5, 183, 92, 2, 427, 428, 5, 147, 74, 2, 428, 429, 5, 151, 76, 2, 429, 430, 5, 185, 93, 2, 430, 431, 5, 163, 82, 2, 431, 432, 5, 175, 88, 2, 432, 433, 5, 173, 87, 2, 433, 434, 5, 147, 74, 2, 434, 435, 5, 169, 85, 2, 435, 436, 5, 85, 43, 2, 436, 437, 5, 181, 91, 2, 437, 438, 5, 155, 78, 2, 438, 439, 5, 147, 74, 2, 439, 440, 5, 153, 77, 2, 440, 441, 5, 85, 43, 2, 441, 442, 5, 179, 90, 2, 442, 443, 5, 187, 94, 2, 443, 444, 5, 155, 78, 2, 444, 445, 5, 181, 91, 2, 445, 446, 5, 195, 98, 2, 446, 447, 5, 85, 43, 2, 447, 448, 5, 183, 92, 2, 448, 449, 5, 185, 93, 2, 449, 450, 5, 181, 91, 2, 450, 451, 5, 147, 74, 2, 451, 452, 5, 185, 93, 2, 452, 453, 5, 155, 78, 2, 453, 454, 5, 159, 80, 2, 454, 455, 5, 195, 98, 2, 455, 112, 3, 2, 2, 2, 456, 457, 5, 185, 93, 2, 457, 458, 5, 195, 98, 2, 458, 459, 5, 177, 89, 2, 459, 460, 5, 155, 78, 2, 460, 114, 3, 2, 2, 2, 461, 462, 5, 173, 87, 2, 462, 463, 5, 147, 74, 2, 463, 464, 5, 171, 86, 2, 464, 465, 5, 155, 78, 2, 465, 116, 3, 2, 2, 2, 466, 467, 5, 177, 89, 2, 467, 468, 5, 181, 91, 2, 468, 469, 5, 175, 88, 2, 469, 470, 5, 177, 89, 2, 470, 471, 5, 155, 78, 2, 471, 472, 5, 181, 91, 2, 472, 473, 5, 185, 93, 2, 473, 474, 5, 163, 82, 2, 474, 475, 5, 155, 78, 2, 475, 476, 5, 183, 92, 2, 476, 118, 3, 2, 2, 2, 477, 478, 5, 181, 91, 2, 478, 479, 5, 187, 94, 2, 479, 480, 5, 169, 85, 2, 480, 481, 5, 155, 78, 2, 481, 482, 5, 183, 92, 2, 482, 120, 3, 2, 2, 2, 483, 484, 5, 181, 91, 2, 484, 485, 5, 155, 78, 2, 485, 486, 5, 183, 92, 2, 486, 487, 5, 175, 88, 2, 487, 488, 5, 187, 94, 2, 488, 489, 5, 181, 91, 2, 489, 490, 5, 151, 76, 2, 490, 491, 5, 155, 78, 2, 491, 492, 5, 183, 92, 2, 492, 122, 3, 2, 2, 2, 493, 494, 5, 183, 92, 2, 494, 495, 5, 185, 93, 2, 495, 496, 5, 147, 74, 2, 496, 497, 5, 185, 93, 2, 497, 498, 5, 187, 94, 2, 498, 499, 5, 183, 92, 2, 499, 124, 3, 2, 2, 2, 500, 501, 5, 155, 78, 2, 501, 502, 5, 173, 87, 2, 502, 503, 5, 147, 74, 2, 503, 504, 5, 149, 75, 2, 504, 505, 5, 169, 85, 2, 505, 506, 5, 155, 78, 2, 506, 126, 3, 2, 2, 2, 507, 508, 5, 153, 77, 2, 508, 509, 5, 163, 82, 2, 509, 510, 5, 183, 92, 2, 510, 511, 5, 147, 74, 2, 511, 512, 5, 149, 75, 2, 512, 513, 5, 169, 85, 2, 513, 514, 5, 155, 78, 2, 514, 128, 3, 2, 2, 2, 515, 516, 5, 181, 91, 2, 516, 517, 5, 155, 78, 2, 517, 518, 5, 147, 74, 2, 518, 519, 5, 153, 77, 2, 519, 130, 3, 2, 2, 2, 520, 521, 5, 163, 82, 2, 521, 522, 5, 157, 79, 2, 522, 132, 3, 2, 2, 2, 523, 524, 5, 155, 78, 2, 524, 525, 5, 193, 97, 2, 525, 526, 5, 163, 82, 2, 526, 527, 5, 183, 92, 2, 527, 528, 5, 185, 93, 2, 528, 529, 5, 183, 92, 2, 529, 134, 3, 2, 2, 2, 530, 531, 5, 151, 76, 2, 531, 532, 5, 175, 88, 2, 532, 533, 5, 187, 94, 2, 533, 534, 5, 173, 87, 2, 534, 535, 5, 185, 93, 2, 535, 136, 3, 2, 2, 2, 536, 537, 5, 181, 91, 2, 537, 538, 5, 175, 88, 2, 538, 539, 5, 187, 94, 2, 539, 540, 5, 173, 87, 2, 540, 541, 5, 153, 77, 2, 541, 542, 5, 85, 43, 2, 542, 543, 5, 181, 91, 2, 543, 544, 5, 175, 88, 2, 544, 545, 5, 149, 75, 2, 545, 546, 5, 163, 82, 2, 546, 547, 5, 173, 87, 2, 547, 138, 3, 2, 2, 2, 548, 549, 5, 181, 91, 2, 549, 550, 5, 147, 74, 2, 550, 551, 5, 173, 87, 2, 551, 552, 5, 153, 77, 2, 552, 553, 5, 175, 88, 2, 553, 554, 5, 171, 86, 2, 554, 140, 3, 2, 2, 2, 555, 556, 5, 191, 96, 2, 556, 557, 5, 155, 78, 2, 557, 558, 5, 163, 82, 2, 558, 559, 5, 159, 80, 2, 559, 560, 5, 161, 81, 2, 560, 561, 5, 185, 93, 2, 561, 142, 3, 2, 2, 2, 562, 563, 5, 173, 87, 2, 563, 564, 5, 175, 88, 2, 564, 565, 5, 185, 93, 2, 565, 144, 3, 2, 2, 2, 566, 567, 7, 70, 2, 2, 567, 568, 7, 81, 2, 2, 568, 569, 7, 34, 2, 2, 569, 570, 7, 80, 2, 2, 570, 571, 7, 81, 2, 2, 571, 572, 7, 86, 2, 2, 572, 573, 7, 34, 2, 2, 573, 574, 7, 79, 2, 2, 574, 575, 7, 67, 2, 2, 575, 576, 7, 86, 2, 2, 576, 577, 7, 69, 2, 2, 577, 578, 7, 74, 2, 2, 578, 579, 7, 34, 2, 2, 579, 580, 7, 67, 2, 2, 580, 581, 7, 80, 2, 2, 581, 582, 7, 91, 2, 2, 582, 583, 7, 34, 2, 2, 583, 584, 7, 86, 2, 2, 584, 585, 7, 74, 2, 2, 585, 586, 7, 75, 2, 2, 586, 587, 7, 80, 2, 2, 587, 588, 7, 73, 2, 2, 588, 589, 7, 46, 2, 2, 589, 590, 7, 34, 2, 2, 590, 591, 7, 76, 2, 2, 591, 592, 7, 87, 2, 2, 592, 593, 7, 85, 2, 2, 593, 594, 7, 86, 2, 2, 594, 595, 7, 34, 2, 2, 595, 596, 7, 72, 2, 2, 596, 597, 7, 81, 2, 2, 597, 598, 7, 84, 2, 2, 598, 599, 7, 34, 2, 2, 599, 600, 7, 73, 2, 2, 600, 601, 7, 71, 2, 2, 601, 602, 7, 80, 2, 2, 602, 603, 7, 71, 2, 2, 603, 604, 7, 84, 2, 2, 604, 605, 7, 67, 2, 2, 605, 606, 7, 86, 2, 2, 606, 607, 7, 81, 2, 2, 607, 608, 7, 84, 2, 2, 608, 146, 3, 2, 2, 2, 609, 610, 9, 3, 2, 2, 610, 148, 3, 2, 2, 2, 611, 612, 9, 4, 2, 2, 612, 150, 3, 2, 2, 2, 613, 614, 9, 5, 2, 2, 614, 152, 3, 2, 2, 2, 615, 616, 9, 6, 2, 2, 616, 154, 3, 2, 2, 2, 617, 618, 9, 7, 2, 2, 618, 156, 3, 2, 2, 2, 619, 620, 9, 8, 2, 2, 620, 158, 3, 2, 2, 2, 621, 622, 9, 9, 2, 2, 622, 160, 3, 2, 2, 2, 623, 624, 9, 10, 2, 2, 624, 162, 3, 2, 2, 2, 625, 626, 9, 11, 2, 2, 626, 164, 3, 2, 2, 2, 627, 628, 9, 12, 2, 2, 628, 166, 3, 2, 2, 2, 629, 630, 9, 13, 2, 2, 630, 168, 3, 2, 2, 2, 631, 632, 9, 14, 2, 2, 632, 170, 3, 2, 2, 2, 633, 634, 9, 15, 2, 2, 634, 172, 3, 2, 2, 2, 635, 636, 9, 16, 2, 2, 636, 174, 3, 2, 2, 2, 637, 638, 9, 17, 2, 2, 638, 176, 3, 2, 2, 2, 639, 640, 9, 18, 2, 2, 640, 178, 3, 2, 2, 2, 641, 642, 9, 19, 2, 2, 642, 180, 3, 2, 2, 2, 643, 644, 9, 20, 2, 2, 644, 182, 3, 2, 2, 2, 645, 646, 9, 21, 2, 2, 646, 184, 3, 2, 2, 2, 647, 648, 9, 22, 2, 2, 648, 186, 3, 2, 2, 2, 649, 650, 9, 23, 2, 2, 650, 188, 3, 2, 2, 2, 651, 652, 9, 24, 2, 2, 652, 190, 3, 2, 2, 2, 653, 654, 9, 25, 2, 2, 654, 192, 3, 2, 2, 2, 655, 656, 9, 26, 2, 2, 656, 194, 3, 2, 2, 2, 657, 658, 9, 27, 2, 2, 658, 196, 3, 2, 2, 2, 659, 660, 9, 28, 2, 2, 660, 198, 3, 2, 2, 2, 661, 663, 9, 29, 2, 2, 662, 661, 3, 2, 2, 2, 663, 666, 3, 2, 2, 2, 664, 665, 3, 2, 2, 2, 664, 662, 3, 2, 2, 2, 665, 668, 3, 2, 2, 2, 666, 664, 3, 2, 2, 2, 667, 669, 9, 30, 2, 2, 668, 667, 3, 2, 2, 2, 669, 670, 3, 2, 2, 2, 670, 671, 3, 2, 2, 2, 670, 668, 3, 2, 2, 2, 671, 675, 3, 2, 2, 2, 672, 674, 9, 29, 2, 2, 673, 672, 3, 2, 2, 2, 674, 677, 3, 2, 2, 2, 675, 673, 3, 2, 2, 2, 675, 676, 3, 2, 2, 2, 676, 687, 3, 2, 2, 2, 677, 675, 3, 2, 2, 2, 678, 680, 5, 75, 38, 2, 679, 681, 10, 31, 2, 2, 680, 679, 3, 2, 2, 2, 681, 682, 3, 2, 2, 2, 682, 680, 3, 2, 2, 2, 682, 683, 3, 2, 2, 2, 683, 684, 3, 2, 2, 2, 684, 685, 5, 75, 38, 2, 685, 687, 3, 2, 2, 2, 686, 664, 3, 2, 2, 2, 686, 678, 3, 2, 2, 2, 687, 200, 3, 2, 2, 2, 688, 696, 5, 71, 36, 2, 689, 690, 7, 94, 2, 2, 690, 695, 11, 2, 2, 2, 691, 692, 7, 36, 2, 2, 692, 695, 7, 36, 2, 2, 693, 695, 10, 32, 2, 2, 694, 689, 3, 2, 2, 2, 694, 691, 3, 2, 2, 2, 694, 693, 3, 2, 2, 2, 695, 698, 3, 2, 2, 2, 696, 694, 3, 2, 2, 2, 696, 697, 3, 2, 2, 2, 697, 699, 3, 2, 2, 2, 698, 696, 3, 2, 2, 2, 699, 700, 5, 71, 36, 2, 700, 715, 3, 2, 2, 2, 701, 709, 5, 73, 37, 2, 702, 703, 7, 94, 2, 2, 703, 708, 11, 2, 2, 2, 704, 705, 7, 41, 2, 2, 705, 708, 7, 41, 2, 2, 706, 708, 10, 33, 2, 2, 707, 702, 3, 2, 2, 2, 707, 704, 3, 2, 2, 2, 707, 706, 3, 2, 2, 2, 708, 711, 3, 2, 2, 2, 709, 707, 3, 2, 2, 2, 709, 710, 3, 2, 2, 2, 710, 712, 3, 2, 2, 2, 711, 709, 3, 2, 2, 2, 712, 713, 5, 73, 37, 2, 713, 715, 3, 2, 2, 2, 714, 688, 3, 2, 2, 2, 714, 701, 3, 2, 2, 2, 715, 202, 3, 2, 2, 2, 716, 718, 9, 34, 2, 2, 717, 716, 3, 2, 2, 2, 718, 719, 3, 2, 2, 2, 719, 717, 3, 2, 2, 2, 719, 720, 3, 2, 2, 2, 720, 204, 3, 2, 2, 2, 721, 722, 9, 35, 2, 2, 722, 206, 3, 2, 2, 2, 723, 725, 5, 203, 102, 2, 724, 723, 3, 2, 2, 2, 724, 725, 3, 2, 2, 2, 725, 727, 3, 2, 2, 2, 726, 728, 5, 35, 18, 2, 727, 726, 3, 2, 2, 2, 727, 728, 3, 2, 2, 2, 728, 729, 3, 2, 2, 2, 729, 737, 5, 203, 102, 2, 730, 733, 5, 155, 78, 2, 731, 734, 5, 25, 13, 2, 732, 734, 5, 27, 14, 2, 733, 731, 3, 2, 2, 2, 733, 732, 3, 2, 2, 2, 733, 734, 3, 2, 2, 2, 734, 735, 3, 2, 2, 2, 735, 736, 5, 203, 102, 2, 736, 738, 3, 2, 2, 2, 737, 730, 3, 2, 2, 2, 737, 738, 3, 2, 2, 2, 738, 208, 3, 2, 2, 2, 739, 740, 7, 50, 2, 2, 740, 741, 7, 122, 2, 2, 741, 743, 3, 2, 2, 2, 742, 744, 5, 205, 103, 2, 743, 742, 3, 2, 2, 2, 744, 745, 3, 2, 2, 2, 745, 743, 3, 2, 2, 2, 745, 746, 3, 2, 2, 2, 746, 757, 3, 2, 2, 2, 747, 748, 7, 90, 2, 2, 748, 750, 5, 73, 37, 2, 749, 751, 5, 205, 103, 2, 750, 749, 3, 2, 2, 2, 751, 752, 3, 2, 2, 2, 752, 750, 3, 2, 2, 2, 752, 753, 3, 2, 2, 2, 753, 754, 3, 2, 2, 2, 754, 755, 5, 73, 37, 2, 755, 757, 3, 2, 2, 2, 756, 739, 3, 2, 2, 2, 756, 747, 3, 2, 2, 2, 757, 210, 3, 2, 2, 2, 758, 759, 7, 50, 2, 2, 759, 760, 7, 100, 2, 2, 760, 762, 3, 2, 2, 2, 761, 763, 4, 50, 51, 2, 762, 761, 3, 2, 2, 2, 763, 764, 3, 2, 2, 2, 764, 762, 3, 2, 2, 2, 764, 765, 3, 2, 2, 2, 765, 776, 3, 2, 2, 2, 766, 767, 5, 149, 75, 2, 767, 769, 5, 73, 37, 2, 768, 770, 4, 50, 51, 2, 769, 768, 3, 2, 2, 2, 770, 771, 3, 2, 2, 2, 771, 769, 3, 2, 2, 2, 771, 772, 3, 2, 2, 2, 772, 773, 3, 2, 2, 2, 773, 774, 5, 73, 37, 2, 774, 776, 3, 2, 2, 2, 775, 758, 3, 2, 2, 2, 775, 766, 3, 2, 2, 2, 776, 212, 3, 2, 2, 2, 26, 2, 267, 316, 664, 670, 675, 682, 686, 694, 696, 707, 709, 714, 719, 724, 727, 733, 737, 745, 752, 756, 764, 771, 775, 3, 8, 2, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleLexer.java b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleLexer.java deleted file mode 100644 index 53165dcc..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleLexer.java +++ /dev/null @@ -1,424 +0,0 @@ -// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/BaseRule.g4 by ANTLR 4.9.2 -import org.antlr.v4.runtime.Lexer; -import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.TokenStream; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.misc.*; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class BaseRuleLexer extends Lexer { - static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, - SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, - ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, - DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, - LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, - SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, - WS=43, TRUE=44, FALSE=45, CREATE=46, ALTER=47, DROP=48, SHOW=49, RULE=50, - FROM=51, READWRITE_SPLITTING=52, WRITE_STORAGE_UNIT=53, READ_STORAGE_UNITS=54, - TRANSACTIONAL_READ_QUERY_STRATEGY=55, TYPE=56, NAME=57, PROPERTIES=58, - RULES=59, RESOURCES=60, STATUS=61, ENABLE=62, DISABLE=63, READ=64, IF=65, - EXISTS=66, COUNT=67, ROUND_ROBIN=68, RANDOM=69, WEIGHT=70, NOT=71, FOR_GENERATOR=72, - IDENTIFIER_=73, STRING_=74, INT_=75, HEX_=76, NUMBER_=77, HEXDIGIT_=78, - BITNUM_=79; - public static String[] channelNames = { - "DEFAULT_TOKEN_CHANNEL", "HIDDEN" - }; - - public static String[] modeNames = { - "DEFAULT_MODE" - }; - - private static String[] makeRuleNames() { - return new String[] { - "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", - "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", - "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", - "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", - "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", - "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", "FALSE", "CREATE", "ALTER", - "DROP", "SHOW", "RULE", "FROM", "READWRITE_SPLITTING", "WRITE_STORAGE_UNIT", - "READ_STORAGE_UNITS", "TRANSACTIONAL_READ_QUERY_STRATEGY", "TYPE", "NAME", - "PROPERTIES", "RULES", "RESOURCES", "STATUS", "ENABLE", "DISABLE", "READ", - "IF", "EXISTS", "COUNT", "ROUND_ROBIN", "RANDOM", "WEIGHT", "NOT", "FOR_GENERATOR", - "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", - "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "IDENTIFIER_", - "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", - "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", - "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", - "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", - "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", - "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", - "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", - "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", - "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", - "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", - "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", "FROM", "READWRITE_SPLITTING", - "WRITE_STORAGE_UNIT", "READ_STORAGE_UNITS", "TRANSACTIONAL_READ_QUERY_STRATEGY", - "TYPE", "NAME", "PROPERTIES", "RULES", "RESOURCES", "STATUS", "ENABLE", - "DISABLE", "READ", "IF", "EXISTS", "COUNT", "ROUND_ROBIN", "RANDOM", - "WEIGHT", "NOT", "FOR_GENERATOR", "IDENTIFIER_", "STRING_", "INT_", "HEX_", - "NUMBER_", "HEXDIGIT_", "BITNUM_" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - - public BaseRuleLexer(CharStream input) { - super(input); - _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - @Override - public String getGrammarFileName() { return "BaseRule.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public String[] getChannelNames() { return channelNames; } - - @Override - public String[] getModeNames() { return modeNames; } - - @Override - public ATN getATN() { return _ATN; } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2Q\u0309\b\1\4\2\t"+ - "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ - "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ - "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ - "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ - "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ - ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ - "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ - "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+ - "\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+ - "\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+ - "`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\3\2\3"+ - "\2\3\2\3\3\3\3\3\3\3\4\3\4\3\5\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\t\3\t"+ - "\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3\17\3\17\3\20\3\20\3"+ - "\21\3\21\3\22\3\22\3\23\3\23\3\23\3\24\3\24\3\24\3\24\3\25\3\25\3\25\3"+ - "\26\3\26\3\27\3\27\3\27\3\27\5\27\u010c\n\27\3\30\3\30\3\31\3\31\3\31"+ - "\3\32\3\32\3\33\3\33\3\33\3\34\3\34\3\35\3\35\3\36\3\36\3\37\3\37\3 \3"+ - " \3!\3!\3\"\3\"\3#\3#\3$\3$\3%\3%\3&\3&\3\'\3\'\3(\3(\3)\3)\3*\3*\3*\3"+ - "*\3+\3+\3,\6,\u013b\n,\r,\16,\u013c\3,\3,\3-\3-\3-\3-\3-\3.\3.\3.\3.\3"+ - ".\3.\3/\3/\3/\3/\3/\3/\3/\3\60\3\60\3\60\3\60\3\60\3\60\3\61\3\61\3\61"+ - "\3\61\3\61\3\62\3\62\3\62\3\62\3\62\3\63\3\63\3\63\3\63\3\63\3\64\3\64"+ - "\3\64\3\64\3\64\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65"+ - "\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\66\3\66\3\66\3\66\3\66"+ - "\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66"+ - "\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67"+ - "\3\67\3\67\3\67\3\67\3\67\38\38\38\38\38\38\38\38\38\38\38\38\38\38\3"+ - "8\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\39\39\39\3"+ - "9\39\3:\3:\3:\3:\3:\3;\3;\3;\3;\3;\3;\3;\3;\3;\3;\3;\3<\3<\3<\3<\3<\3"+ - "<\3=\3=\3=\3=\3=\3=\3=\3=\3=\3=\3>\3>\3>\3>\3>\3>\3>\3?\3?\3?\3?\3?\3"+ - "?\3?\3@\3@\3@\3@\3@\3@\3@\3@\3A\3A\3A\3A\3A\3B\3B\3B\3C\3C\3C\3C\3C\3"+ - "C\3C\3D\3D\3D\3D\3D\3D\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3F\3F\3F\3"+ - "F\3F\3F\3F\3G\3G\3G\3G\3G\3G\3G\3H\3H\3H\3H\3I\3I\3I\3I\3I\3I\3I\3I\3"+ - "I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3"+ - "I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3J\3J\3K\3K\3L\3L\3M\3M\3N\3N\3O\3"+ - "O\3P\3P\3Q\3Q\3R\3R\3S\3S\3T\3T\3U\3U\3V\3V\3W\3W\3X\3X\3Y\3Y\3Z\3Z\3"+ - "[\3[\3\\\3\\\3]\3]\3^\3^\3_\3_\3`\3`\3a\3a\3b\3b\3c\3c\3d\7d\u0297\nd"+ - "\fd\16d\u029a\13d\3d\6d\u029d\nd\rd\16d\u029e\3d\7d\u02a2\nd\fd\16d\u02a5"+ - "\13d\3d\3d\6d\u02a9\nd\rd\16d\u02aa\3d\3d\5d\u02af\nd\3e\3e\3e\3e\3e\3"+ - "e\7e\u02b7\ne\fe\16e\u02ba\13e\3e\3e\3e\3e\3e\3e\3e\3e\7e\u02c4\ne\fe"+ - "\16e\u02c7\13e\3e\3e\5e\u02cb\ne\3f\6f\u02ce\nf\rf\16f\u02cf\3g\3g\3h"+ - "\5h\u02d5\nh\3h\5h\u02d8\nh\3h\3h\3h\3h\5h\u02de\nh\3h\3h\5h\u02e2\nh"+ - "\3i\3i\3i\3i\6i\u02e8\ni\ri\16i\u02e9\3i\3i\3i\6i\u02ef\ni\ri\16i\u02f0"+ - "\3i\3i\5i\u02f5\ni\3j\3j\3j\3j\6j\u02fb\nj\rj\16j\u02fc\3j\3j\3j\6j\u0302"+ - "\nj\rj\16j\u0303\3j\3j\5j\u0308\nj\4\u0298\u029e\2k\3\3\5\4\7\5\t\6\13"+ - "\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\35\20\37\21!\22#\23%\24\'"+ - "\25)\26+\27-\30/\31\61\32\63\33\65\34\67\359\36;\37= ?!A\"C#E$G%I&K\'"+ - "M(O)Q*S+U,W-Y.[/]\60_\61a\62c\63e\64g\65i\66k\67m8o9q:s;u{?}@\177"+ - "A\u0081B\u0083C\u0085D\u0087E\u0089F\u008bG\u008dH\u008fI\u0091J\u0093"+ - "\2\u0095\2\u0097\2\u0099\2\u009b\2\u009d\2\u009f\2\u00a1\2\u00a3\2\u00a5"+ - "\2\u00a7\2\u00a9\2\u00ab\2\u00ad\2\u00af\2\u00b1\2\u00b3\2\u00b5\2\u00b7"+ - "\2\u00b9\2\u00bb\2\u00bd\2\u00bf\2\u00c1\2\u00c3\2\u00c5\2\u00c7K\u00c9"+ - "L\u00cbM\u00cdN\u00cfO\u00d1P\u00d3Q\3\2$\5\2\13\f\17\17\"\"\4\2CCcc\4"+ - "\2DDdd\4\2EEee\4\2FFff\4\2GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4\2LLl"+ - "l\4\2MMmm\4\2NNnn\4\2OOoo\4\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4\2TTtt\4\2"+ - "UUuu\4\2VVvv\4\2WWww\4\2XXxx\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\||\7\2&&\62"+ - ";C\\aac|\6\2&&C\\aac|\3\2bb\4\2$$^^\4\2))^^\3\2\62;\5\2\62;CHch\2\u0308"+ - "\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2"+ - "\2\2\2\17\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\31\3\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2"+ - "\2\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\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\29\3\2\2\2\2;\3"+ - "\2\2\2\2=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2"+ - "\2\2I\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2"+ - "U\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3\2\2\2\2a\3"+ - "\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3\2\2\2\2i\3\2\2\2\2k\3\2\2\2\2m\3\2\2"+ - "\2\2o\3\2\2\2\2q\3\2\2\2\2s\3\2\2\2\2u\3\2\2\2\2w\3\2\2\2\2y\3\2\2\2\2"+ - "{\3\2\2\2\2}\3\2\2\2\2\177\3\2\2\2\2\u0081\3\2\2\2\2\u0083\3\2\2\2\2\u0085"+ - "\3\2\2\2\2\u0087\3\2\2\2\2\u0089\3\2\2\2\2\u008b\3\2\2\2\2\u008d\3\2\2"+ - "\2\2\u008f\3\2\2\2\2\u0091\3\2\2\2\2\u00c7\3\2\2\2\2\u00c9\3\2\2\2\2\u00cb"+ - "\3\2\2\2\2\u00cd\3\2\2\2\2\u00cf\3\2\2\2\2\u00d1\3\2\2\2\2\u00d3\3\2\2"+ - "\2\3\u00d5\3\2\2\2\5\u00d8\3\2\2\2\7\u00db\3\2\2\2\t\u00dd\3\2\2\2\13"+ - "\u00df\3\2\2\2\r\u00e1\3\2\2\2\17\u00e3\3\2\2\2\21\u00e6\3\2\2\2\23\u00e9"+ - "\3\2\2\2\25\u00eb\3\2\2\2\27\u00ed\3\2\2\2\31\u00ef\3\2\2\2\33\u00f1\3"+ - "\2\2\2\35\u00f3\3\2\2\2\37\u00f5\3\2\2\2!\u00f7\3\2\2\2#\u00f9\3\2\2\2"+ - "%\u00fb\3\2\2\2\'\u00fe\3\2\2\2)\u0102\3\2\2\2+\u0105\3\2\2\2-\u010b\3"+ - "\2\2\2/\u010d\3\2\2\2\61\u010f\3\2\2\2\63\u0112\3\2\2\2\65\u0114\3\2\2"+ - "\2\67\u0117\3\2\2\29\u0119\3\2\2\2;\u011b\3\2\2\2=\u011d\3\2\2\2?\u011f"+ - "\3\2\2\2A\u0121\3\2\2\2C\u0123\3\2\2\2E\u0125\3\2\2\2G\u0127\3\2\2\2I"+ - "\u0129\3\2\2\2K\u012b\3\2\2\2M\u012d\3\2\2\2O\u012f\3\2\2\2Q\u0131\3\2"+ - "\2\2S\u0133\3\2\2\2U\u0137\3\2\2\2W\u013a\3\2\2\2Y\u0140\3\2\2\2[\u0145"+ - "\3\2\2\2]\u014b\3\2\2\2_\u0152\3\2\2\2a\u0158\3\2\2\2c\u015d\3\2\2\2e"+ - "\u0162\3\2\2\2g\u0167\3\2\2\2i\u016c\3\2\2\2k\u0180\3\2\2\2m\u0193\3\2"+ - "\2\2o\u01a6\3\2\2\2q\u01c8\3\2\2\2s\u01cd\3\2\2\2u\u01d2\3\2\2\2w\u01dd"+ - "\3\2\2\2y\u01e3\3\2\2\2{\u01ed\3\2\2\2}\u01f4\3\2\2\2\177\u01fb\3\2\2"+ - "\2\u0081\u0203\3\2\2\2\u0083\u0208\3\2\2\2\u0085\u020b\3\2\2\2\u0087\u0212"+ - "\3\2\2\2\u0089\u0218\3\2\2\2\u008b\u0224\3\2\2\2\u008d\u022b\3\2\2\2\u008f"+ - "\u0232\3\2\2\2\u0091\u0236\3\2\2\2\u0093\u0261\3\2\2\2\u0095\u0263\3\2"+ - "\2\2\u0097\u0265\3\2\2\2\u0099\u0267\3\2\2\2\u009b\u0269\3\2\2\2\u009d"+ - "\u026b\3\2\2\2\u009f\u026d\3\2\2\2\u00a1\u026f\3\2\2\2\u00a3\u0271\3\2"+ - "\2\2\u00a5\u0273\3\2\2\2\u00a7\u0275\3\2\2\2\u00a9\u0277\3\2\2\2\u00ab"+ - "\u0279\3\2\2\2\u00ad\u027b\3\2\2\2\u00af\u027d\3\2\2\2\u00b1\u027f\3\2"+ - "\2\2\u00b3\u0281\3\2\2\2\u00b5\u0283\3\2\2\2\u00b7\u0285\3\2\2\2\u00b9"+ - "\u0287\3\2\2\2\u00bb\u0289\3\2\2\2\u00bd\u028b\3\2\2\2\u00bf\u028d\3\2"+ - "\2\2\u00c1\u028f\3\2\2\2\u00c3\u0291\3\2\2\2\u00c5\u0293\3\2\2\2\u00c7"+ - "\u02ae\3\2\2\2\u00c9\u02ca\3\2\2\2\u00cb\u02cd\3\2\2\2\u00cd\u02d1\3\2"+ - "\2\2\u00cf\u02d4\3\2\2\2\u00d1\u02f4\3\2\2\2\u00d3\u0307\3\2\2\2\u00d5"+ - "\u00d6\7(\2\2\u00d6\u00d7\7(\2\2\u00d7\4\3\2\2\2\u00d8\u00d9\7~\2\2\u00d9"+ - "\u00da\7~\2\2\u00da\6\3\2\2\2\u00db\u00dc\7#\2\2\u00dc\b\3\2\2\2\u00dd"+ - "\u00de\7\u0080\2\2\u00de\n\3\2\2\2\u00df\u00e0\7~\2\2\u00e0\f\3\2\2\2"+ - "\u00e1\u00e2\7(\2\2\u00e2\16\3\2\2\2\u00e3\u00e4\7>\2\2\u00e4\u00e5\7"+ - ">\2\2\u00e5\20\3\2\2\2\u00e6\u00e7\7@\2\2\u00e7\u00e8\7@\2\2\u00e8\22"+ - "\3\2\2\2\u00e9\u00ea\7`\2\2\u00ea\24\3\2\2\2\u00eb\u00ec\7\'\2\2\u00ec"+ - "\26\3\2\2\2\u00ed\u00ee\7<\2\2\u00ee\30\3\2\2\2\u00ef\u00f0\7-\2\2\u00f0"+ - "\32\3\2\2\2\u00f1\u00f2\7/\2\2\u00f2\34\3\2\2\2\u00f3\u00f4\7,\2\2\u00f4"+ - "\36\3\2\2\2\u00f5\u00f6\7\61\2\2\u00f6 \3\2\2\2\u00f7\u00f8\7^\2\2\u00f8"+ - "\"\3\2\2\2\u00f9\u00fa\7\60\2\2\u00fa$\3\2\2\2\u00fb\u00fc\7\60\2\2\u00fc"+ - "\u00fd\7,\2\2\u00fd&\3\2\2\2\u00fe\u00ff\7>\2\2\u00ff\u0100\7?\2\2\u0100"+ - "\u0101\7@\2\2\u0101(\3\2\2\2\u0102\u0103\7?\2\2\u0103\u0104\7?\2\2\u0104"+ - "*\3\2\2\2\u0105\u0106\7?\2\2\u0106,\3\2\2\2\u0107\u0108\7>\2\2\u0108\u010c"+ - "\7@\2\2\u0109\u010a\7#\2\2\u010a\u010c\7?\2\2\u010b\u0107\3\2\2\2\u010b"+ - "\u0109\3\2\2\2\u010c.\3\2\2\2\u010d\u010e\7@\2\2\u010e\60\3\2\2\2\u010f"+ - "\u0110\7@\2\2\u0110\u0111\7?\2\2\u0111\62\3\2\2\2\u0112\u0113\7>\2\2\u0113"+ - "\64\3\2\2\2\u0114\u0115\7>\2\2\u0115\u0116\7?\2\2\u0116\66\3\2\2\2\u0117"+ - "\u0118\7%\2\2\u01188\3\2\2\2\u0119\u011a\7*\2\2\u011a:\3\2\2\2\u011b\u011c"+ - "\7+\2\2\u011c<\3\2\2\2\u011d\u011e\7}\2\2\u011e>\3\2\2\2\u011f\u0120\7"+ - "\177\2\2\u0120@\3\2\2\2\u0121\u0122\7]\2\2\u0122B\3\2\2\2\u0123\u0124"+ - "\7_\2\2\u0124D\3\2\2\2\u0125\u0126\7.\2\2\u0126F\3\2\2\2\u0127\u0128\7"+ - "$\2\2\u0128H\3\2\2\2\u0129\u012a\7)\2\2\u012aJ\3\2\2\2\u012b\u012c\7b"+ - "\2\2\u012cL\3\2\2\2\u012d\u012e\7A\2\2\u012eN\3\2\2\2\u012f\u0130\7B\2"+ - "\2\u0130P\3\2\2\2\u0131\u0132\7=\2\2\u0132R\3\2\2\2\u0133\u0134\7/\2\2"+ - "\u0134\u0135\7@\2\2\u0135\u0136\7@\2\2\u0136T\3\2\2\2\u0137\u0138\7a\2"+ - "\2\u0138V\3\2\2\2\u0139\u013b\t\2\2\2\u013a\u0139\3\2\2\2\u013b\u013c"+ - "\3\2\2\2\u013c\u013a\3\2\2\2\u013c\u013d\3\2\2\2\u013d\u013e\3\2\2\2\u013e"+ - "\u013f\b,\2\2\u013fX\3\2\2\2\u0140\u0141\5\u00b9]\2\u0141\u0142\5\u00b5"+ - "[\2\u0142\u0143\5\u00bb^\2\u0143\u0144\5\u009bN\2\u0144Z\3\2\2\2\u0145"+ - "\u0146\5\u009dO\2\u0146\u0147\5\u0093J\2\u0147\u0148\5\u00a9U\2\u0148"+ - "\u0149\5\u00b7\\\2\u0149\u014a\5\u009bN\2\u014a\\\3\2\2\2\u014b\u014c"+ - "\5\u0097L\2\u014c\u014d\5\u00b5[\2\u014d\u014e\5\u009bN\2\u014e\u014f"+ - "\5\u0093J\2\u014f\u0150\5\u00b9]\2\u0150\u0151\5\u009bN\2\u0151^\3\2\2"+ - "\2\u0152\u0153\5\u0093J\2\u0153\u0154\5\u00a9U\2\u0154\u0155\5\u00b9]"+ - "\2\u0155\u0156\5\u009bN\2\u0156\u0157\5\u00b5[\2\u0157`\3\2\2\2\u0158"+ - "\u0159\5\u0099M\2\u0159\u015a\5\u00b5[\2\u015a\u015b\5\u00afX\2\u015b"+ - "\u015c\5\u00b1Y\2\u015cb\3\2\2\2\u015d\u015e\5\u00b7\\\2\u015e\u015f\5"+ - "\u00a1Q\2\u015f\u0160\5\u00afX\2\u0160\u0161\5\u00bf`\2\u0161d\3\2\2\2"+ - "\u0162\u0163\5\u00b5[\2\u0163\u0164\5\u00bb^\2\u0164\u0165\5\u00a9U\2"+ - "\u0165\u0166\5\u009bN\2\u0166f\3\2\2\2\u0167\u0168\5\u009dO\2\u0168\u0169"+ - "\5\u00b5[\2\u0169\u016a\5\u00afX\2\u016a\u016b\5\u00abV\2\u016bh\3\2\2"+ - "\2\u016c\u016d\5\u00b5[\2\u016d\u016e\5\u009bN\2\u016e\u016f\5\u0093J"+ - "\2\u016f\u0170\5\u0099M\2\u0170\u0171\5\u00bf`\2\u0171\u0172\5\u00b5["+ - "\2\u0172\u0173\5\u00a3R\2\u0173\u0174\5\u00b9]\2\u0174\u0175\5\u009bN"+ - "\2\u0175\u0176\5U+\2\u0176\u0177\5\u00b7\\\2\u0177\u0178\5\u00b1Y\2\u0178"+ - "\u0179\5\u00a9U\2\u0179\u017a\5\u00a3R\2\u017a\u017b\5\u00b9]\2\u017b"+ - "\u017c\5\u00b9]\2\u017c\u017d\5\u00a3R\2\u017d\u017e\5\u00adW\2\u017e"+ - "\u017f\5\u009fP\2\u017fj\3\2\2\2\u0180\u0181\5\u00bf`\2\u0181\u0182\5"+ - "\u00b5[\2\u0182\u0183\5\u00a3R\2\u0183\u0184\5\u00b9]\2\u0184\u0185\5"+ - "\u009bN\2\u0185\u0186\5U+\2\u0186\u0187\5\u00b7\\\2\u0187\u0188\5\u00b9"+ - "]\2\u0188\u0189\5\u00afX\2\u0189\u018a\5\u00b5[\2\u018a\u018b\5\u0093"+ - "J\2\u018b\u018c\5\u009fP\2\u018c\u018d\5\u009bN\2\u018d\u018e\5U+\2\u018e"+ - "\u018f\5\u00bb^\2\u018f\u0190\5\u00adW\2\u0190\u0191\5\u00a3R\2\u0191"+ - "\u0192\5\u00b9]\2\u0192l\3\2\2\2\u0193\u0194\5\u00b5[\2\u0194\u0195\5"+ - "\u009bN\2\u0195\u0196\5\u0093J\2\u0196\u0197\5\u0099M\2\u0197\u0198\5"+ - "U+\2\u0198\u0199\5\u00b7\\\2\u0199\u019a\5\u00b9]\2\u019a\u019b\5\u00af"+ - "X\2\u019b\u019c\5\u00b5[\2\u019c\u019d\5\u0093J\2\u019d\u019e\5\u009f"+ - "P\2\u019e\u019f\5\u009bN\2\u019f\u01a0\5U+\2\u01a0\u01a1\5\u00bb^\2\u01a1"+ - "\u01a2\5\u00adW\2\u01a2\u01a3\5\u00a3R\2\u01a3\u01a4\5\u00b9]\2\u01a4"+ - "\u01a5\5\u00b7\\\2\u01a5n\3\2\2\2\u01a6\u01a7\5\u00b9]\2\u01a7\u01a8\5"+ - "\u00b5[\2\u01a8\u01a9\5\u0093J\2\u01a9\u01aa\5\u00adW\2\u01aa\u01ab\5"+ - "\u00b7\\\2\u01ab\u01ac\5\u0093J\2\u01ac\u01ad\5\u0097L\2\u01ad\u01ae\5"+ - "\u00b9]\2\u01ae\u01af\5\u00a3R\2\u01af\u01b0\5\u00afX\2\u01b0\u01b1\5"+ - "\u00adW\2\u01b1\u01b2\5\u0093J\2\u01b2\u01b3\5\u00a9U\2\u01b3\u01b4\5"+ - "U+\2\u01b4\u01b5\5\u00b5[\2\u01b5\u01b6\5\u009bN\2\u01b6\u01b7\5\u0093"+ - "J\2\u01b7\u01b8\5\u0099M\2\u01b8\u01b9\5U+\2\u01b9\u01ba\5\u00b3Z\2\u01ba"+ - "\u01bb\5\u00bb^\2\u01bb\u01bc\5\u009bN\2\u01bc\u01bd\5\u00b5[\2\u01bd"+ - "\u01be\5\u00c3b\2\u01be\u01bf\5U+\2\u01bf\u01c0\5\u00b7\\\2\u01c0\u01c1"+ - "\5\u00b9]\2\u01c1\u01c2\5\u00b5[\2\u01c2\u01c3\5\u0093J\2\u01c3\u01c4"+ - "\5\u00b9]\2\u01c4\u01c5\5\u009bN\2\u01c5\u01c6\5\u009fP\2\u01c6\u01c7"+ - "\5\u00c3b\2\u01c7p\3\2\2\2\u01c8\u01c9\5\u00b9]\2\u01c9\u01ca\5\u00c3"+ - "b\2\u01ca\u01cb\5\u00b1Y\2\u01cb\u01cc\5\u009bN\2\u01ccr\3\2\2\2\u01cd"+ - "\u01ce\5\u00adW\2\u01ce\u01cf\5\u0093J\2\u01cf\u01d0\5\u00abV\2\u01d0"+ - "\u01d1\5\u009bN\2\u01d1t\3\2\2\2\u01d2\u01d3\5\u00b1Y\2\u01d3\u01d4\5"+ - "\u00b5[\2\u01d4\u01d5\5\u00afX\2\u01d5\u01d6\5\u00b1Y\2\u01d6\u01d7\5"+ - "\u009bN\2\u01d7\u01d8\5\u00b5[\2\u01d8\u01d9\5\u00b9]\2\u01d9\u01da\5"+ - "\u00a3R\2\u01da\u01db\5\u009bN\2\u01db\u01dc\5\u00b7\\\2\u01dcv\3\2\2"+ - "\2\u01dd\u01de\5\u00b5[\2\u01de\u01df\5\u00bb^\2\u01df\u01e0\5\u00a9U"+ - "\2\u01e0\u01e1\5\u009bN\2\u01e1\u01e2\5\u00b7\\\2\u01e2x\3\2\2\2\u01e3"+ - "\u01e4\5\u00b5[\2\u01e4\u01e5\5\u009bN\2\u01e5\u01e6\5\u00b7\\\2\u01e6"+ - "\u01e7\5\u00afX\2\u01e7\u01e8\5\u00bb^\2\u01e8\u01e9\5\u00b5[\2\u01e9"+ - "\u01ea\5\u0097L\2\u01ea\u01eb\5\u009bN\2\u01eb\u01ec\5\u00b7\\\2\u01ec"+ - "z\3\2\2\2\u01ed\u01ee\5\u00b7\\\2\u01ee\u01ef\5\u00b9]\2\u01ef\u01f0\5"+ - "\u0093J\2\u01f0\u01f1\5\u00b9]\2\u01f1\u01f2\5\u00bb^\2\u01f2\u01f3\5"+ - "\u00b7\\\2\u01f3|\3\2\2\2\u01f4\u01f5\5\u009bN\2\u01f5\u01f6\5\u00adW"+ - "\2\u01f6\u01f7\5\u0093J\2\u01f7\u01f8\5\u0095K\2\u01f8\u01f9\5\u00a9U"+ - "\2\u01f9\u01fa\5\u009bN\2\u01fa~\3\2\2\2\u01fb\u01fc\5\u0099M\2\u01fc"+ - "\u01fd\5\u00a3R\2\u01fd\u01fe\5\u00b7\\\2\u01fe\u01ff\5\u0093J\2\u01ff"+ - "\u0200\5\u0095K\2\u0200\u0201\5\u00a9U\2\u0201\u0202\5\u009bN\2\u0202"+ - "\u0080\3\2\2\2\u0203\u0204\5\u00b5[\2\u0204\u0205\5\u009bN\2\u0205\u0206"+ - "\5\u0093J\2\u0206\u0207\5\u0099M\2\u0207\u0082\3\2\2\2\u0208\u0209\5\u00a3"+ - "R\2\u0209\u020a\5\u009dO\2\u020a\u0084\3\2\2\2\u020b\u020c\5\u009bN\2"+ - "\u020c\u020d\5\u00c1a\2\u020d\u020e\5\u00a3R\2\u020e\u020f\5\u00b7\\\2"+ - "\u020f\u0210\5\u00b9]\2\u0210\u0211\5\u00b7\\\2\u0211\u0086\3\2\2\2\u0212"+ - "\u0213\5\u0097L\2\u0213\u0214\5\u00afX\2\u0214\u0215\5\u00bb^\2\u0215"+ - "\u0216\5\u00adW\2\u0216\u0217\5\u00b9]\2\u0217\u0088\3\2\2\2\u0218\u0219"+ - "\5\u00b5[\2\u0219\u021a\5\u00afX\2\u021a\u021b\5\u00bb^\2\u021b\u021c"+ - "\5\u00adW\2\u021c\u021d\5\u0099M\2\u021d\u021e\5U+\2\u021e\u021f\5\u00b5"+ - "[\2\u021f\u0220\5\u00afX\2\u0220\u0221\5\u0095K\2\u0221\u0222\5\u00a3"+ - "R\2\u0222\u0223\5\u00adW\2\u0223\u008a\3\2\2\2\u0224\u0225\5\u00b5[\2"+ - "\u0225\u0226\5\u0093J\2\u0226\u0227\5\u00adW\2\u0227\u0228\5\u0099M\2"+ - "\u0228\u0229\5\u00afX\2\u0229\u022a\5\u00abV\2\u022a\u008c\3\2\2\2\u022b"+ - "\u022c\5\u00bf`\2\u022c\u022d\5\u009bN\2\u022d\u022e\5\u00a3R\2\u022e"+ - "\u022f\5\u009fP\2\u022f\u0230\5\u00a1Q\2\u0230\u0231\5\u00b9]\2\u0231"+ - "\u008e\3\2\2\2\u0232\u0233\5\u00adW\2\u0233\u0234\5\u00afX\2\u0234\u0235"+ - "\5\u00b9]\2\u0235\u0090\3\2\2\2\u0236\u0237\7F\2\2\u0237\u0238\7Q\2\2"+ - "\u0238\u0239\7\"\2\2\u0239\u023a\7P\2\2\u023a\u023b\7Q\2\2\u023b\u023c"+ - "\7V\2\2\u023c\u023d\7\"\2\2\u023d\u023e\7O\2\2\u023e\u023f\7C\2\2\u023f"+ - "\u0240\7V\2\2\u0240\u0241\7E\2\2\u0241\u0242\7J\2\2\u0242\u0243\7\"\2"+ - "\2\u0243\u0244\7C\2\2\u0244\u0245\7P\2\2\u0245\u0246\7[\2\2\u0246\u0247"+ - "\7\"\2\2\u0247\u0248\7V\2\2\u0248\u0249\7J\2\2\u0249\u024a\7K\2\2\u024a"+ - "\u024b\7P\2\2\u024b\u024c\7I\2\2\u024c\u024d\7.\2\2\u024d\u024e\7\"\2"+ - "\2\u024e\u024f\7L\2\2\u024f\u0250\7W\2\2\u0250\u0251\7U\2\2\u0251\u0252"+ - "\7V\2\2\u0252\u0253\7\"\2\2\u0253\u0254\7H\2\2\u0254\u0255\7Q\2\2\u0255"+ - "\u0256\7T\2\2\u0256\u0257\7\"\2\2\u0257\u0258\7I\2\2\u0258\u0259\7G\2"+ - "\2\u0259\u025a\7P\2\2\u025a\u025b\7G\2\2\u025b\u025c\7T\2\2\u025c\u025d"+ - "\7C\2\2\u025d\u025e\7V\2\2\u025e\u025f\7Q\2\2\u025f\u0260\7T\2\2\u0260"+ - "\u0092\3\2\2\2\u0261\u0262\t\3\2\2\u0262\u0094\3\2\2\2\u0263\u0264\t\4"+ - "\2\2\u0264\u0096\3\2\2\2\u0265\u0266\t\5\2\2\u0266\u0098\3\2\2\2\u0267"+ - "\u0268\t\6\2\2\u0268\u009a\3\2\2\2\u0269\u026a\t\7\2\2\u026a\u009c\3\2"+ - "\2\2\u026b\u026c\t\b\2\2\u026c\u009e\3\2\2\2\u026d\u026e\t\t\2\2\u026e"+ - "\u00a0\3\2\2\2\u026f\u0270\t\n\2\2\u0270\u00a2\3\2\2\2\u0271\u0272\t\13"+ - "\2\2\u0272\u00a4\3\2\2\2\u0273\u0274\t\f\2\2\u0274\u00a6\3\2\2\2\u0275"+ - "\u0276\t\r\2\2\u0276\u00a8\3\2\2\2\u0277\u0278\t\16\2\2\u0278\u00aa\3"+ - "\2\2\2\u0279\u027a\t\17\2\2\u027a\u00ac\3\2\2\2\u027b\u027c\t\20\2\2\u027c"+ - "\u00ae\3\2\2\2\u027d\u027e\t\21\2\2\u027e\u00b0\3\2\2\2\u027f\u0280\t"+ - "\22\2\2\u0280\u00b2\3\2\2\2\u0281\u0282\t\23\2\2\u0282\u00b4\3\2\2\2\u0283"+ - "\u0284\t\24\2\2\u0284\u00b6\3\2\2\2\u0285\u0286\t\25\2\2\u0286\u00b8\3"+ - "\2\2\2\u0287\u0288\t\26\2\2\u0288\u00ba\3\2\2\2\u0289\u028a\t\27\2\2\u028a"+ - "\u00bc\3\2\2\2\u028b\u028c\t\30\2\2\u028c\u00be\3\2\2\2\u028d\u028e\t"+ - "\31\2\2\u028e\u00c0\3\2\2\2\u028f\u0290\t\32\2\2\u0290\u00c2\3\2\2\2\u0291"+ - "\u0292\t\33\2\2\u0292\u00c4\3\2\2\2\u0293\u0294\t\34\2\2\u0294\u00c6\3"+ - "\2\2\2\u0295\u0297\t\35\2\2\u0296\u0295\3\2\2\2\u0297\u029a\3\2\2\2\u0298"+ - "\u0299\3\2\2\2\u0298\u0296\3\2\2\2\u0299\u029c\3\2\2\2\u029a\u0298\3\2"+ - "\2\2\u029b\u029d\t\36\2\2\u029c\u029b\3\2\2\2\u029d\u029e\3\2\2\2\u029e"+ - "\u029f\3\2\2\2\u029e\u029c\3\2\2\2\u029f\u02a3\3\2\2\2\u02a0\u02a2\t\35"+ - "\2\2\u02a1\u02a0\3\2\2\2\u02a2\u02a5\3\2\2\2\u02a3\u02a1\3\2\2\2\u02a3"+ - "\u02a4\3\2\2\2\u02a4\u02af\3\2\2\2\u02a5\u02a3\3\2\2\2\u02a6\u02a8\5K"+ - "&\2\u02a7\u02a9\n\37\2\2\u02a8\u02a7\3\2\2\2\u02a9\u02aa\3\2\2\2\u02aa"+ - "\u02a8\3\2\2\2\u02aa\u02ab\3\2\2\2\u02ab\u02ac\3\2\2\2\u02ac\u02ad\5K"+ - "&\2\u02ad\u02af\3\2\2\2\u02ae\u0298\3\2\2\2\u02ae\u02a6\3\2\2\2\u02af"+ - "\u00c8\3\2\2\2\u02b0\u02b8\5G$\2\u02b1\u02b2\7^\2\2\u02b2\u02b7\13\2\2"+ - "\2\u02b3\u02b4\7$\2\2\u02b4\u02b7\7$\2\2\u02b5\u02b7\n \2\2\u02b6\u02b1"+ - "\3\2\2\2\u02b6\u02b3\3\2\2\2\u02b6\u02b5\3\2\2\2\u02b7\u02ba\3\2\2\2\u02b8"+ - "\u02b6\3\2\2\2\u02b8\u02b9\3\2\2\2\u02b9\u02bb\3\2\2\2\u02ba\u02b8\3\2"+ - "\2\2\u02bb\u02bc\5G$\2\u02bc\u02cb\3\2\2\2\u02bd\u02c5\5I%\2\u02be\u02bf"+ - "\7^\2\2\u02bf\u02c4\13\2\2\2\u02c0\u02c1\7)\2\2\u02c1\u02c4\7)\2\2\u02c2"+ - "\u02c4\n!\2\2\u02c3\u02be\3\2\2\2\u02c3\u02c0\3\2\2\2\u02c3\u02c2\3\2"+ - "\2\2\u02c4\u02c7\3\2\2\2\u02c5\u02c3\3\2\2\2\u02c5\u02c6\3\2\2\2\u02c6"+ - "\u02c8\3\2\2\2\u02c7\u02c5\3\2\2\2\u02c8\u02c9\5I%\2\u02c9\u02cb\3\2\2"+ - "\2\u02ca\u02b0\3\2\2\2\u02ca\u02bd\3\2\2\2\u02cb\u00ca\3\2\2\2\u02cc\u02ce"+ - "\t\"\2\2\u02cd\u02cc\3\2\2\2\u02ce\u02cf\3\2\2\2\u02cf\u02cd\3\2\2\2\u02cf"+ - "\u02d0\3\2\2\2\u02d0\u00cc\3\2\2\2\u02d1\u02d2\t#\2\2\u02d2\u00ce\3\2"+ - "\2\2\u02d3\u02d5\5\u00cbf\2\u02d4\u02d3\3\2\2\2\u02d4\u02d5\3\2\2\2\u02d5"+ - "\u02d7\3\2\2\2\u02d6\u02d8\5#\22\2\u02d7\u02d6\3\2\2\2\u02d7\u02d8\3\2"+ - "\2\2\u02d8\u02d9\3\2\2\2\u02d9\u02e1\5\u00cbf\2\u02da\u02dd\5\u009bN\2"+ - "\u02db\u02de\5\31\r\2\u02dc\u02de\5\33\16\2\u02dd\u02db\3\2\2\2\u02dd"+ - "\u02dc\3\2\2\2\u02dd\u02de\3\2\2\2\u02de\u02df\3\2\2\2\u02df\u02e0\5\u00cb"+ - "f\2\u02e0\u02e2\3\2\2\2\u02e1\u02da\3\2\2\2\u02e1\u02e2\3\2\2\2\u02e2"+ - "\u00d0\3\2\2\2\u02e3\u02e4\7\62\2\2\u02e4\u02e5\7z\2\2\u02e5\u02e7\3\2"+ - "\2\2\u02e6\u02e8\5\u00cdg\2\u02e7\u02e6\3\2\2\2\u02e8\u02e9\3\2\2\2\u02e9"+ - "\u02e7\3\2\2\2\u02e9\u02ea\3\2\2\2\u02ea\u02f5\3\2\2\2\u02eb\u02ec\7Z"+ - "\2\2\u02ec\u02ee\5I%\2\u02ed\u02ef\5\u00cdg\2\u02ee\u02ed\3\2\2\2\u02ef"+ - "\u02f0\3\2\2\2\u02f0\u02ee\3\2\2\2\u02f0\u02f1\3\2\2\2\u02f1\u02f2\3\2"+ - "\2\2\u02f2\u02f3\5I%\2\u02f3\u02f5\3\2\2\2\u02f4\u02e3\3\2\2\2\u02f4\u02eb"+ - "\3\2\2\2\u02f5\u00d2\3\2\2\2\u02f6\u02f7\7\62\2\2\u02f7\u02f8\7d\2\2\u02f8"+ - "\u02fa\3\2\2\2\u02f9\u02fb\4\62\63\2\u02fa\u02f9\3\2\2\2\u02fb\u02fc\3"+ - "\2\2\2\u02fc\u02fa\3\2\2\2\u02fc\u02fd\3\2\2\2\u02fd\u0308\3\2\2\2\u02fe"+ - "\u02ff\5\u0095K\2\u02ff\u0301\5I%\2\u0300\u0302\4\62\63\2\u0301\u0300"+ - "\3\2\2\2\u0302\u0303\3\2\2\2\u0303\u0301\3\2\2\2\u0303\u0304\3\2\2\2\u0304"+ - "\u0305\3\2\2\2\u0305\u0306\5I%\2\u0306\u0308\3\2\2\2\u0307\u02f6\3\2\2"+ - "\2\u0307\u02fe\3\2\2\2\u0308\u00d4\3\2\2\2\32\2\u010b\u013c\u0298\u029e"+ - "\u02a3\u02aa\u02ae\u02b6\u02b8\u02c3\u02c5\u02ca\u02cf\u02d4\u02d7\u02dd"+ - "\u02e1\u02e9\u02f0\u02f4\u02fc\u0303\u0307\3\b\2\2"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleLexer.tokens b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleLexer.tokens deleted file mode 100644 index 8f1734a8..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleLexer.tokens +++ /dev/null @@ -1,121 +0,0 @@ -AND_=1 -OR_=2 -NOT_=3 -TILDE_=4 -VERTICALBAR_=5 -AMPERSAND_=6 -SIGNEDLEFTSHIFT_=7 -SIGNEDRIGHTSHIFT_=8 -CARET_=9 -MOD_=10 -COLON_=11 -PLUS_=12 -MINUS_=13 -ASTERISK_=14 -SLASH_=15 -BACKSLASH_=16 -DOT_=17 -DOTASTERISK_=18 -SAFEEQ_=19 -DEQ_=20 -EQ_=21 -NEQ_=22 -GT_=23 -GTE_=24 -LT_=25 -LTE_=26 -POUND_=27 -LP_=28 -RP_=29 -LBE_=30 -RBE_=31 -LBT_=32 -RBT_=33 -COMMA_=34 -DQ_=35 -SQ_=36 -BQ_=37 -QUESTION_=38 -AT_=39 -SEMI_=40 -JSONSEPARATOR_=41 -UL_=42 -WS=43 -TRUE=44 -FALSE=45 -CREATE=46 -ALTER=47 -DROP=48 -SHOW=49 -RULE=50 -FROM=51 -READWRITE_SPLITTING=52 -WRITE_STORAGE_UNIT=53 -READ_STORAGE_UNITS=54 -TRANSACTIONAL_READ_QUERY_STRATEGY=55 -TYPE=56 -NAME=57 -PROPERTIES=58 -RULES=59 -RESOURCES=60 -STATUS=61 -ENABLE=62 -DISABLE=63 -READ=64 -IF=65 -EXISTS=66 -COUNT=67 -ROUND_ROBIN=68 -RANDOM=69 -WEIGHT=70 -NOT=71 -FOR_GENERATOR=72 -IDENTIFIER_=73 -STRING_=74 -INT_=75 -HEX_=76 -NUMBER_=77 -HEXDIGIT_=78 -BITNUM_=79 -'&&'=1 -'||'=2 -'!'=3 -'~'=4 -'|'=5 -'&'=6 -'<<'=7 -'>>'=8 -'^'=9 -'%'=10 -':'=11 -'+'=12 -'-'=13 -'*'=14 -'/'=15 -'\\'=16 -'.'=17 -'.*'=18 -'<=>'=19 -'=='=20 -'='=21 -'>'=23 -'>='=24 -'<'=25 -'<='=26 -'#'=27 -'('=28 -')'=29 -'{'=30 -'}'=31 -'['=32 -']'=33 -','=34 -'"'=35 -'\''=36 -'`'=37 -'?'=38 -'@'=39 -';'=40 -'->>'=41 -'_'=42 -'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=72 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleParser.java b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleParser.java deleted file mode 100644 index d209a889..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/BaseRuleParser.java +++ /dev/null @@ -1,608 +0,0 @@ -// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/BaseRule.g4 by ANTLR 4.9.2 -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.misc.*; -import org.antlr.v4.runtime.tree.*; -import java.util.List; -import java.util.Iterator; -import java.util.ArrayList; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class BaseRuleParser extends Parser { - static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, - SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, - ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, - DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, - LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, - SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, - WS=43, TRUE=44, FALSE=45, CREATE=46, ALTER=47, DROP=48, SHOW=49, RULE=50, - FROM=51, READWRITE_SPLITTING=52, WRITE_STORAGE_UNIT=53, READ_STORAGE_UNITS=54, - TRANSACTIONAL_READ_QUERY_STRATEGY=55, TYPE=56, NAME=57, PROPERTIES=58, - RULES=59, RESOURCES=60, STATUS=61, ENABLE=62, DISABLE=63, READ=64, IF=65, - EXISTS=66, COUNT=67, ROUND_ROBIN=68, RANDOM=69, WEIGHT=70, NOT=71, FOR_GENERATOR=72, - IDENTIFIER_=73, STRING_=74, INT_=75, HEX_=76, NUMBER_=77, HEXDIGIT_=78, - BITNUM_=79; - public static final int - RULE_literal = 0, RULE_algorithmDefinition = 1, RULE_algorithmTypeName = 2, - RULE_buildInReadQueryLoadBalanceAlgorithmType = 3, RULE_propertiesDefinition = 4, - RULE_properties = 5, RULE_property = 6, RULE_databaseName = 7, RULE_groupName = 8, - RULE_storageUnitName = 9; - private static String[] makeRuleNames() { - return new String[] { - "literal", "algorithmDefinition", "algorithmTypeName", "buildInReadQueryLoadBalanceAlgorithmType", - "propertiesDefinition", "properties", "property", "databaseName", "groupName", - "storageUnitName" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", - "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", - "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", - "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", - "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", - "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", - "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", - "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", - "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", - "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", - "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", "FROM", "READWRITE_SPLITTING", - "WRITE_STORAGE_UNIT", "READ_STORAGE_UNITS", "TRANSACTIONAL_READ_QUERY_STRATEGY", - "TYPE", "NAME", "PROPERTIES", "RULES", "RESOURCES", "STATUS", "ENABLE", - "DISABLE", "READ", "IF", "EXISTS", "COUNT", "ROUND_ROBIN", "RANDOM", - "WEIGHT", "NOT", "FOR_GENERATOR", "IDENTIFIER_", "STRING_", "INT_", "HEX_", - "NUMBER_", "HEXDIGIT_", "BITNUM_" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - @Override - public String getGrammarFileName() { return "BaseRule.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public ATN getATN() { return _ATN; } - - public BaseRuleParser(TokenStream input) { - super(input); - _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - public static class LiteralContext extends ParserRuleContext { - public TerminalNode STRING_() { return getToken(BaseRuleParser.STRING_, 0); } - public TerminalNode INT_() { return getToken(BaseRuleParser.INT_, 0); } - public TerminalNode MINUS_() { return getToken(BaseRuleParser.MINUS_, 0); } - public TerminalNode TRUE() { return getToken(BaseRuleParser.TRUE, 0); } - public TerminalNode FALSE() { return getToken(BaseRuleParser.FALSE, 0); } - public LiteralContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_literal; } - } - - public final LiteralContext literal() throws RecognitionException { - LiteralContext _localctx = new LiteralContext(_ctx, getState()); - enterRule(_localctx, 0, RULE_literal); - int _la; - try { - setState(27); - _errHandler.sync(this); - switch (_input.LA(1)) { - case STRING_: - enterOuterAlt(_localctx, 1); - { - setState(20); - match(STRING_); - } - break; - case MINUS_: - case INT_: - enterOuterAlt(_localctx, 2); - { - setState(22); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==MINUS_) { - { - setState(21); - match(MINUS_); - } - } - - setState(24); - match(INT_); - } - break; - case TRUE: - enterOuterAlt(_localctx, 3); - { - setState(25); - match(TRUE); - } - break; - case FALSE: - enterOuterAlt(_localctx, 4); - { - setState(26); - match(FALSE); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AlgorithmDefinitionContext extends ParserRuleContext { - public TerminalNode TYPE() { return getToken(BaseRuleParser.TYPE, 0); } - public TerminalNode LP_() { return getToken(BaseRuleParser.LP_, 0); } - public TerminalNode NAME() { return getToken(BaseRuleParser.NAME, 0); } - public TerminalNode EQ_() { return getToken(BaseRuleParser.EQ_, 0); } - public AlgorithmTypeNameContext algorithmTypeName() { - return getRuleContext(AlgorithmTypeNameContext.class,0); - } - public TerminalNode RP_() { return getToken(BaseRuleParser.RP_, 0); } - public TerminalNode COMMA_() { return getToken(BaseRuleParser.COMMA_, 0); } - public PropertiesDefinitionContext propertiesDefinition() { - return getRuleContext(PropertiesDefinitionContext.class,0); - } - public AlgorithmDefinitionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_algorithmDefinition; } - } - - public final AlgorithmDefinitionContext algorithmDefinition() throws RecognitionException { - AlgorithmDefinitionContext _localctx = new AlgorithmDefinitionContext(_ctx, getState()); - enterRule(_localctx, 2, RULE_algorithmDefinition); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(29); - match(TYPE); - setState(30); - match(LP_); - setState(31); - match(NAME); - setState(32); - match(EQ_); - setState(33); - algorithmTypeName(); - setState(36); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==COMMA_) { - { - setState(34); - match(COMMA_); - setState(35); - propertiesDefinition(); - } - } - - setState(38); - match(RP_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AlgorithmTypeNameContext extends ParserRuleContext { - public TerminalNode STRING_() { return getToken(BaseRuleParser.STRING_, 0); } - public BuildInReadQueryLoadBalanceAlgorithmTypeContext buildInReadQueryLoadBalanceAlgorithmType() { - return getRuleContext(BuildInReadQueryLoadBalanceAlgorithmTypeContext.class,0); - } - public AlgorithmTypeNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_algorithmTypeName; } - } - - public final AlgorithmTypeNameContext algorithmTypeName() throws RecognitionException { - AlgorithmTypeNameContext _localctx = new AlgorithmTypeNameContext(_ctx, getState()); - enterRule(_localctx, 4, RULE_algorithmTypeName); - try { - setState(42); - _errHandler.sync(this); - switch (_input.LA(1)) { - case STRING_: - enterOuterAlt(_localctx, 1); - { - setState(40); - match(STRING_); - } - break; - case ROUND_ROBIN: - case RANDOM: - case WEIGHT: - enterOuterAlt(_localctx, 2); - { - setState(41); - buildInReadQueryLoadBalanceAlgorithmType(); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class BuildInReadQueryLoadBalanceAlgorithmTypeContext extends ParserRuleContext { - public TerminalNode ROUND_ROBIN() { return getToken(BaseRuleParser.ROUND_ROBIN, 0); } - public TerminalNode RANDOM() { return getToken(BaseRuleParser.RANDOM, 0); } - public TerminalNode WEIGHT() { return getToken(BaseRuleParser.WEIGHT, 0); } - public BuildInReadQueryLoadBalanceAlgorithmTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_buildInReadQueryLoadBalanceAlgorithmType; } - } - - public final BuildInReadQueryLoadBalanceAlgorithmTypeContext buildInReadQueryLoadBalanceAlgorithmType() throws RecognitionException { - BuildInReadQueryLoadBalanceAlgorithmTypeContext _localctx = new BuildInReadQueryLoadBalanceAlgorithmTypeContext(_ctx, getState()); - enterRule(_localctx, 6, RULE_buildInReadQueryLoadBalanceAlgorithmType); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(44); - _la = _input.LA(1); - if ( !(((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & ((1L << (ROUND_ROBIN - 68)) | (1L << (RANDOM - 68)) | (1L << (WEIGHT - 68)))) != 0)) ) { - _errHandler.recoverInline(this); - } - else { - if ( _input.LA(1)==Token.EOF ) matchedEOF = true; - _errHandler.reportMatch(this); - consume(); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PropertiesDefinitionContext extends ParserRuleContext { - public TerminalNode PROPERTIES() { return getToken(BaseRuleParser.PROPERTIES, 0); } - public TerminalNode LP_() { return getToken(BaseRuleParser.LP_, 0); } - public TerminalNode RP_() { return getToken(BaseRuleParser.RP_, 0); } - public PropertiesContext properties() { - return getRuleContext(PropertiesContext.class,0); - } - public PropertiesDefinitionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_propertiesDefinition; } - } - - public final PropertiesDefinitionContext propertiesDefinition() throws RecognitionException { - PropertiesDefinitionContext _localctx = new PropertiesDefinitionContext(_ctx, getState()); - enterRule(_localctx, 8, RULE_propertiesDefinition); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(46); - match(PROPERTIES); - setState(47); - match(LP_); - setState(49); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==STRING_) { - { - setState(48); - properties(); - } - } - - setState(51); - match(RP_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PropertiesContext extends ParserRuleContext { - public List property() { - return getRuleContexts(PropertyContext.class); - } - public PropertyContext property(int i) { - return getRuleContext(PropertyContext.class,i); - } - public List COMMA_() { return getTokens(BaseRuleParser.COMMA_); } - public TerminalNode COMMA_(int i) { - return getToken(BaseRuleParser.COMMA_, i); - } - public PropertiesContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_properties; } - } - - public final PropertiesContext properties() throws RecognitionException { - PropertiesContext _localctx = new PropertiesContext(_ctx, getState()); - enterRule(_localctx, 10, RULE_properties); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(53); - property(); - setState(58); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA_) { - { - { - setState(54); - match(COMMA_); - setState(55); - property(); - } - } - setState(60); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PropertyContext extends ParserRuleContext { - public Token key; - public LiteralContext value; - public TerminalNode EQ_() { return getToken(BaseRuleParser.EQ_, 0); } - public TerminalNode STRING_() { return getToken(BaseRuleParser.STRING_, 0); } - public LiteralContext literal() { - return getRuleContext(LiteralContext.class,0); - } - public PropertyContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_property; } - } - - public final PropertyContext property() throws RecognitionException { - PropertyContext _localctx = new PropertyContext(_ctx, getState()); - enterRule(_localctx, 12, RULE_property); - try { - enterOuterAlt(_localctx, 1); - { - setState(61); - ((PropertyContext)_localctx).key = match(STRING_); - setState(62); - match(EQ_); - setState(63); - ((PropertyContext)_localctx).value = literal(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class DatabaseNameContext extends ParserRuleContext { - public TerminalNode IDENTIFIER_() { return getToken(BaseRuleParser.IDENTIFIER_, 0); } - public DatabaseNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_databaseName; } - } - - public final DatabaseNameContext databaseName() throws RecognitionException { - DatabaseNameContext _localctx = new DatabaseNameContext(_ctx, getState()); - enterRule(_localctx, 14, RULE_databaseName); - try { - enterOuterAlt(_localctx, 1); - { - setState(65); - match(IDENTIFIER_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class GroupNameContext extends ParserRuleContext { - public TerminalNode IDENTIFIER_() { return getToken(BaseRuleParser.IDENTIFIER_, 0); } - public GroupNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_groupName; } - } - - public final GroupNameContext groupName() throws RecognitionException { - GroupNameContext _localctx = new GroupNameContext(_ctx, getState()); - enterRule(_localctx, 16, RULE_groupName); - try { - enterOuterAlt(_localctx, 1); - { - setState(67); - match(IDENTIFIER_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class StorageUnitNameContext extends ParserRuleContext { - public TerminalNode IDENTIFIER_() { return getToken(BaseRuleParser.IDENTIFIER_, 0); } - public StorageUnitNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_storageUnitName; } - } - - public final StorageUnitNameContext storageUnitName() throws RecognitionException { - StorageUnitNameContext _localctx = new StorageUnitNameContext(_ctx, getState()); - enterRule(_localctx, 18, RULE_storageUnitName); - try { - enterOuterAlt(_localctx, 1); - { - setState(69); - match(IDENTIFIER_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3QJ\4\2\t\2\4\3\t\3"+ - "\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\3\2"+ - "\3\2\5\2\31\n\2\3\2\3\2\3\2\5\2\36\n\2\3\3\3\3\3\3\3\3\3\3\3\3\3\3\5\3"+ - "\'\n\3\3\3\3\3\3\4\3\4\5\4-\n\4\3\5\3\5\3\6\3\6\3\6\5\6\64\n\6\3\6\3\6"+ - "\3\7\3\7\3\7\7\7;\n\7\f\7\16\7>\13\7\3\b\3\b\3\b\3\b\3\t\3\t\3\n\3\n\3"+ - "\13\3\13\3\13\2\2\f\2\4\6\b\n\f\16\20\22\24\2\3\3\2FH\2G\2\35\3\2\2\2"+ - "\4\37\3\2\2\2\6,\3\2\2\2\b.\3\2\2\2\n\60\3\2\2\2\f\67\3\2\2\2\16?\3\2"+ - "\2\2\20C\3\2\2\2\22E\3\2\2\2\24G\3\2\2\2\26\36\7L\2\2\27\31\7\17\2\2\30"+ - "\27\3\2\2\2\30\31\3\2\2\2\31\32\3\2\2\2\32\36\7M\2\2\33\36\7.\2\2\34\36"+ - "\7/\2\2\35\26\3\2\2\2\35\30\3\2\2\2\35\33\3\2\2\2\35\34\3\2\2\2\36\3\3"+ - "\2\2\2\37 \7:\2\2 !\7\36\2\2!\"\7;\2\2\"#\7\27\2\2#&\5\6\4\2$%\7$\2\2"+ - "%\'\5\n\6\2&$\3\2\2\2&\'\3\2\2\2\'(\3\2\2\2()\7\37\2\2)\5\3\2\2\2*-\7"+ - "L\2\2+-\5\b\5\2,*\3\2\2\2,+\3\2\2\2-\7\3\2\2\2./\t\2\2\2/\t\3\2\2\2\60"+ - "\61\7<\2\2\61\63\7\36\2\2\62\64\5\f\7\2\63\62\3\2\2\2\63\64\3\2\2\2\64"+ - "\65\3\2\2\2\65\66\7\37\2\2\66\13\3\2\2\2\67<\5\16\b\289\7$\2\29;\5\16"+ - "\b\2:8\3\2\2\2;>\3\2\2\2<:\3\2\2\2<=\3\2\2\2=\r\3\2\2\2><\3\2\2\2?@\7"+ - "L\2\2@A\7\27\2\2AB\5\2\2\2B\17\3\2\2\2CD\7K\2\2D\21\3\2\2\2EF\7K\2\2F"+ - "\23\3\2\2\2GH\7K\2\2H\25\3\2\2\2\b\30\35&,\63<"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Keyword.interp b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Keyword.interp deleted file mode 100644 index 17bd2c94..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Keyword.interp +++ /dev/null @@ -1,134 +0,0 @@ -token literal names: -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -'DO NOT MATCH ANY THING, JUST FOR GENERATOR' - -token symbolic names: -null -WS -TRUE -FALSE -CREATE -ALTER -DROP -SHOW -RULE -FROM -READWRITE_SPLITTING -WRITE_STORAGE_UNIT -READ_STORAGE_UNITS -TRANSACTIONAL_READ_QUERY_STRATEGY -TYPE -NAME -PROPERTIES -RULES -RESOURCES -STATUS -ENABLE -DISABLE -READ -IF -EXISTS -COUNT -ROUND_ROBIN -RANDOM -WEIGHT -NOT -FOR_GENERATOR - -rule names: -WS -TRUE -FALSE -CREATE -ALTER -DROP -SHOW -RULE -FROM -READWRITE_SPLITTING -WRITE_STORAGE_UNIT -READ_STORAGE_UNITS -TRANSACTIONAL_READ_QUERY_STRATEGY -TYPE -NAME -PROPERTIES -RULES -RESOURCES -STATUS -ENABLE -DISABLE -READ -IF -EXISTS -COUNT -ROUND_ROBIN -RANDOM -WEIGHT -NOT -FOR_GENERATOR -A -B -C -D -E -F -G -H -I -J -K -L -M -N -O -P -Q -R -S -T -U -V -W -X -Y -Z -UL_ - -channel names: -DEFAULT_TOKEN_CHANNEL -HIDDEN - -mode names: -DEFAULT_MODE - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 32, 467, 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, 3, 2, 6, 2, 119, 10, 2, 13, 2, 14, 2, 120, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 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, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 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, 12, 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, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 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, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 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, 22, 3, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 30, 3, 30, 3, 30, 3, 30, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 43, 3, 43, 3, 44, 3, 44, 3, 45, 3, 45, 3, 46, 3, 46, 3, 47, 3, 47, 3, 48, 3, 48, 3, 49, 3, 49, 3, 50, 3, 50, 3, 51, 3, 51, 3, 52, 3, 52, 3, 53, 3, 53, 3, 54, 3, 54, 3, 55, 3, 55, 3, 56, 3, 56, 3, 57, 3, 57, 3, 58, 3, 58, 2, 2, 59, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 2, 65, 2, 67, 2, 69, 2, 71, 2, 73, 2, 75, 2, 77, 2, 79, 2, 81, 2, 83, 2, 85, 2, 87, 2, 89, 2, 91, 2, 93, 2, 95, 2, 97, 2, 99, 2, 101, 2, 103, 2, 105, 2, 107, 2, 109, 2, 111, 2, 113, 2, 115, 2, 3, 2, 29, 5, 2, 11, 12, 15, 15, 34, 34, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 2, 440, 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, 3, 118, 3, 2, 2, 2, 5, 124, 3, 2, 2, 2, 7, 129, 3, 2, 2, 2, 9, 135, 3, 2, 2, 2, 11, 142, 3, 2, 2, 2, 13, 148, 3, 2, 2, 2, 15, 153, 3, 2, 2, 2, 17, 158, 3, 2, 2, 2, 19, 163, 3, 2, 2, 2, 21, 168, 3, 2, 2, 2, 23, 188, 3, 2, 2, 2, 25, 207, 3, 2, 2, 2, 27, 226, 3, 2, 2, 2, 29, 260, 3, 2, 2, 2, 31, 265, 3, 2, 2, 2, 33, 270, 3, 2, 2, 2, 35, 281, 3, 2, 2, 2, 37, 287, 3, 2, 2, 2, 39, 297, 3, 2, 2, 2, 41, 304, 3, 2, 2, 2, 43, 311, 3, 2, 2, 2, 45, 319, 3, 2, 2, 2, 47, 324, 3, 2, 2, 2, 49, 327, 3, 2, 2, 2, 51, 334, 3, 2, 2, 2, 53, 340, 3, 2, 2, 2, 55, 352, 3, 2, 2, 2, 57, 359, 3, 2, 2, 2, 59, 366, 3, 2, 2, 2, 61, 370, 3, 2, 2, 2, 63, 413, 3, 2, 2, 2, 65, 415, 3, 2, 2, 2, 67, 417, 3, 2, 2, 2, 69, 419, 3, 2, 2, 2, 71, 421, 3, 2, 2, 2, 73, 423, 3, 2, 2, 2, 75, 425, 3, 2, 2, 2, 77, 427, 3, 2, 2, 2, 79, 429, 3, 2, 2, 2, 81, 431, 3, 2, 2, 2, 83, 433, 3, 2, 2, 2, 85, 435, 3, 2, 2, 2, 87, 437, 3, 2, 2, 2, 89, 439, 3, 2, 2, 2, 91, 441, 3, 2, 2, 2, 93, 443, 3, 2, 2, 2, 95, 445, 3, 2, 2, 2, 97, 447, 3, 2, 2, 2, 99, 449, 3, 2, 2, 2, 101, 451, 3, 2, 2, 2, 103, 453, 3, 2, 2, 2, 105, 455, 3, 2, 2, 2, 107, 457, 3, 2, 2, 2, 109, 459, 3, 2, 2, 2, 111, 461, 3, 2, 2, 2, 113, 463, 3, 2, 2, 2, 115, 465, 3, 2, 2, 2, 117, 119, 9, 2, 2, 2, 118, 117, 3, 2, 2, 2, 119, 120, 3, 2, 2, 2, 120, 118, 3, 2, 2, 2, 120, 121, 3, 2, 2, 2, 121, 122, 3, 2, 2, 2, 122, 123, 8, 2, 2, 2, 123, 4, 3, 2, 2, 2, 124, 125, 5, 101, 51, 2, 125, 126, 5, 97, 49, 2, 126, 127, 5, 103, 52, 2, 127, 128, 5, 71, 36, 2, 128, 6, 3, 2, 2, 2, 129, 130, 5, 73, 37, 2, 130, 131, 5, 63, 32, 2, 131, 132, 5, 85, 43, 2, 132, 133, 5, 99, 50, 2, 133, 134, 5, 71, 36, 2, 134, 8, 3, 2, 2, 2, 135, 136, 5, 67, 34, 2, 136, 137, 5, 97, 49, 2, 137, 138, 5, 71, 36, 2, 138, 139, 5, 63, 32, 2, 139, 140, 5, 101, 51, 2, 140, 141, 5, 71, 36, 2, 141, 10, 3, 2, 2, 2, 142, 143, 5, 63, 32, 2, 143, 144, 5, 85, 43, 2, 144, 145, 5, 101, 51, 2, 145, 146, 5, 71, 36, 2, 146, 147, 5, 97, 49, 2, 147, 12, 3, 2, 2, 2, 148, 149, 5, 69, 35, 2, 149, 150, 5, 97, 49, 2, 150, 151, 5, 91, 46, 2, 151, 152, 5, 93, 47, 2, 152, 14, 3, 2, 2, 2, 153, 154, 5, 99, 50, 2, 154, 155, 5, 77, 39, 2, 155, 156, 5, 91, 46, 2, 156, 157, 5, 107, 54, 2, 157, 16, 3, 2, 2, 2, 158, 159, 5, 97, 49, 2, 159, 160, 5, 103, 52, 2, 160, 161, 5, 85, 43, 2, 161, 162, 5, 71, 36, 2, 162, 18, 3, 2, 2, 2, 163, 164, 5, 73, 37, 2, 164, 165, 5, 97, 49, 2, 165, 166, 5, 91, 46, 2, 166, 167, 5, 87, 44, 2, 167, 20, 3, 2, 2, 2, 168, 169, 5, 97, 49, 2, 169, 170, 5, 71, 36, 2, 170, 171, 5, 63, 32, 2, 171, 172, 5, 69, 35, 2, 172, 173, 5, 107, 54, 2, 173, 174, 5, 97, 49, 2, 174, 175, 5, 79, 40, 2, 175, 176, 5, 101, 51, 2, 176, 177, 5, 71, 36, 2, 177, 178, 5, 115, 58, 2, 178, 179, 5, 99, 50, 2, 179, 180, 5, 93, 47, 2, 180, 181, 5, 85, 43, 2, 181, 182, 5, 79, 40, 2, 182, 183, 5, 101, 51, 2, 183, 184, 5, 101, 51, 2, 184, 185, 5, 79, 40, 2, 185, 186, 5, 89, 45, 2, 186, 187, 5, 75, 38, 2, 187, 22, 3, 2, 2, 2, 188, 189, 5, 107, 54, 2, 189, 190, 5, 97, 49, 2, 190, 191, 5, 79, 40, 2, 191, 192, 5, 101, 51, 2, 192, 193, 5, 71, 36, 2, 193, 194, 5, 115, 58, 2, 194, 195, 5, 99, 50, 2, 195, 196, 5, 101, 51, 2, 196, 197, 5, 91, 46, 2, 197, 198, 5, 97, 49, 2, 198, 199, 5, 63, 32, 2, 199, 200, 5, 75, 38, 2, 200, 201, 5, 71, 36, 2, 201, 202, 5, 115, 58, 2, 202, 203, 5, 103, 52, 2, 203, 204, 5, 89, 45, 2, 204, 205, 5, 79, 40, 2, 205, 206, 5, 101, 51, 2, 206, 24, 3, 2, 2, 2, 207, 208, 5, 97, 49, 2, 208, 209, 5, 71, 36, 2, 209, 210, 5, 63, 32, 2, 210, 211, 5, 69, 35, 2, 211, 212, 5, 115, 58, 2, 212, 213, 5, 99, 50, 2, 213, 214, 5, 101, 51, 2, 214, 215, 5, 91, 46, 2, 215, 216, 5, 97, 49, 2, 216, 217, 5, 63, 32, 2, 217, 218, 5, 75, 38, 2, 218, 219, 5, 71, 36, 2, 219, 220, 5, 115, 58, 2, 220, 221, 5, 103, 52, 2, 221, 222, 5, 89, 45, 2, 222, 223, 5, 79, 40, 2, 223, 224, 5, 101, 51, 2, 224, 225, 5, 99, 50, 2, 225, 26, 3, 2, 2, 2, 226, 227, 5, 101, 51, 2, 227, 228, 5, 97, 49, 2, 228, 229, 5, 63, 32, 2, 229, 230, 5, 89, 45, 2, 230, 231, 5, 99, 50, 2, 231, 232, 5, 63, 32, 2, 232, 233, 5, 67, 34, 2, 233, 234, 5, 101, 51, 2, 234, 235, 5, 79, 40, 2, 235, 236, 5, 91, 46, 2, 236, 237, 5, 89, 45, 2, 237, 238, 5, 63, 32, 2, 238, 239, 5, 85, 43, 2, 239, 240, 5, 115, 58, 2, 240, 241, 5, 97, 49, 2, 241, 242, 5, 71, 36, 2, 242, 243, 5, 63, 32, 2, 243, 244, 5, 69, 35, 2, 244, 245, 5, 115, 58, 2, 245, 246, 5, 95, 48, 2, 246, 247, 5, 103, 52, 2, 247, 248, 5, 71, 36, 2, 248, 249, 5, 97, 49, 2, 249, 250, 5, 111, 56, 2, 250, 251, 5, 115, 58, 2, 251, 252, 5, 99, 50, 2, 252, 253, 5, 101, 51, 2, 253, 254, 5, 97, 49, 2, 254, 255, 5, 63, 32, 2, 255, 256, 5, 101, 51, 2, 256, 257, 5, 71, 36, 2, 257, 258, 5, 75, 38, 2, 258, 259, 5, 111, 56, 2, 259, 28, 3, 2, 2, 2, 260, 261, 5, 101, 51, 2, 261, 262, 5, 111, 56, 2, 262, 263, 5, 93, 47, 2, 263, 264, 5, 71, 36, 2, 264, 30, 3, 2, 2, 2, 265, 266, 5, 89, 45, 2, 266, 267, 5, 63, 32, 2, 267, 268, 5, 87, 44, 2, 268, 269, 5, 71, 36, 2, 269, 32, 3, 2, 2, 2, 270, 271, 5, 93, 47, 2, 271, 272, 5, 97, 49, 2, 272, 273, 5, 91, 46, 2, 273, 274, 5, 93, 47, 2, 274, 275, 5, 71, 36, 2, 275, 276, 5, 97, 49, 2, 276, 277, 5, 101, 51, 2, 277, 278, 5, 79, 40, 2, 278, 279, 5, 71, 36, 2, 279, 280, 5, 99, 50, 2, 280, 34, 3, 2, 2, 2, 281, 282, 5, 97, 49, 2, 282, 283, 5, 103, 52, 2, 283, 284, 5, 85, 43, 2, 284, 285, 5, 71, 36, 2, 285, 286, 5, 99, 50, 2, 286, 36, 3, 2, 2, 2, 287, 288, 5, 97, 49, 2, 288, 289, 5, 71, 36, 2, 289, 290, 5, 99, 50, 2, 290, 291, 5, 91, 46, 2, 291, 292, 5, 103, 52, 2, 292, 293, 5, 97, 49, 2, 293, 294, 5, 67, 34, 2, 294, 295, 5, 71, 36, 2, 295, 296, 5, 99, 50, 2, 296, 38, 3, 2, 2, 2, 297, 298, 5, 99, 50, 2, 298, 299, 5, 101, 51, 2, 299, 300, 5, 63, 32, 2, 300, 301, 5, 101, 51, 2, 301, 302, 5, 103, 52, 2, 302, 303, 5, 99, 50, 2, 303, 40, 3, 2, 2, 2, 304, 305, 5, 71, 36, 2, 305, 306, 5, 89, 45, 2, 306, 307, 5, 63, 32, 2, 307, 308, 5, 65, 33, 2, 308, 309, 5, 85, 43, 2, 309, 310, 5, 71, 36, 2, 310, 42, 3, 2, 2, 2, 311, 312, 5, 69, 35, 2, 312, 313, 5, 79, 40, 2, 313, 314, 5, 99, 50, 2, 314, 315, 5, 63, 32, 2, 315, 316, 5, 65, 33, 2, 316, 317, 5, 85, 43, 2, 317, 318, 5, 71, 36, 2, 318, 44, 3, 2, 2, 2, 319, 320, 5, 97, 49, 2, 320, 321, 5, 71, 36, 2, 321, 322, 5, 63, 32, 2, 322, 323, 5, 69, 35, 2, 323, 46, 3, 2, 2, 2, 324, 325, 5, 79, 40, 2, 325, 326, 5, 73, 37, 2, 326, 48, 3, 2, 2, 2, 327, 328, 5, 71, 36, 2, 328, 329, 5, 109, 55, 2, 329, 330, 5, 79, 40, 2, 330, 331, 5, 99, 50, 2, 331, 332, 5, 101, 51, 2, 332, 333, 5, 99, 50, 2, 333, 50, 3, 2, 2, 2, 334, 335, 5, 67, 34, 2, 335, 336, 5, 91, 46, 2, 336, 337, 5, 103, 52, 2, 337, 338, 5, 89, 45, 2, 338, 339, 5, 101, 51, 2, 339, 52, 3, 2, 2, 2, 340, 341, 5, 97, 49, 2, 341, 342, 5, 91, 46, 2, 342, 343, 5, 103, 52, 2, 343, 344, 5, 89, 45, 2, 344, 345, 5, 69, 35, 2, 345, 346, 5, 115, 58, 2, 346, 347, 5, 97, 49, 2, 347, 348, 5, 91, 46, 2, 348, 349, 5, 65, 33, 2, 349, 350, 5, 79, 40, 2, 350, 351, 5, 89, 45, 2, 351, 54, 3, 2, 2, 2, 352, 353, 5, 97, 49, 2, 353, 354, 5, 63, 32, 2, 354, 355, 5, 89, 45, 2, 355, 356, 5, 69, 35, 2, 356, 357, 5, 91, 46, 2, 357, 358, 5, 87, 44, 2, 358, 56, 3, 2, 2, 2, 359, 360, 5, 107, 54, 2, 360, 361, 5, 71, 36, 2, 361, 362, 5, 79, 40, 2, 362, 363, 5, 75, 38, 2, 363, 364, 5, 77, 39, 2, 364, 365, 5, 101, 51, 2, 365, 58, 3, 2, 2, 2, 366, 367, 5, 89, 45, 2, 367, 368, 5, 91, 46, 2, 368, 369, 5, 101, 51, 2, 369, 60, 3, 2, 2, 2, 370, 371, 7, 70, 2, 2, 371, 372, 7, 81, 2, 2, 372, 373, 7, 34, 2, 2, 373, 374, 7, 80, 2, 2, 374, 375, 7, 81, 2, 2, 375, 376, 7, 86, 2, 2, 376, 377, 7, 34, 2, 2, 377, 378, 7, 79, 2, 2, 378, 379, 7, 67, 2, 2, 379, 380, 7, 86, 2, 2, 380, 381, 7, 69, 2, 2, 381, 382, 7, 74, 2, 2, 382, 383, 7, 34, 2, 2, 383, 384, 7, 67, 2, 2, 384, 385, 7, 80, 2, 2, 385, 386, 7, 91, 2, 2, 386, 387, 7, 34, 2, 2, 387, 388, 7, 86, 2, 2, 388, 389, 7, 74, 2, 2, 389, 390, 7, 75, 2, 2, 390, 391, 7, 80, 2, 2, 391, 392, 7, 73, 2, 2, 392, 393, 7, 46, 2, 2, 393, 394, 7, 34, 2, 2, 394, 395, 7, 76, 2, 2, 395, 396, 7, 87, 2, 2, 396, 397, 7, 85, 2, 2, 397, 398, 7, 86, 2, 2, 398, 399, 7, 34, 2, 2, 399, 400, 7, 72, 2, 2, 400, 401, 7, 81, 2, 2, 401, 402, 7, 84, 2, 2, 402, 403, 7, 34, 2, 2, 403, 404, 7, 73, 2, 2, 404, 405, 7, 71, 2, 2, 405, 406, 7, 80, 2, 2, 406, 407, 7, 71, 2, 2, 407, 408, 7, 84, 2, 2, 408, 409, 7, 67, 2, 2, 409, 410, 7, 86, 2, 2, 410, 411, 7, 81, 2, 2, 411, 412, 7, 84, 2, 2, 412, 62, 3, 2, 2, 2, 413, 414, 9, 3, 2, 2, 414, 64, 3, 2, 2, 2, 415, 416, 9, 4, 2, 2, 416, 66, 3, 2, 2, 2, 417, 418, 9, 5, 2, 2, 418, 68, 3, 2, 2, 2, 419, 420, 9, 6, 2, 2, 420, 70, 3, 2, 2, 2, 421, 422, 9, 7, 2, 2, 422, 72, 3, 2, 2, 2, 423, 424, 9, 8, 2, 2, 424, 74, 3, 2, 2, 2, 425, 426, 9, 9, 2, 2, 426, 76, 3, 2, 2, 2, 427, 428, 9, 10, 2, 2, 428, 78, 3, 2, 2, 2, 429, 430, 9, 11, 2, 2, 430, 80, 3, 2, 2, 2, 431, 432, 9, 12, 2, 2, 432, 82, 3, 2, 2, 2, 433, 434, 9, 13, 2, 2, 434, 84, 3, 2, 2, 2, 435, 436, 9, 14, 2, 2, 436, 86, 3, 2, 2, 2, 437, 438, 9, 15, 2, 2, 438, 88, 3, 2, 2, 2, 439, 440, 9, 16, 2, 2, 440, 90, 3, 2, 2, 2, 441, 442, 9, 17, 2, 2, 442, 92, 3, 2, 2, 2, 443, 444, 9, 18, 2, 2, 444, 94, 3, 2, 2, 2, 445, 446, 9, 19, 2, 2, 446, 96, 3, 2, 2, 2, 447, 448, 9, 20, 2, 2, 448, 98, 3, 2, 2, 2, 449, 450, 9, 21, 2, 2, 450, 100, 3, 2, 2, 2, 451, 452, 9, 22, 2, 2, 452, 102, 3, 2, 2, 2, 453, 454, 9, 23, 2, 2, 454, 104, 3, 2, 2, 2, 455, 456, 9, 24, 2, 2, 456, 106, 3, 2, 2, 2, 457, 458, 9, 25, 2, 2, 458, 108, 3, 2, 2, 2, 459, 460, 9, 26, 2, 2, 460, 110, 3, 2, 2, 2, 461, 462, 9, 27, 2, 2, 462, 112, 3, 2, 2, 2, 463, 464, 9, 28, 2, 2, 464, 114, 3, 2, 2, 2, 465, 466, 7, 97, 2, 2, 466, 116, 3, 2, 2, 2, 4, 2, 120, 3, 8, 2, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Keyword.java b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Keyword.java deleted file mode 100644 index 88806f94..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Keyword.java +++ /dev/null @@ -1,274 +0,0 @@ -// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/Keyword.g4 by ANTLR 4.9.2 -import org.antlr.v4.runtime.Lexer; -import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.TokenStream; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.misc.*; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class Keyword extends Lexer { - static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - WS=1, TRUE=2, FALSE=3, CREATE=4, ALTER=5, DROP=6, SHOW=7, RULE=8, FROM=9, - READWRITE_SPLITTING=10, WRITE_STORAGE_UNIT=11, READ_STORAGE_UNITS=12, - TRANSACTIONAL_READ_QUERY_STRATEGY=13, TYPE=14, NAME=15, PROPERTIES=16, - RULES=17, RESOURCES=18, STATUS=19, ENABLE=20, DISABLE=21, READ=22, IF=23, - EXISTS=24, COUNT=25, ROUND_ROBIN=26, RANDOM=27, WEIGHT=28, NOT=29, FOR_GENERATOR=30; - public static String[] channelNames = { - "DEFAULT_TOKEN_CHANNEL", "HIDDEN" - }; - - public static String[] modeNames = { - "DEFAULT_MODE" - }; - - private static String[] makeRuleNames() { - return new String[] { - "WS", "TRUE", "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", "FROM", - "READWRITE_SPLITTING", "WRITE_STORAGE_UNIT", "READ_STORAGE_UNITS", "TRANSACTIONAL_READ_QUERY_STRATEGY", - "TYPE", "NAME", "PROPERTIES", "RULES", "RESOURCES", "STATUS", "ENABLE", - "DISABLE", "READ", "IF", "EXISTS", "COUNT", "ROUND_ROBIN", "RANDOM", - "WEIGHT", "NOT", "FOR_GENERATOR", "A", "B", "C", "D", "E", "F", "G", - "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", - "V", "W", "X", "Y", "Z", "UL_" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "WS", "TRUE", "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", - "FROM", "READWRITE_SPLITTING", "WRITE_STORAGE_UNIT", "READ_STORAGE_UNITS", - "TRANSACTIONAL_READ_QUERY_STRATEGY", "TYPE", "NAME", "PROPERTIES", "RULES", - "RESOURCES", "STATUS", "ENABLE", "DISABLE", "READ", "IF", "EXISTS", "COUNT", - "ROUND_ROBIN", "RANDOM", "WEIGHT", "NOT", "FOR_GENERATOR" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - - public Keyword(CharStream input) { - super(input); - _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - @Override - public String getGrammarFileName() { return "Keyword.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public String[] getChannelNames() { return channelNames; } - - @Override - public String[] getModeNames() { return modeNames; } - - @Override - public ATN getATN() { return _ATN; } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2 \u01d3\b\1\4\2\t"+ - "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ - "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ - "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ - "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ - "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ - ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ - "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\3\2\6\2w\n\2\r\2\16"+ - "\2x\3\2\3\2\3\3\3\3\3\3\3\3\3\3\3\4\3\4\3\4\3\4\3\4\3\4\3\5\3\5\3\5\3"+ - "\5\3\5\3\5\3\5\3\6\3\6\3\6\3\6\3\6\3\6\3\7\3\7\3\7\3\7\3\7\3\b\3\b\3\b"+ - "\3\b\3\b\3\t\3\t\3\t\3\t\3\t\3\n\3\n\3\n\3\n\3\n\3\13\3\13\3\13\3\13\3"+ - "\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3"+ - "\13\3\13\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3"+ - "\f\3\f\3\f\3\f\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r"+ - "\3\r\3\r\3\r\3\r\3\r\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16"+ - "\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16"+ - "\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\17\3\17\3\17\3\17"+ - "\3\17\3\20\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\21\3\21\3\21\3\22\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\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\25\3\25\3\25\3\25\3\26\3\26\3\26\3\26\3\26\3\26\3\26\3\26\3\27"+ - "\3\27\3\27\3\27\3\27\3\30\3\30\3\30\3\31\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\33\3\33"+ - "\3\33\3\33\3\33\3\33\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3\35\3\35\3\35"+ - "\3\35\3\35\3\35\3\35\3\36\3\36\3\36\3\36\3\37\3\37\3\37\3\37\3\37\3\37"+ - "\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37"+ - "\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37"+ - "\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3\37\3 \3 \3!\3!\3\"\3\"\3#\3"+ - "#\3$\3$\3%\3%\3&\3&\3\'\3\'\3(\3(\3)\3)\3*\3*\3+\3+\3,\3,\3-\3-\3.\3."+ - "\3/\3/\3\60\3\60\3\61\3\61\3\62\3\62\3\63\3\63\3\64\3\64\3\65\3\65\3\66"+ - "\3\66\3\67\3\67\38\38\39\39\3:\3:\2\2;\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21"+ - "\n\23\13\25\f\27\r\31\16\33\17\35\20\37\21!\22#\23%\24\'\25)\26+\27-\30"+ - "/\31\61\32\63\33\65\34\67\359\36;\37= ?\2A\2C\2E\2G\2I\2K\2M\2O\2Q\2S"+ - "\2U\2W\2Y\2[\2]\2_\2a\2c\2e\2g\2i\2k\2m\2o\2q\2s\2\3\2\35\5\2\13\f\17"+ - "\17\"\"\4\2CCcc\4\2DDdd\4\2EEee\4\2FFff\4\2GGgg\4\2HHhh\4\2IIii\4\2JJ"+ - "jj\4\2KKkk\4\2LLll\4\2MMmm\4\2NNnn\4\2OOoo\4\2PPpp\4\2QQqq\4\2RRrr\4\2"+ - "SSss\4\2TTtt\4\2UUuu\4\2VVvv\4\2WWww\4\2XXxx\4\2YYyy\4\2ZZzz\4\2[[{{\4"+ - "\2\\\\||\2\u01b8\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13"+ - "\3\2\2\2\2\r\3\2\2\2\2\17\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\31\3\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2"+ - "!\3\2\2\2\2#\3\2\2\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3"+ - "\2\2\2\2/\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"+ - "\29\3\2\2\2\2;\3\2\2\2\2=\3\2\2\2\3v\3\2\2\2\5|\3\2\2\2\7\u0081\3\2\2"+ - "\2\t\u0087\3\2\2\2\13\u008e\3\2\2\2\r\u0094\3\2\2\2\17\u0099\3\2\2\2\21"+ - "\u009e\3\2\2\2\23\u00a3\3\2\2\2\25\u00a8\3\2\2\2\27\u00bc\3\2\2\2\31\u00cf"+ - "\3\2\2\2\33\u00e2\3\2\2\2\35\u0104\3\2\2\2\37\u0109\3\2\2\2!\u010e\3\2"+ - "\2\2#\u0119\3\2\2\2%\u011f\3\2\2\2\'\u0129\3\2\2\2)\u0130\3\2\2\2+\u0137"+ - "\3\2\2\2-\u013f\3\2\2\2/\u0144\3\2\2\2\61\u0147\3\2\2\2\63\u014e\3\2\2"+ - "\2\65\u0154\3\2\2\2\67\u0160\3\2\2\29\u0167\3\2\2\2;\u016e\3\2\2\2=\u0172"+ - "\3\2\2\2?\u019d\3\2\2\2A\u019f\3\2\2\2C\u01a1\3\2\2\2E\u01a3\3\2\2\2G"+ - "\u01a5\3\2\2\2I\u01a7\3\2\2\2K\u01a9\3\2\2\2M\u01ab\3\2\2\2O\u01ad\3\2"+ - "\2\2Q\u01af\3\2\2\2S\u01b1\3\2\2\2U\u01b3\3\2\2\2W\u01b5\3\2\2\2Y\u01b7"+ - "\3\2\2\2[\u01b9\3\2\2\2]\u01bb\3\2\2\2_\u01bd\3\2\2\2a\u01bf\3\2\2\2c"+ - "\u01c1\3\2\2\2e\u01c3\3\2\2\2g\u01c5\3\2\2\2i\u01c7\3\2\2\2k\u01c9\3\2"+ - "\2\2m\u01cb\3\2\2\2o\u01cd\3\2\2\2q\u01cf\3\2\2\2s\u01d1\3\2\2\2uw\t\2"+ - "\2\2vu\3\2\2\2wx\3\2\2\2xv\3\2\2\2xy\3\2\2\2yz\3\2\2\2z{\b\2\2\2{\4\3"+ - "\2\2\2|}\5e\63\2}~\5a\61\2~\177\5g\64\2\177\u0080\5G$\2\u0080\6\3\2\2"+ - "\2\u0081\u0082\5I%\2\u0082\u0083\5? \2\u0083\u0084\5U+\2\u0084\u0085\5"+ - "c\62\2\u0085\u0086\5G$\2\u0086\b\3\2\2\2\u0087\u0088\5C\"\2\u0088\u0089"+ - "\5a\61\2\u0089\u008a\5G$\2\u008a\u008b\5? \2\u008b\u008c\5e\63\2\u008c"+ - "\u008d\5G$\2\u008d\n\3\2\2\2\u008e\u008f\5? \2\u008f\u0090\5U+\2\u0090"+ - "\u0091\5e\63\2\u0091\u0092\5G$\2\u0092\u0093\5a\61\2\u0093\f\3\2\2\2\u0094"+ - "\u0095\5E#\2\u0095\u0096\5a\61\2\u0096\u0097\5[.\2\u0097\u0098\5]/\2\u0098"+ - "\16\3\2\2\2\u0099\u009a\5c\62\2\u009a\u009b\5M\'\2\u009b\u009c\5[.\2\u009c"+ - "\u009d\5k\66\2\u009d\20\3\2\2\2\u009e\u009f\5a\61\2\u009f\u00a0\5g\64"+ - "\2\u00a0\u00a1\5U+\2\u00a1\u00a2\5G$\2\u00a2\22\3\2\2\2\u00a3\u00a4\5"+ - "I%\2\u00a4\u00a5\5a\61\2\u00a5\u00a6\5[.\2\u00a6\u00a7\5W,\2\u00a7\24"+ - "\3\2\2\2\u00a8\u00a9\5a\61\2\u00a9\u00aa\5G$\2\u00aa\u00ab\5? \2\u00ab"+ - "\u00ac\5E#\2\u00ac\u00ad\5k\66\2\u00ad\u00ae\5a\61\2\u00ae\u00af\5O(\2"+ - "\u00af\u00b0\5e\63\2\u00b0\u00b1\5G$\2\u00b1\u00b2\5s:\2\u00b2\u00b3\5"+ - "c\62\2\u00b3\u00b4\5]/\2\u00b4\u00b5\5U+\2\u00b5\u00b6\5O(\2\u00b6\u00b7"+ - "\5e\63\2\u00b7\u00b8\5e\63\2\u00b8\u00b9\5O(\2\u00b9\u00ba\5Y-\2\u00ba"+ - "\u00bb\5K&\2\u00bb\26\3\2\2\2\u00bc\u00bd\5k\66\2\u00bd\u00be\5a\61\2"+ - "\u00be\u00bf\5O(\2\u00bf\u00c0\5e\63\2\u00c0\u00c1\5G$\2\u00c1\u00c2\5"+ - "s:\2\u00c2\u00c3\5c\62\2\u00c3\u00c4\5e\63\2\u00c4\u00c5\5[.\2\u00c5\u00c6"+ - "\5a\61\2\u00c6\u00c7\5? \2\u00c7\u00c8\5K&\2\u00c8\u00c9\5G$\2\u00c9\u00ca"+ - "\5s:\2\u00ca\u00cb\5g\64\2\u00cb\u00cc\5Y-\2\u00cc\u00cd\5O(\2\u00cd\u00ce"+ - "\5e\63\2\u00ce\30\3\2\2\2\u00cf\u00d0\5a\61\2\u00d0\u00d1\5G$\2\u00d1"+ - "\u00d2\5? \2\u00d2\u00d3\5E#\2\u00d3\u00d4\5s:\2\u00d4\u00d5\5c\62\2\u00d5"+ - "\u00d6\5e\63\2\u00d6\u00d7\5[.\2\u00d7\u00d8\5a\61\2\u00d8\u00d9\5? \2"+ - "\u00d9\u00da\5K&\2\u00da\u00db\5G$\2\u00db\u00dc\5s:\2\u00dc\u00dd\5g"+ - "\64\2\u00dd\u00de\5Y-\2\u00de\u00df\5O(\2\u00df\u00e0\5e\63\2\u00e0\u00e1"+ - "\5c\62\2\u00e1\32\3\2\2\2\u00e2\u00e3\5e\63\2\u00e3\u00e4\5a\61\2\u00e4"+ - "\u00e5\5? \2\u00e5\u00e6\5Y-\2\u00e6\u00e7\5c\62\2\u00e7\u00e8\5? \2\u00e8"+ - "\u00e9\5C\"\2\u00e9\u00ea\5e\63\2\u00ea\u00eb\5O(\2\u00eb\u00ec\5[.\2"+ - "\u00ec\u00ed\5Y-\2\u00ed\u00ee\5? \2\u00ee\u00ef\5U+\2\u00ef\u00f0\5s"+ - ":\2\u00f0\u00f1\5a\61\2\u00f1\u00f2\5G$\2\u00f2\u00f3\5? \2\u00f3\u00f4"+ - "\5E#\2\u00f4\u00f5\5s:\2\u00f5\u00f6\5_\60\2\u00f6\u00f7\5g\64\2\u00f7"+ - "\u00f8\5G$\2\u00f8\u00f9\5a\61\2\u00f9\u00fa\5o8\2\u00fa\u00fb\5s:\2\u00fb"+ - "\u00fc\5c\62\2\u00fc\u00fd\5e\63\2\u00fd\u00fe\5a\61\2\u00fe\u00ff\5?"+ - " \2\u00ff\u0100\5e\63\2\u0100\u0101\5G$\2\u0101\u0102\5K&\2\u0102\u0103"+ - "\5o8\2\u0103\34\3\2\2\2\u0104\u0105\5e\63\2\u0105\u0106\5o8\2\u0106\u0107"+ - "\5]/\2\u0107\u0108\5G$\2\u0108\36\3\2\2\2\u0109\u010a\5Y-\2\u010a\u010b"+ - "\5? \2\u010b\u010c\5W,\2\u010c\u010d\5G$\2\u010d \3\2\2\2\u010e\u010f"+ - "\5]/\2\u010f\u0110\5a\61\2\u0110\u0111\5[.\2\u0111\u0112\5]/\2\u0112\u0113"+ - "\5G$\2\u0113\u0114\5a\61\2\u0114\u0115\5e\63\2\u0115\u0116\5O(\2\u0116"+ - "\u0117\5G$\2\u0117\u0118\5c\62\2\u0118\"\3\2\2\2\u0119\u011a\5a\61\2\u011a"+ - "\u011b\5g\64\2\u011b\u011c\5U+\2\u011c\u011d\5G$\2\u011d\u011e\5c\62\2"+ - "\u011e$\3\2\2\2\u011f\u0120\5a\61\2\u0120\u0121\5G$\2\u0121\u0122\5c\62"+ - "\2\u0122\u0123\5[.\2\u0123\u0124\5g\64\2\u0124\u0125\5a\61\2\u0125\u0126"+ - "\5C\"\2\u0126\u0127\5G$\2\u0127\u0128\5c\62\2\u0128&\3\2\2\2\u0129\u012a"+ - "\5c\62\2\u012a\u012b\5e\63\2\u012b\u012c\5? \2\u012c\u012d\5e\63\2\u012d"+ - "\u012e\5g\64\2\u012e\u012f\5c\62\2\u012f(\3\2\2\2\u0130\u0131\5G$\2\u0131"+ - "\u0132\5Y-\2\u0132\u0133\5? \2\u0133\u0134\5A!\2\u0134\u0135\5U+\2\u0135"+ - "\u0136\5G$\2\u0136*\3\2\2\2\u0137\u0138\5E#\2\u0138\u0139\5O(\2\u0139"+ - "\u013a\5c\62\2\u013a\u013b\5? \2\u013b\u013c\5A!\2\u013c\u013d\5U+\2\u013d"+ - "\u013e\5G$\2\u013e,\3\2\2\2\u013f\u0140\5a\61\2\u0140\u0141\5G$\2\u0141"+ - "\u0142\5? \2\u0142\u0143\5E#\2\u0143.\3\2\2\2\u0144\u0145\5O(\2\u0145"+ - "\u0146\5I%\2\u0146\60\3\2\2\2\u0147\u0148\5G$\2\u0148\u0149\5m\67\2\u0149"+ - "\u014a\5O(\2\u014a\u014b\5c\62\2\u014b\u014c\5e\63\2\u014c\u014d\5c\62"+ - "\2\u014d\62\3\2\2\2\u014e\u014f\5C\"\2\u014f\u0150\5[.\2\u0150\u0151\5"+ - "g\64\2\u0151\u0152\5Y-\2\u0152\u0153\5e\63\2\u0153\64\3\2\2\2\u0154\u0155"+ - "\5a\61\2\u0155\u0156\5[.\2\u0156\u0157\5g\64\2\u0157\u0158\5Y-\2\u0158"+ - "\u0159\5E#\2\u0159\u015a\5s:\2\u015a\u015b\5a\61\2\u015b\u015c\5[.\2\u015c"+ - "\u015d\5A!\2\u015d\u015e\5O(\2\u015e\u015f\5Y-\2\u015f\66\3\2\2\2\u0160"+ - "\u0161\5a\61\2\u0161\u0162\5? \2\u0162\u0163\5Y-\2\u0163\u0164\5E#\2\u0164"+ - "\u0165\5[.\2\u0165\u0166\5W,\2\u01668\3\2\2\2\u0167\u0168\5k\66\2\u0168"+ - "\u0169\5G$\2\u0169\u016a\5O(\2\u016a\u016b\5K&\2\u016b\u016c\5M\'\2\u016c"+ - "\u016d\5e\63\2\u016d:\3\2\2\2\u016e\u016f\5Y-\2\u016f\u0170\5[.\2\u0170"+ - "\u0171\5e\63\2\u0171<\3\2\2\2\u0172\u0173\7F\2\2\u0173\u0174\7Q\2\2\u0174"+ - "\u0175\7\"\2\2\u0175\u0176\7P\2\2\u0176\u0177\7Q\2\2\u0177\u0178\7V\2"+ - "\2\u0178\u0179\7\"\2\2\u0179\u017a\7O\2\2\u017a\u017b\7C\2\2\u017b\u017c"+ - "\7V\2\2\u017c\u017d\7E\2\2\u017d\u017e\7J\2\2\u017e\u017f\7\"\2\2\u017f"+ - "\u0180\7C\2\2\u0180\u0181\7P\2\2\u0181\u0182\7[\2\2\u0182\u0183\7\"\2"+ - "\2\u0183\u0184\7V\2\2\u0184\u0185\7J\2\2\u0185\u0186\7K\2\2\u0186\u0187"+ - "\7P\2\2\u0187\u0188\7I\2\2\u0188\u0189\7.\2\2\u0189\u018a\7\"\2\2\u018a"+ - "\u018b\7L\2\2\u018b\u018c\7W\2\2\u018c\u018d\7U\2\2\u018d\u018e\7V\2\2"+ - "\u018e\u018f\7\"\2\2\u018f\u0190\7H\2\2\u0190\u0191\7Q\2\2\u0191\u0192"+ - "\7T\2\2\u0192\u0193\7\"\2\2\u0193\u0194\7I\2\2\u0194\u0195\7G\2\2\u0195"+ - "\u0196\7P\2\2\u0196\u0197\7G\2\2\u0197\u0198\7T\2\2\u0198\u0199\7C\2\2"+ - "\u0199\u019a\7V\2\2\u019a\u019b\7Q\2\2\u019b\u019c\7T\2\2\u019c>\3\2\2"+ - "\2\u019d\u019e\t\3\2\2\u019e@\3\2\2\2\u019f\u01a0\t\4\2\2\u01a0B\3\2\2"+ - "\2\u01a1\u01a2\t\5\2\2\u01a2D\3\2\2\2\u01a3\u01a4\t\6\2\2\u01a4F\3\2\2"+ - "\2\u01a5\u01a6\t\7\2\2\u01a6H\3\2\2\2\u01a7\u01a8\t\b\2\2\u01a8J\3\2\2"+ - "\2\u01a9\u01aa\t\t\2\2\u01aaL\3\2\2\2\u01ab\u01ac\t\n\2\2\u01acN\3\2\2"+ - "\2\u01ad\u01ae\t\13\2\2\u01aeP\3\2\2\2\u01af\u01b0\t\f\2\2\u01b0R\3\2"+ - "\2\2\u01b1\u01b2\t\r\2\2\u01b2T\3\2\2\2\u01b3\u01b4\t\16\2\2\u01b4V\3"+ - "\2\2\2\u01b5\u01b6\t\17\2\2\u01b6X\3\2\2\2\u01b7\u01b8\t\20\2\2\u01b8"+ - "Z\3\2\2\2\u01b9\u01ba\t\21\2\2\u01ba\\\3\2\2\2\u01bb\u01bc\t\22\2\2\u01bc"+ - "^\3\2\2\2\u01bd\u01be\t\23\2\2\u01be`\3\2\2\2\u01bf\u01c0\t\24\2\2\u01c0"+ - "b\3\2\2\2\u01c1\u01c2\t\25\2\2\u01c2d\3\2\2\2\u01c3\u01c4\t\26\2\2\u01c4"+ - "f\3\2\2\2\u01c5\u01c6\t\27\2\2\u01c6h\3\2\2\2\u01c7\u01c8\t\30\2\2\u01c8"+ - "j\3\2\2\2\u01c9\u01ca\t\31\2\2\u01cal\3\2\2\2\u01cb\u01cc\t\32\2\2\u01cc"+ - "n\3\2\2\2\u01cd\u01ce\t\33\2\2\u01cep\3\2\2\2\u01cf\u01d0\t\34\2\2\u01d0"+ - "r\3\2\2\2\u01d1\u01d2\7a\2\2\u01d2t\3\2\2\2\4\2x\3\b\2\2"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Keyword.tokens b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Keyword.tokens deleted file mode 100644 index f47bb1d0..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Keyword.tokens +++ /dev/null @@ -1,31 +0,0 @@ -WS=1 -TRUE=2 -FALSE=3 -CREATE=4 -ALTER=5 -DROP=6 -SHOW=7 -RULE=8 -FROM=9 -READWRITE_SPLITTING=10 -WRITE_STORAGE_UNIT=11 -READ_STORAGE_UNITS=12 -TRANSACTIONAL_READ_QUERY_STRATEGY=13 -TYPE=14 -NAME=15 -PROPERTIES=16 -RULES=17 -RESOURCES=18 -STATUS=19 -ENABLE=20 -DISABLE=21 -READ=22 -IF=23 -EXISTS=24 -COUNT=25 -ROUND_ROBIN=26 -RANDOM=27 -WEIGHT=28 -NOT=29 -FOR_GENERATOR=30 -'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=30 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Literals.interp b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Literals.interp deleted file mode 100644 index af532573..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Literals.interp +++ /dev/null @@ -1,191 +0,0 @@ -token literal names: -null -null -null -null -null -null -null -null -'DO NOT MATCH ANY THING, JUST FOR GENERATOR' -'&&' -'||' -'!' -'~' -'|' -'&' -'<<' -'>>' -'^' -'%' -':' -'+' -'-' -'*' -'/' -'\\' -'.' -'.*' -'<=>' -'==' -'=' -null -'>' -'>=' -'<' -'<=' -'#' -'(' -')' -'{' -'}' -'[' -']' -',' -'"' -'\'' -'`' -'?' -'@' -';' -'->>' - -token symbolic names: -null -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ -FOR_GENERATOR -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ - -rule names: -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ -FOR_GENERATOR -A -B -C -D -E -F -G -H -I -J -K -L -M -N -O -P -Q -R -S -T -U -V -W -X -Y -Z -UL_ -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ - -channel names: -DEFAULT_TOKEN_CHANNEL -HIDDEN - -mode names: -DEFAULT_MODE - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 51, 466, 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, 3, 2, 7, 2, 157, 10, 2, 12, 2, 14, 2, 160, 11, 2, 3, 2, 6, 2, 163, 10, 2, 13, 2, 14, 2, 164, 3, 2, 7, 2, 168, 10, 2, 12, 2, 14, 2, 171, 11, 2, 3, 2, 3, 2, 6, 2, 175, 10, 2, 13, 2, 14, 2, 176, 3, 2, 3, 2, 5, 2, 181, 10, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 189, 10, 3, 12, 3, 14, 3, 192, 11, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 202, 10, 3, 12, 3, 14, 3, 205, 11, 3, 3, 3, 3, 3, 5, 3, 209, 10, 3, 3, 4, 6, 4, 212, 10, 4, 13, 4, 14, 4, 213, 3, 5, 3, 5, 3, 6, 5, 6, 219, 10, 6, 3, 6, 5, 6, 222, 10, 6, 3, 6, 3, 6, 3, 6, 3, 6, 5, 6, 228, 10, 6, 3, 6, 3, 6, 5, 6, 232, 10, 6, 3, 7, 3, 7, 3, 7, 3, 7, 6, 7, 238, 10, 7, 13, 7, 14, 7, 239, 3, 7, 3, 7, 3, 7, 6, 7, 245, 10, 7, 13, 7, 14, 7, 246, 3, 7, 3, 7, 5, 7, 251, 10, 7, 3, 8, 3, 8, 3, 8, 3, 8, 6, 8, 257, 10, 8, 13, 8, 14, 8, 258, 3, 8, 3, 8, 3, 8, 6, 8, 264, 10, 8, 13, 8, 14, 8, 265, 3, 8, 3, 8, 5, 8, 270, 10, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 3, 18, 3, 18, 3, 19, 3, 19, 3, 20, 3, 20, 3, 21, 3, 21, 3, 22, 3, 22, 3, 23, 3, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 37, 3, 38, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 43, 3, 43, 3, 43, 3, 44, 3, 44, 3, 44, 3, 45, 3, 45, 3, 46, 3, 46, 3, 47, 3, 47, 3, 48, 3, 48, 3, 49, 3, 49, 3, 50, 3, 50, 3, 51, 3, 51, 3, 52, 3, 52, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 5, 58, 423, 10, 58, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 64, 3, 64, 3, 65, 3, 65, 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, 72, 3, 72, 3, 73, 3, 73, 3, 74, 3, 74, 3, 75, 3, 75, 3, 76, 3, 76, 3, 77, 3, 77, 3, 77, 3, 77, 4, 158, 164, 2, 78, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 2, 21, 2, 23, 2, 25, 2, 27, 2, 29, 2, 31, 2, 33, 2, 35, 2, 37, 2, 39, 2, 41, 2, 43, 2, 45, 2, 47, 2, 49, 2, 51, 2, 53, 2, 55, 2, 57, 2, 59, 2, 61, 2, 63, 2, 65, 2, 67, 2, 69, 2, 71, 2, 73, 11, 75, 12, 77, 13, 79, 14, 81, 15, 83, 16, 85, 17, 87, 18, 89, 19, 91, 20, 93, 21, 95, 22, 97, 23, 99, 24, 101, 25, 103, 26, 105, 27, 107, 28, 109, 29, 111, 30, 113, 31, 115, 32, 117, 33, 119, 34, 121, 35, 123, 36, 125, 37, 127, 38, 129, 39, 131, 40, 133, 41, 135, 42, 137, 43, 139, 44, 141, 45, 143, 46, 145, 47, 147, 48, 149, 49, 151, 50, 153, 51, 3, 2, 35, 7, 2, 38, 38, 50, 59, 67, 92, 97, 97, 99, 124, 6, 2, 38, 38, 67, 92, 97, 97, 99, 124, 3, 2, 98, 98, 4, 2, 36, 36, 94, 94, 4, 2, 41, 41, 94, 94, 3, 2, 50, 59, 5, 2, 50, 59, 67, 72, 99, 104, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 2, 463, 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, 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, 3, 180, 3, 2, 2, 2, 5, 208, 3, 2, 2, 2, 7, 211, 3, 2, 2, 2, 9, 215, 3, 2, 2, 2, 11, 218, 3, 2, 2, 2, 13, 250, 3, 2, 2, 2, 15, 269, 3, 2, 2, 2, 17, 271, 3, 2, 2, 2, 19, 314, 3, 2, 2, 2, 21, 316, 3, 2, 2, 2, 23, 318, 3, 2, 2, 2, 25, 320, 3, 2, 2, 2, 27, 322, 3, 2, 2, 2, 29, 324, 3, 2, 2, 2, 31, 326, 3, 2, 2, 2, 33, 328, 3, 2, 2, 2, 35, 330, 3, 2, 2, 2, 37, 332, 3, 2, 2, 2, 39, 334, 3, 2, 2, 2, 41, 336, 3, 2, 2, 2, 43, 338, 3, 2, 2, 2, 45, 340, 3, 2, 2, 2, 47, 342, 3, 2, 2, 2, 49, 344, 3, 2, 2, 2, 51, 346, 3, 2, 2, 2, 53, 348, 3, 2, 2, 2, 55, 350, 3, 2, 2, 2, 57, 352, 3, 2, 2, 2, 59, 354, 3, 2, 2, 2, 61, 356, 3, 2, 2, 2, 63, 358, 3, 2, 2, 2, 65, 360, 3, 2, 2, 2, 67, 362, 3, 2, 2, 2, 69, 364, 3, 2, 2, 2, 71, 366, 3, 2, 2, 2, 73, 368, 3, 2, 2, 2, 75, 371, 3, 2, 2, 2, 77, 374, 3, 2, 2, 2, 79, 376, 3, 2, 2, 2, 81, 378, 3, 2, 2, 2, 83, 380, 3, 2, 2, 2, 85, 382, 3, 2, 2, 2, 87, 385, 3, 2, 2, 2, 89, 388, 3, 2, 2, 2, 91, 390, 3, 2, 2, 2, 93, 392, 3, 2, 2, 2, 95, 394, 3, 2, 2, 2, 97, 396, 3, 2, 2, 2, 99, 398, 3, 2, 2, 2, 101, 400, 3, 2, 2, 2, 103, 402, 3, 2, 2, 2, 105, 404, 3, 2, 2, 2, 107, 406, 3, 2, 2, 2, 109, 409, 3, 2, 2, 2, 111, 413, 3, 2, 2, 2, 113, 416, 3, 2, 2, 2, 115, 422, 3, 2, 2, 2, 117, 424, 3, 2, 2, 2, 119, 426, 3, 2, 2, 2, 121, 429, 3, 2, 2, 2, 123, 431, 3, 2, 2, 2, 125, 434, 3, 2, 2, 2, 127, 436, 3, 2, 2, 2, 129, 438, 3, 2, 2, 2, 131, 440, 3, 2, 2, 2, 133, 442, 3, 2, 2, 2, 135, 444, 3, 2, 2, 2, 137, 446, 3, 2, 2, 2, 139, 448, 3, 2, 2, 2, 141, 450, 3, 2, 2, 2, 143, 452, 3, 2, 2, 2, 145, 454, 3, 2, 2, 2, 147, 456, 3, 2, 2, 2, 149, 458, 3, 2, 2, 2, 151, 460, 3, 2, 2, 2, 153, 462, 3, 2, 2, 2, 155, 157, 9, 2, 2, 2, 156, 155, 3, 2, 2, 2, 157, 160, 3, 2, 2, 2, 158, 159, 3, 2, 2, 2, 158, 156, 3, 2, 2, 2, 159, 162, 3, 2, 2, 2, 160, 158, 3, 2, 2, 2, 161, 163, 9, 3, 2, 2, 162, 161, 3, 2, 2, 2, 163, 164, 3, 2, 2, 2, 164, 165, 3, 2, 2, 2, 164, 162, 3, 2, 2, 2, 165, 169, 3, 2, 2, 2, 166, 168, 9, 2, 2, 2, 167, 166, 3, 2, 2, 2, 168, 171, 3, 2, 2, 2, 169, 167, 3, 2, 2, 2, 169, 170, 3, 2, 2, 2, 170, 181, 3, 2, 2, 2, 171, 169, 3, 2, 2, 2, 172, 174, 5, 145, 73, 2, 173, 175, 10, 4, 2, 2, 174, 173, 3, 2, 2, 2, 175, 176, 3, 2, 2, 2, 176, 174, 3, 2, 2, 2, 176, 177, 3, 2, 2, 2, 177, 178, 3, 2, 2, 2, 178, 179, 5, 145, 73, 2, 179, 181, 3, 2, 2, 2, 180, 158, 3, 2, 2, 2, 180, 172, 3, 2, 2, 2, 181, 4, 3, 2, 2, 2, 182, 190, 5, 141, 71, 2, 183, 184, 7, 94, 2, 2, 184, 189, 11, 2, 2, 2, 185, 186, 7, 36, 2, 2, 186, 189, 7, 36, 2, 2, 187, 189, 10, 5, 2, 2, 188, 183, 3, 2, 2, 2, 188, 185, 3, 2, 2, 2, 188, 187, 3, 2, 2, 2, 189, 192, 3, 2, 2, 2, 190, 188, 3, 2, 2, 2, 190, 191, 3, 2, 2, 2, 191, 193, 3, 2, 2, 2, 192, 190, 3, 2, 2, 2, 193, 194, 5, 141, 71, 2, 194, 209, 3, 2, 2, 2, 195, 203, 5, 143, 72, 2, 196, 197, 7, 94, 2, 2, 197, 202, 11, 2, 2, 2, 198, 199, 7, 41, 2, 2, 199, 202, 7, 41, 2, 2, 200, 202, 10, 6, 2, 2, 201, 196, 3, 2, 2, 2, 201, 198, 3, 2, 2, 2, 201, 200, 3, 2, 2, 2, 202, 205, 3, 2, 2, 2, 203, 201, 3, 2, 2, 2, 203, 204, 3, 2, 2, 2, 204, 206, 3, 2, 2, 2, 205, 203, 3, 2, 2, 2, 206, 207, 5, 143, 72, 2, 207, 209, 3, 2, 2, 2, 208, 182, 3, 2, 2, 2, 208, 195, 3, 2, 2, 2, 209, 6, 3, 2, 2, 2, 210, 212, 9, 7, 2, 2, 211, 210, 3, 2, 2, 2, 212, 213, 3, 2, 2, 2, 213, 211, 3, 2, 2, 2, 213, 214, 3, 2, 2, 2, 214, 8, 3, 2, 2, 2, 215, 216, 9, 8, 2, 2, 216, 10, 3, 2, 2, 2, 217, 219, 5, 7, 4, 2, 218, 217, 3, 2, 2, 2, 218, 219, 3, 2, 2, 2, 219, 221, 3, 2, 2, 2, 220, 222, 5, 105, 53, 2, 221, 220, 3, 2, 2, 2, 221, 222, 3, 2, 2, 2, 222, 223, 3, 2, 2, 2, 223, 231, 5, 7, 4, 2, 224, 227, 5, 27, 14, 2, 225, 228, 5, 95, 48, 2, 226, 228, 5, 97, 49, 2, 227, 225, 3, 2, 2, 2, 227, 226, 3, 2, 2, 2, 227, 228, 3, 2, 2, 2, 228, 229, 3, 2, 2, 2, 229, 230, 5, 7, 4, 2, 230, 232, 3, 2, 2, 2, 231, 224, 3, 2, 2, 2, 231, 232, 3, 2, 2, 2, 232, 12, 3, 2, 2, 2, 233, 234, 7, 50, 2, 2, 234, 235, 7, 122, 2, 2, 235, 237, 3, 2, 2, 2, 236, 238, 5, 9, 5, 2, 237, 236, 3, 2, 2, 2, 238, 239, 3, 2, 2, 2, 239, 237, 3, 2, 2, 2, 239, 240, 3, 2, 2, 2, 240, 251, 3, 2, 2, 2, 241, 242, 7, 90, 2, 2, 242, 244, 5, 143, 72, 2, 243, 245, 5, 9, 5, 2, 244, 243, 3, 2, 2, 2, 245, 246, 3, 2, 2, 2, 246, 244, 3, 2, 2, 2, 246, 247, 3, 2, 2, 2, 247, 248, 3, 2, 2, 2, 248, 249, 5, 143, 72, 2, 249, 251, 3, 2, 2, 2, 250, 233, 3, 2, 2, 2, 250, 241, 3, 2, 2, 2, 251, 14, 3, 2, 2, 2, 252, 253, 7, 50, 2, 2, 253, 254, 7, 100, 2, 2, 254, 256, 3, 2, 2, 2, 255, 257, 4, 50, 51, 2, 256, 255, 3, 2, 2, 2, 257, 258, 3, 2, 2, 2, 258, 256, 3, 2, 2, 2, 258, 259, 3, 2, 2, 2, 259, 270, 3, 2, 2, 2, 260, 261, 5, 21, 11, 2, 261, 263, 5, 143, 72, 2, 262, 264, 4, 50, 51, 2, 263, 262, 3, 2, 2, 2, 264, 265, 3, 2, 2, 2, 265, 263, 3, 2, 2, 2, 265, 266, 3, 2, 2, 2, 266, 267, 3, 2, 2, 2, 267, 268, 5, 143, 72, 2, 268, 270, 3, 2, 2, 2, 269, 252, 3, 2, 2, 2, 269, 260, 3, 2, 2, 2, 270, 16, 3, 2, 2, 2, 271, 272, 7, 70, 2, 2, 272, 273, 7, 81, 2, 2, 273, 274, 7, 34, 2, 2, 274, 275, 7, 80, 2, 2, 275, 276, 7, 81, 2, 2, 276, 277, 7, 86, 2, 2, 277, 278, 7, 34, 2, 2, 278, 279, 7, 79, 2, 2, 279, 280, 7, 67, 2, 2, 280, 281, 7, 86, 2, 2, 281, 282, 7, 69, 2, 2, 282, 283, 7, 74, 2, 2, 283, 284, 7, 34, 2, 2, 284, 285, 7, 67, 2, 2, 285, 286, 7, 80, 2, 2, 286, 287, 7, 91, 2, 2, 287, 288, 7, 34, 2, 2, 288, 289, 7, 86, 2, 2, 289, 290, 7, 74, 2, 2, 290, 291, 7, 75, 2, 2, 291, 292, 7, 80, 2, 2, 292, 293, 7, 73, 2, 2, 293, 294, 7, 46, 2, 2, 294, 295, 7, 34, 2, 2, 295, 296, 7, 76, 2, 2, 296, 297, 7, 87, 2, 2, 297, 298, 7, 85, 2, 2, 298, 299, 7, 86, 2, 2, 299, 300, 7, 34, 2, 2, 300, 301, 7, 72, 2, 2, 301, 302, 7, 81, 2, 2, 302, 303, 7, 84, 2, 2, 303, 304, 7, 34, 2, 2, 304, 305, 7, 73, 2, 2, 305, 306, 7, 71, 2, 2, 306, 307, 7, 80, 2, 2, 307, 308, 7, 71, 2, 2, 308, 309, 7, 84, 2, 2, 309, 310, 7, 67, 2, 2, 310, 311, 7, 86, 2, 2, 311, 312, 7, 81, 2, 2, 312, 313, 7, 84, 2, 2, 313, 18, 3, 2, 2, 2, 314, 315, 9, 9, 2, 2, 315, 20, 3, 2, 2, 2, 316, 317, 9, 10, 2, 2, 317, 22, 3, 2, 2, 2, 318, 319, 9, 11, 2, 2, 319, 24, 3, 2, 2, 2, 320, 321, 9, 12, 2, 2, 321, 26, 3, 2, 2, 2, 322, 323, 9, 13, 2, 2, 323, 28, 3, 2, 2, 2, 324, 325, 9, 14, 2, 2, 325, 30, 3, 2, 2, 2, 326, 327, 9, 15, 2, 2, 327, 32, 3, 2, 2, 2, 328, 329, 9, 16, 2, 2, 329, 34, 3, 2, 2, 2, 330, 331, 9, 17, 2, 2, 331, 36, 3, 2, 2, 2, 332, 333, 9, 18, 2, 2, 333, 38, 3, 2, 2, 2, 334, 335, 9, 19, 2, 2, 335, 40, 3, 2, 2, 2, 336, 337, 9, 20, 2, 2, 337, 42, 3, 2, 2, 2, 338, 339, 9, 21, 2, 2, 339, 44, 3, 2, 2, 2, 340, 341, 9, 22, 2, 2, 341, 46, 3, 2, 2, 2, 342, 343, 9, 23, 2, 2, 343, 48, 3, 2, 2, 2, 344, 345, 9, 24, 2, 2, 345, 50, 3, 2, 2, 2, 346, 347, 9, 25, 2, 2, 347, 52, 3, 2, 2, 2, 348, 349, 9, 26, 2, 2, 349, 54, 3, 2, 2, 2, 350, 351, 9, 27, 2, 2, 351, 56, 3, 2, 2, 2, 352, 353, 9, 28, 2, 2, 353, 58, 3, 2, 2, 2, 354, 355, 9, 29, 2, 2, 355, 60, 3, 2, 2, 2, 356, 357, 9, 30, 2, 2, 357, 62, 3, 2, 2, 2, 358, 359, 9, 31, 2, 2, 359, 64, 3, 2, 2, 2, 360, 361, 9, 32, 2, 2, 361, 66, 3, 2, 2, 2, 362, 363, 9, 33, 2, 2, 363, 68, 3, 2, 2, 2, 364, 365, 9, 34, 2, 2, 365, 70, 3, 2, 2, 2, 366, 367, 7, 97, 2, 2, 367, 72, 3, 2, 2, 2, 368, 369, 7, 40, 2, 2, 369, 370, 7, 40, 2, 2, 370, 74, 3, 2, 2, 2, 371, 372, 7, 126, 2, 2, 372, 373, 7, 126, 2, 2, 373, 76, 3, 2, 2, 2, 374, 375, 7, 35, 2, 2, 375, 78, 3, 2, 2, 2, 376, 377, 7, 128, 2, 2, 377, 80, 3, 2, 2, 2, 378, 379, 7, 126, 2, 2, 379, 82, 3, 2, 2, 2, 380, 381, 7, 40, 2, 2, 381, 84, 3, 2, 2, 2, 382, 383, 7, 62, 2, 2, 383, 384, 7, 62, 2, 2, 384, 86, 3, 2, 2, 2, 385, 386, 7, 64, 2, 2, 386, 387, 7, 64, 2, 2, 387, 88, 3, 2, 2, 2, 388, 389, 7, 96, 2, 2, 389, 90, 3, 2, 2, 2, 390, 391, 7, 39, 2, 2, 391, 92, 3, 2, 2, 2, 392, 393, 7, 60, 2, 2, 393, 94, 3, 2, 2, 2, 394, 395, 7, 45, 2, 2, 395, 96, 3, 2, 2, 2, 396, 397, 7, 47, 2, 2, 397, 98, 3, 2, 2, 2, 398, 399, 7, 44, 2, 2, 399, 100, 3, 2, 2, 2, 400, 401, 7, 49, 2, 2, 401, 102, 3, 2, 2, 2, 402, 403, 7, 94, 2, 2, 403, 104, 3, 2, 2, 2, 404, 405, 7, 48, 2, 2, 405, 106, 3, 2, 2, 2, 406, 407, 7, 48, 2, 2, 407, 408, 7, 44, 2, 2, 408, 108, 3, 2, 2, 2, 409, 410, 7, 62, 2, 2, 410, 411, 7, 63, 2, 2, 411, 412, 7, 64, 2, 2, 412, 110, 3, 2, 2, 2, 413, 414, 7, 63, 2, 2, 414, 415, 7, 63, 2, 2, 415, 112, 3, 2, 2, 2, 416, 417, 7, 63, 2, 2, 417, 114, 3, 2, 2, 2, 418, 419, 7, 62, 2, 2, 419, 423, 7, 64, 2, 2, 420, 421, 7, 35, 2, 2, 421, 423, 7, 63, 2, 2, 422, 418, 3, 2, 2, 2, 422, 420, 3, 2, 2, 2, 423, 116, 3, 2, 2, 2, 424, 425, 7, 64, 2, 2, 425, 118, 3, 2, 2, 2, 426, 427, 7, 64, 2, 2, 427, 428, 7, 63, 2, 2, 428, 120, 3, 2, 2, 2, 429, 430, 7, 62, 2, 2, 430, 122, 3, 2, 2, 2, 431, 432, 7, 62, 2, 2, 432, 433, 7, 63, 2, 2, 433, 124, 3, 2, 2, 2, 434, 435, 7, 37, 2, 2, 435, 126, 3, 2, 2, 2, 436, 437, 7, 42, 2, 2, 437, 128, 3, 2, 2, 2, 438, 439, 7, 43, 2, 2, 439, 130, 3, 2, 2, 2, 440, 441, 7, 125, 2, 2, 441, 132, 3, 2, 2, 2, 442, 443, 7, 127, 2, 2, 443, 134, 3, 2, 2, 2, 444, 445, 7, 93, 2, 2, 445, 136, 3, 2, 2, 2, 446, 447, 7, 95, 2, 2, 447, 138, 3, 2, 2, 2, 448, 449, 7, 46, 2, 2, 449, 140, 3, 2, 2, 2, 450, 451, 7, 36, 2, 2, 451, 142, 3, 2, 2, 2, 452, 453, 7, 41, 2, 2, 453, 144, 3, 2, 2, 2, 454, 455, 7, 98, 2, 2, 455, 146, 3, 2, 2, 2, 456, 457, 7, 65, 2, 2, 457, 148, 3, 2, 2, 2, 458, 459, 7, 66, 2, 2, 459, 150, 3, 2, 2, 2, 460, 461, 7, 61, 2, 2, 461, 152, 3, 2, 2, 2, 462, 463, 7, 47, 2, 2, 463, 464, 7, 64, 2, 2, 464, 465, 7, 64, 2, 2, 465, 154, 3, 2, 2, 2, 25, 2, 158, 164, 169, 176, 180, 188, 190, 201, 203, 208, 213, 218, 221, 227, 231, 239, 246, 250, 258, 265, 269, 422, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Literals.java b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Literals.java deleted file mode 100644 index 575bad02..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Literals.java +++ /dev/null @@ -1,298 +0,0 @@ -// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/Literals.g4 by ANTLR 4.9.2 -import org.antlr.v4.runtime.Lexer; -import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.TokenStream; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.misc.*; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class Literals extends Lexer { - static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - IDENTIFIER_=1, STRING_=2, INT_=3, HEX_=4, NUMBER_=5, HEXDIGIT_=6, BITNUM_=7, - FOR_GENERATOR=8, AND_=9, OR_=10, NOT_=11, TILDE_=12, VERTICALBAR_=13, - AMPERSAND_=14, SIGNEDLEFTSHIFT_=15, SIGNEDRIGHTSHIFT_=16, CARET_=17, MOD_=18, - COLON_=19, PLUS_=20, MINUS_=21, ASTERISK_=22, SLASH_=23, BACKSLASH_=24, - DOT_=25, DOTASTERISK_=26, SAFEEQ_=27, DEQ_=28, EQ_=29, NEQ_=30, GT_=31, - GTE_=32, LT_=33, LTE_=34, POUND_=35, LP_=36, RP_=37, LBE_=38, RBE_=39, - LBT_=40, RBT_=41, COMMA_=42, DQ_=43, SQ_=44, BQ_=45, QUESTION_=46, AT_=47, - SEMI_=48, JSONSEPARATOR_=49; - public static String[] channelNames = { - "DEFAULT_TOKEN_CHANNEL", "HIDDEN" - }; - - public static String[] modeNames = { - "DEFAULT_MODE" - }; - - private static String[] makeRuleNames() { - return new String[] { - "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_", - "FOR_GENERATOR", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", - "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", - "Z", "UL_", "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", - "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", - "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", - "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", - "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", - "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, null, null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'", - "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", "'%'", - "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", "'=='", - "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", "'{'", - "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", "';'", - "'->>'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "IDENTIFIER_", "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", - "BITNUM_", "FOR_GENERATOR", "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", - "AMPERSAND_", "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", - "COLON_", "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", - "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", - "LTE_", "POUND_", "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", - "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - - public Literals(CharStream input) { - super(input); - _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - @Override - public String getGrammarFileName() { return "Literals.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public String[] getChannelNames() { return channelNames; } - - @Override - public String[] getModeNames() { return modeNames; } - - @Override - public ATN getATN() { return _ATN; } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2\63\u01d2\b\1\4\2"+ - "\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4"+ - "\13\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22"+ - "\t\22\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31"+ - "\t\31\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t"+ - " \4!\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t"+ - "+\4,\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64"+ - "\t\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t"+ - "=\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4"+ - "I\tI\4J\tJ\4K\tK\4L\tL\4M\tM\3\2\7\2\u009d\n\2\f\2\16\2\u00a0\13\2\3\2"+ - "\6\2\u00a3\n\2\r\2\16\2\u00a4\3\2\7\2\u00a8\n\2\f\2\16\2\u00ab\13\2\3"+ - "\2\3\2\6\2\u00af\n\2\r\2\16\2\u00b0\3\2\3\2\5\2\u00b5\n\2\3\3\3\3\3\3"+ - "\3\3\3\3\3\3\7\3\u00bd\n\3\f\3\16\3\u00c0\13\3\3\3\3\3\3\3\3\3\3\3\3\3"+ - "\3\3\3\3\7\3\u00ca\n\3\f\3\16\3\u00cd\13\3\3\3\3\3\5\3\u00d1\n\3\3\4\6"+ - "\4\u00d4\n\4\r\4\16\4\u00d5\3\5\3\5\3\6\5\6\u00db\n\6\3\6\5\6\u00de\n"+ - "\6\3\6\3\6\3\6\3\6\5\6\u00e4\n\6\3\6\3\6\5\6\u00e8\n\6\3\7\3\7\3\7\3\7"+ - "\6\7\u00ee\n\7\r\7\16\7\u00ef\3\7\3\7\3\7\6\7\u00f5\n\7\r\7\16\7\u00f6"+ - "\3\7\3\7\5\7\u00fb\n\7\3\b\3\b\3\b\3\b\6\b\u0101\n\b\r\b\16\b\u0102\3"+ - "\b\3\b\3\b\6\b\u0108\n\b\r\b\16\b\u0109\3\b\3\b\5\b\u010e\n\b\3\t\3\t"+ - "\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3"+ - "\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t"+ - "\3\t\3\t\3\t\3\t\3\t\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3"+ - "\17\3\17\3\20\3\20\3\21\3\21\3\22\3\22\3\23\3\23\3\24\3\24\3\25\3\25\3"+ - "\26\3\26\3\27\3\27\3\30\3\30\3\31\3\31\3\32\3\32\3\33\3\33\3\34\3\34\3"+ - "\35\3\35\3\36\3\36\3\37\3\37\3 \3 \3!\3!\3\"\3\"\3#\3#\3$\3$\3%\3%\3%"+ - "\3&\3&\3&\3\'\3\'\3(\3(\3)\3)\3*\3*\3+\3+\3+\3,\3,\3,\3-\3-\3.\3.\3/\3"+ - "/\3\60\3\60\3\61\3\61\3\62\3\62\3\63\3\63\3\64\3\64\3\65\3\65\3\66\3\66"+ - "\3\66\3\67\3\67\3\67\3\67\38\38\38\39\39\3:\3:\3:\3:\5:\u01a7\n:\3;\3"+ - ";\3<\3<\3<\3=\3=\3>\3>\3>\3?\3?\3@\3@\3A\3A\3B\3B\3C\3C\3D\3D\3E\3E\3"+ - "F\3F\3G\3G\3H\3H\3I\3I\3J\3J\3K\3K\3L\3L\3M\3M\3M\3M\4\u009e\u00a4\2N"+ - "\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23\2\25\2\27\2\31\2\33\2\35\2\37\2"+ - "!\2#\2%\2\'\2)\2+\2-\2/\2\61\2\63\2\65\2\67\29\2;\2=\2?\2A\2C\2E\2G\2"+ - "I\13K\fM\rO\16Q\17S\20U\21W\22Y\23[\24]\25_\26a\27c\30e\31g\32i\33k\34"+ - "m\35o\36q\37s u!w\"y#{$}%\177&\u0081\'\u0083(\u0085)\u0087*\u0089+\u008b"+ - ",\u008d-\u008f.\u0091/\u0093\60\u0095\61\u0097\62\u0099\63\3\2#\7\2&&"+ - "\62;C\\aac|\6\2&&C\\aac|\3\2bb\4\2$$^^\4\2))^^\3\2\62;\5\2\62;CHch\4\2"+ - "CCcc\4\2DDdd\4\2EEee\4\2FFff\4\2GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4"+ - "\2LLll\4\2MMmm\4\2NNnn\4\2OOoo\4\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4\2TTt"+ - "t\4\2UUuu\4\2VVvv\4\2WWww\4\2XXxx\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\||\2"+ - "\u01cf\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2"+ - "\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2\2\2\2I\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2"+ - "\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2["+ - "\3\2\2\2\2]\3\2\2\2\2_\3\2\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3\2"+ - "\2\2\2i\3\2\2\2\2k\3\2\2\2\2m\3\2\2\2\2o\3\2\2\2\2q\3\2\2\2\2s\3\2\2\2"+ - "\2u\3\2\2\2\2w\3\2\2\2\2y\3\2\2\2\2{\3\2\2\2\2}\3\2\2\2\2\177\3\2\2\2"+ - "\2\u0081\3\2\2\2\2\u0083\3\2\2\2\2\u0085\3\2\2\2\2\u0087\3\2\2\2\2\u0089"+ - "\3\2\2\2\2\u008b\3\2\2\2\2\u008d\3\2\2\2\2\u008f\3\2\2\2\2\u0091\3\2\2"+ - "\2\2\u0093\3\2\2\2\2\u0095\3\2\2\2\2\u0097\3\2\2\2\2\u0099\3\2\2\2\3\u00b4"+ - "\3\2\2\2\5\u00d0\3\2\2\2\7\u00d3\3\2\2\2\t\u00d7\3\2\2\2\13\u00da\3\2"+ - "\2\2\r\u00fa\3\2\2\2\17\u010d\3\2\2\2\21\u010f\3\2\2\2\23\u013a\3\2\2"+ - "\2\25\u013c\3\2\2\2\27\u013e\3\2\2\2\31\u0140\3\2\2\2\33\u0142\3\2\2\2"+ - "\35\u0144\3\2\2\2\37\u0146\3\2\2\2!\u0148\3\2\2\2#\u014a\3\2\2\2%\u014c"+ - "\3\2\2\2\'\u014e\3\2\2\2)\u0150\3\2\2\2+\u0152\3\2\2\2-\u0154\3\2\2\2"+ - "/\u0156\3\2\2\2\61\u0158\3\2\2\2\63\u015a\3\2\2\2\65\u015c\3\2\2\2\67"+ - "\u015e\3\2\2\29\u0160\3\2\2\2;\u0162\3\2\2\2=\u0164\3\2\2\2?\u0166\3\2"+ - "\2\2A\u0168\3\2\2\2C\u016a\3\2\2\2E\u016c\3\2\2\2G\u016e\3\2\2\2I\u0170"+ - "\3\2\2\2K\u0173\3\2\2\2M\u0176\3\2\2\2O\u0178\3\2\2\2Q\u017a\3\2\2\2S"+ - "\u017c\3\2\2\2U\u017e\3\2\2\2W\u0181\3\2\2\2Y\u0184\3\2\2\2[\u0186\3\2"+ - "\2\2]\u0188\3\2\2\2_\u018a\3\2\2\2a\u018c\3\2\2\2c\u018e\3\2\2\2e\u0190"+ - "\3\2\2\2g\u0192\3\2\2\2i\u0194\3\2\2\2k\u0196\3\2\2\2m\u0199\3\2\2\2o"+ - "\u019d\3\2\2\2q\u01a0\3\2\2\2s\u01a6\3\2\2\2u\u01a8\3\2\2\2w\u01aa\3\2"+ - "\2\2y\u01ad\3\2\2\2{\u01af\3\2\2\2}\u01b2\3\2\2\2\177\u01b4\3\2\2\2\u0081"+ - "\u01b6\3\2\2\2\u0083\u01b8\3\2\2\2\u0085\u01ba\3\2\2\2\u0087\u01bc\3\2"+ - "\2\2\u0089\u01be\3\2\2\2\u008b\u01c0\3\2\2\2\u008d\u01c2\3\2\2\2\u008f"+ - "\u01c4\3\2\2\2\u0091\u01c6\3\2\2\2\u0093\u01c8\3\2\2\2\u0095\u01ca\3\2"+ - "\2\2\u0097\u01cc\3\2\2\2\u0099\u01ce\3\2\2\2\u009b\u009d\t\2\2\2\u009c"+ - "\u009b\3\2\2\2\u009d\u00a0\3\2\2\2\u009e\u009f\3\2\2\2\u009e\u009c\3\2"+ - "\2\2\u009f\u00a2\3\2\2\2\u00a0\u009e\3\2\2\2\u00a1\u00a3\t\3\2\2\u00a2"+ - "\u00a1\3\2\2\2\u00a3\u00a4\3\2\2\2\u00a4\u00a5\3\2\2\2\u00a4\u00a2\3\2"+ - "\2\2\u00a5\u00a9\3\2\2\2\u00a6\u00a8\t\2\2\2\u00a7\u00a6\3\2\2\2\u00a8"+ - "\u00ab\3\2\2\2\u00a9\u00a7\3\2\2\2\u00a9\u00aa\3\2\2\2\u00aa\u00b5\3\2"+ - "\2\2\u00ab\u00a9\3\2\2\2\u00ac\u00ae\5\u0091I\2\u00ad\u00af\n\4\2\2\u00ae"+ - "\u00ad\3\2\2\2\u00af\u00b0\3\2\2\2\u00b0\u00ae\3\2\2\2\u00b0\u00b1\3\2"+ - "\2\2\u00b1\u00b2\3\2\2\2\u00b2\u00b3\5\u0091I\2\u00b3\u00b5\3\2\2\2\u00b4"+ - "\u009e\3\2\2\2\u00b4\u00ac\3\2\2\2\u00b5\4\3\2\2\2\u00b6\u00be\5\u008d"+ - "G\2\u00b7\u00b8\7^\2\2\u00b8\u00bd\13\2\2\2\u00b9\u00ba\7$\2\2\u00ba\u00bd"+ - "\7$\2\2\u00bb\u00bd\n\5\2\2\u00bc\u00b7\3\2\2\2\u00bc\u00b9\3\2\2\2\u00bc"+ - "\u00bb\3\2\2\2\u00bd\u00c0\3\2\2\2\u00be\u00bc\3\2\2\2\u00be\u00bf\3\2"+ - "\2\2\u00bf\u00c1\3\2\2\2\u00c0\u00be\3\2\2\2\u00c1\u00c2\5\u008dG\2\u00c2"+ - "\u00d1\3\2\2\2\u00c3\u00cb\5\u008fH\2\u00c4\u00c5\7^\2\2\u00c5\u00ca\13"+ - "\2\2\2\u00c6\u00c7\7)\2\2\u00c7\u00ca\7)\2\2\u00c8\u00ca\n\6\2\2\u00c9"+ - "\u00c4\3\2\2\2\u00c9\u00c6\3\2\2\2\u00c9\u00c8\3\2\2\2\u00ca\u00cd\3\2"+ - "\2\2\u00cb\u00c9\3\2\2\2\u00cb\u00cc\3\2\2\2\u00cc\u00ce\3\2\2\2\u00cd"+ - "\u00cb\3\2\2\2\u00ce\u00cf\5\u008fH\2\u00cf\u00d1\3\2\2\2\u00d0\u00b6"+ - "\3\2\2\2\u00d0\u00c3\3\2\2\2\u00d1\6\3\2\2\2\u00d2\u00d4\t\7\2\2\u00d3"+ - "\u00d2\3\2\2\2\u00d4\u00d5\3\2\2\2\u00d5\u00d3\3\2\2\2\u00d5\u00d6\3\2"+ - "\2\2\u00d6\b\3\2\2\2\u00d7\u00d8\t\b\2\2\u00d8\n\3\2\2\2\u00d9\u00db\5"+ - "\7\4\2\u00da\u00d9\3\2\2\2\u00da\u00db\3\2\2\2\u00db\u00dd\3\2\2\2\u00dc"+ - "\u00de\5i\65\2\u00dd\u00dc\3\2\2\2\u00dd\u00de\3\2\2\2\u00de\u00df\3\2"+ - "\2\2\u00df\u00e7\5\7\4\2\u00e0\u00e3\5\33\16\2\u00e1\u00e4\5_\60\2\u00e2"+ - "\u00e4\5a\61\2\u00e3\u00e1\3\2\2\2\u00e3\u00e2\3\2\2\2\u00e3\u00e4\3\2"+ - "\2\2\u00e4\u00e5\3\2\2\2\u00e5\u00e6\5\7\4\2\u00e6\u00e8\3\2\2\2\u00e7"+ - "\u00e0\3\2\2\2\u00e7\u00e8\3\2\2\2\u00e8\f\3\2\2\2\u00e9\u00ea\7\62\2"+ - "\2\u00ea\u00eb\7z\2\2\u00eb\u00ed\3\2\2\2\u00ec\u00ee\5\t\5\2\u00ed\u00ec"+ - "\3\2\2\2\u00ee\u00ef\3\2\2\2\u00ef\u00ed\3\2\2\2\u00ef\u00f0\3\2\2\2\u00f0"+ - "\u00fb\3\2\2\2\u00f1\u00f2\7Z\2\2\u00f2\u00f4\5\u008fH\2\u00f3\u00f5\5"+ - "\t\5\2\u00f4\u00f3\3\2\2\2\u00f5\u00f6\3\2\2\2\u00f6\u00f4\3\2\2\2\u00f6"+ - "\u00f7\3\2\2\2\u00f7\u00f8\3\2\2\2\u00f8\u00f9\5\u008fH\2\u00f9\u00fb"+ - "\3\2\2\2\u00fa\u00e9\3\2\2\2\u00fa\u00f1\3\2\2\2\u00fb\16\3\2\2\2\u00fc"+ - "\u00fd\7\62\2\2\u00fd\u00fe\7d\2\2\u00fe\u0100\3\2\2\2\u00ff\u0101\4\62"+ - "\63\2\u0100\u00ff\3\2\2\2\u0101\u0102\3\2\2\2\u0102\u0100\3\2\2\2\u0102"+ - "\u0103\3\2\2\2\u0103\u010e\3\2\2\2\u0104\u0105\5\25\13\2\u0105\u0107\5"+ - "\u008fH\2\u0106\u0108\4\62\63\2\u0107\u0106\3\2\2\2\u0108\u0109\3\2\2"+ - "\2\u0109\u0107\3\2\2\2\u0109\u010a\3\2\2\2\u010a\u010b\3\2\2\2\u010b\u010c"+ - "\5\u008fH\2\u010c\u010e\3\2\2\2\u010d\u00fc\3\2\2\2\u010d\u0104\3\2\2"+ - "\2\u010e\20\3\2\2\2\u010f\u0110\7F\2\2\u0110\u0111\7Q\2\2\u0111\u0112"+ - "\7\"\2\2\u0112\u0113\7P\2\2\u0113\u0114\7Q\2\2\u0114\u0115\7V\2\2\u0115"+ - "\u0116\7\"\2\2\u0116\u0117\7O\2\2\u0117\u0118\7C\2\2\u0118\u0119\7V\2"+ - "\2\u0119\u011a\7E\2\2\u011a\u011b\7J\2\2\u011b\u011c\7\"\2\2\u011c\u011d"+ - "\7C\2\2\u011d\u011e\7P\2\2\u011e\u011f\7[\2\2\u011f\u0120\7\"\2\2\u0120"+ - "\u0121\7V\2\2\u0121\u0122\7J\2\2\u0122\u0123\7K\2\2\u0123\u0124\7P\2\2"+ - "\u0124\u0125\7I\2\2\u0125\u0126\7.\2\2\u0126\u0127\7\"\2\2\u0127\u0128"+ - "\7L\2\2\u0128\u0129\7W\2\2\u0129\u012a\7U\2\2\u012a\u012b\7V\2\2\u012b"+ - "\u012c\7\"\2\2\u012c\u012d\7H\2\2\u012d\u012e\7Q\2\2\u012e\u012f\7T\2"+ - "\2\u012f\u0130\7\"\2\2\u0130\u0131\7I\2\2\u0131\u0132\7G\2\2\u0132\u0133"+ - "\7P\2\2\u0133\u0134\7G\2\2\u0134\u0135\7T\2\2\u0135\u0136\7C\2\2\u0136"+ - "\u0137\7V\2\2\u0137\u0138\7Q\2\2\u0138\u0139\7T\2\2\u0139\22\3\2\2\2\u013a"+ - "\u013b\t\t\2\2\u013b\24\3\2\2\2\u013c\u013d\t\n\2\2\u013d\26\3\2\2\2\u013e"+ - "\u013f\t\13\2\2\u013f\30\3\2\2\2\u0140\u0141\t\f\2\2\u0141\32\3\2\2\2"+ - "\u0142\u0143\t\r\2\2\u0143\34\3\2\2\2\u0144\u0145\t\16\2\2\u0145\36\3"+ - "\2\2\2\u0146\u0147\t\17\2\2\u0147 \3\2\2\2\u0148\u0149\t\20\2\2\u0149"+ - "\"\3\2\2\2\u014a\u014b\t\21\2\2\u014b$\3\2\2\2\u014c\u014d\t\22\2\2\u014d"+ - "&\3\2\2\2\u014e\u014f\t\23\2\2\u014f(\3\2\2\2\u0150\u0151\t\24\2\2\u0151"+ - "*\3\2\2\2\u0152\u0153\t\25\2\2\u0153,\3\2\2\2\u0154\u0155\t\26\2\2\u0155"+ - ".\3\2\2\2\u0156\u0157\t\27\2\2\u0157\60\3\2\2\2\u0158\u0159\t\30\2\2\u0159"+ - "\62\3\2\2\2\u015a\u015b\t\31\2\2\u015b\64\3\2\2\2\u015c\u015d\t\32\2\2"+ - "\u015d\66\3\2\2\2\u015e\u015f\t\33\2\2\u015f8\3\2\2\2\u0160\u0161\t\34"+ - "\2\2\u0161:\3\2\2\2\u0162\u0163\t\35\2\2\u0163<\3\2\2\2\u0164\u0165\t"+ - "\36\2\2\u0165>\3\2\2\2\u0166\u0167\t\37\2\2\u0167@\3\2\2\2\u0168\u0169"+ - "\t \2\2\u0169B\3\2\2\2\u016a\u016b\t!\2\2\u016bD\3\2\2\2\u016c\u016d\t"+ - "\"\2\2\u016dF\3\2\2\2\u016e\u016f\7a\2\2\u016fH\3\2\2\2\u0170\u0171\7"+ - "(\2\2\u0171\u0172\7(\2\2\u0172J\3\2\2\2\u0173\u0174\7~\2\2\u0174\u0175"+ - "\7~\2\2\u0175L\3\2\2\2\u0176\u0177\7#\2\2\u0177N\3\2\2\2\u0178\u0179\7"+ - "\u0080\2\2\u0179P\3\2\2\2\u017a\u017b\7~\2\2\u017bR\3\2\2\2\u017c\u017d"+ - "\7(\2\2\u017dT\3\2\2\2\u017e\u017f\7>\2\2\u017f\u0180\7>\2\2\u0180V\3"+ - "\2\2\2\u0181\u0182\7@\2\2\u0182\u0183\7@\2\2\u0183X\3\2\2\2\u0184\u0185"+ - "\7`\2\2\u0185Z\3\2\2\2\u0186\u0187\7\'\2\2\u0187\\\3\2\2\2\u0188\u0189"+ - "\7<\2\2\u0189^\3\2\2\2\u018a\u018b\7-\2\2\u018b`\3\2\2\2\u018c\u018d\7"+ - "/\2\2\u018db\3\2\2\2\u018e\u018f\7,\2\2\u018fd\3\2\2\2\u0190\u0191\7\61"+ - "\2\2\u0191f\3\2\2\2\u0192\u0193\7^\2\2\u0193h\3\2\2\2\u0194\u0195\7\60"+ - "\2\2\u0195j\3\2\2\2\u0196\u0197\7\60\2\2\u0197\u0198\7,\2\2\u0198l\3\2"+ - "\2\2\u0199\u019a\7>\2\2\u019a\u019b\7?\2\2\u019b\u019c\7@\2\2\u019cn\3"+ - "\2\2\2\u019d\u019e\7?\2\2\u019e\u019f\7?\2\2\u019fp\3\2\2\2\u01a0\u01a1"+ - "\7?\2\2\u01a1r\3\2\2\2\u01a2\u01a3\7>\2\2\u01a3\u01a7\7@\2\2\u01a4\u01a5"+ - "\7#\2\2\u01a5\u01a7\7?\2\2\u01a6\u01a2\3\2\2\2\u01a6\u01a4\3\2\2\2\u01a7"+ - "t\3\2\2\2\u01a8\u01a9\7@\2\2\u01a9v\3\2\2\2\u01aa\u01ab\7@\2\2\u01ab\u01ac"+ - "\7?\2\2\u01acx\3\2\2\2\u01ad\u01ae\7>\2\2\u01aez\3\2\2\2\u01af\u01b0\7"+ - ">\2\2\u01b0\u01b1\7?\2\2\u01b1|\3\2\2\2\u01b2\u01b3\7%\2\2\u01b3~\3\2"+ - "\2\2\u01b4\u01b5\7*\2\2\u01b5\u0080\3\2\2\2\u01b6\u01b7\7+\2\2\u01b7\u0082"+ - "\3\2\2\2\u01b8\u01b9\7}\2\2\u01b9\u0084\3\2\2\2\u01ba\u01bb\7\177\2\2"+ - "\u01bb\u0086\3\2\2\2\u01bc\u01bd\7]\2\2\u01bd\u0088\3\2\2\2\u01be\u01bf"+ - "\7_\2\2\u01bf\u008a\3\2\2\2\u01c0\u01c1\7.\2\2\u01c1\u008c\3\2\2\2\u01c2"+ - "\u01c3\7$\2\2\u01c3\u008e\3\2\2\2\u01c4\u01c5\7)\2\2\u01c5\u0090\3\2\2"+ - "\2\u01c6\u01c7\7b\2\2\u01c7\u0092\3\2\2\2\u01c8\u01c9\7A\2\2\u01c9\u0094"+ - "\3\2\2\2\u01ca\u01cb\7B\2\2\u01cb\u0096\3\2\2\2\u01cc\u01cd\7=\2\2\u01cd"+ - "\u0098\3\2\2\2\u01ce\u01cf\7/\2\2\u01cf\u01d0\7@\2\2\u01d0\u01d1\7@\2"+ - "\2\u01d1\u009a\3\2\2\2\31\2\u009e\u00a4\u00a9\u00b0\u00b4\u00bc\u00be"+ - "\u00c9\u00cb\u00d0\u00d5\u00da\u00dd\u00e3\u00e7\u00ef\u00f6\u00fa\u0102"+ - "\u0109\u010d\u01a6\2"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Literals.tokens b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Literals.tokens deleted file mode 100644 index d01c01fa..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Literals.tokens +++ /dev/null @@ -1,90 +0,0 @@ -IDENTIFIER_=1 -STRING_=2 -INT_=3 -HEX_=4 -NUMBER_=5 -HEXDIGIT_=6 -BITNUM_=7 -FOR_GENERATOR=8 -AND_=9 -OR_=10 -NOT_=11 -TILDE_=12 -VERTICALBAR_=13 -AMPERSAND_=14 -SIGNEDLEFTSHIFT_=15 -SIGNEDRIGHTSHIFT_=16 -CARET_=17 -MOD_=18 -COLON_=19 -PLUS_=20 -MINUS_=21 -ASTERISK_=22 -SLASH_=23 -BACKSLASH_=24 -DOT_=25 -DOTASTERISK_=26 -SAFEEQ_=27 -DEQ_=28 -EQ_=29 -NEQ_=30 -GT_=31 -GTE_=32 -LT_=33 -LTE_=34 -POUND_=35 -LP_=36 -RP_=37 -LBE_=38 -RBE_=39 -LBT_=40 -RBT_=41 -COMMA_=42 -DQ_=43 -SQ_=44 -BQ_=45 -QUESTION_=46 -AT_=47 -SEMI_=48 -JSONSEPARATOR_=49 -'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=8 -'&&'=9 -'||'=10 -'!'=11 -'~'=12 -'|'=13 -'&'=14 -'<<'=15 -'>>'=16 -'^'=17 -'%'=18 -':'=19 -'+'=20 -'-'=21 -'*'=22 -'/'=23 -'\\'=24 -'.'=25 -'.*'=26 -'<=>'=27 -'=='=28 -'='=29 -'>'=31 -'>='=32 -'<'=33 -'<='=34 -'#'=35 -'('=36 -')'=37 -'{'=38 -'}'=39 -'['=40 -']'=41 -','=42 -'"'=43 -'\''=44 -'`'=45 -'?'=46 -'@'=47 -';'=48 -'->>'=49 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatement.interp b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatement.interp deleted file mode 100644 index b4a67393..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatement.interp +++ /dev/null @@ -1,181 +0,0 @@ -token literal names: -null -'&&' -'||' -'!' -'~' -'|' -'&' -'<<' -'>>' -'^' -'%' -':' -'+' -'-' -'*' -'/' -'\\' -'.' -'.*' -'<=>' -'==' -'=' -null -'>' -'>=' -'<' -'<=' -'#' -'(' -')' -'{' -'}' -'[' -']' -',' -'"' -'\'' -'`' -'?' -'@' -';' -'->>' -'_' -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -'DO NOT MATCH ANY THING, JUST FOR GENERATOR' -null -null -null -null -null -null -null - -token symbolic names: -null -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ -WS -TRUE -FALSE -CREATE -ALTER -DROP -SHOW -RULE -FROM -READWRITE_SPLITTING -WRITE_STORAGE_UNIT -READ_STORAGE_UNITS -TRANSACTIONAL_READ_QUERY_STRATEGY -TYPE -NAME -PROPERTIES -RULES -RESOURCES -STATUS -ENABLE -DISABLE -READ -IF -EXISTS -COUNT -ROUND_ROBIN -RANDOM -WEIGHT -NOT -FOR_GENERATOR -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ - -rule names: -alterReadwriteSplittingStorageUnitStatus -showStatusFromReadwriteSplittingRules -literal -algorithmDefinition -algorithmTypeName -buildInReadQueryLoadBalanceAlgorithmType -propertiesDefinition -properties -property -databaseName -groupName -storageUnitName - - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 81, 103, 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, 3, 2, 3, 2, 3, 2, 3, 2, 5, 2, 31, 10, 2, 3, 2, 3, 2, 3, 2, 3, 2, 5, 2, 37, 10, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 46, 10, 3, 3, 3, 3, 3, 5, 3, 50, 10, 3, 3, 4, 3, 4, 5, 4, 54, 10, 4, 3, 4, 3, 4, 3, 4, 5, 4, 59, 10, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 5, 5, 68, 10, 5, 3, 5, 3, 5, 3, 6, 3, 6, 5, 6, 74, 10, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 5, 8, 81, 10, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 7, 9, 88, 10, 9, 12, 9, 14, 9, 91, 11, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 2, 2, 14, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 2, 4, 3, 2, 64, 65, 3, 2, 70, 72, 2, 102, 2, 26, 3, 2, 2, 2, 4, 38, 3, 2, 2, 2, 6, 58, 3, 2, 2, 2, 8, 60, 3, 2, 2, 2, 10, 73, 3, 2, 2, 2, 12, 75, 3, 2, 2, 2, 14, 77, 3, 2, 2, 2, 16, 84, 3, 2, 2, 2, 18, 92, 3, 2, 2, 2, 20, 96, 3, 2, 2, 2, 22, 98, 3, 2, 2, 2, 24, 100, 3, 2, 2, 2, 26, 27, 7, 49, 2, 2, 27, 28, 7, 54, 2, 2, 28, 30, 7, 52, 2, 2, 29, 31, 5, 22, 12, 2, 30, 29, 3, 2, 2, 2, 30, 31, 3, 2, 2, 2, 31, 32, 3, 2, 2, 2, 32, 33, 9, 2, 2, 2, 33, 36, 5, 24, 13, 2, 34, 35, 7, 53, 2, 2, 35, 37, 5, 20, 11, 2, 36, 34, 3, 2, 2, 2, 36, 37, 3, 2, 2, 2, 37, 3, 3, 2, 2, 2, 38, 39, 7, 51, 2, 2, 39, 40, 7, 63, 2, 2, 40, 41, 7, 53, 2, 2, 41, 45, 7, 54, 2, 2, 42, 46, 7, 61, 2, 2, 43, 44, 7, 52, 2, 2, 44, 46, 5, 22, 12, 2, 45, 42, 3, 2, 2, 2, 45, 43, 3, 2, 2, 2, 46, 49, 3, 2, 2, 2, 47, 48, 7, 53, 2, 2, 48, 50, 5, 20, 11, 2, 49, 47, 3, 2, 2, 2, 49, 50, 3, 2, 2, 2, 50, 5, 3, 2, 2, 2, 51, 59, 7, 76, 2, 2, 52, 54, 7, 15, 2, 2, 53, 52, 3, 2, 2, 2, 53, 54, 3, 2, 2, 2, 54, 55, 3, 2, 2, 2, 55, 59, 7, 77, 2, 2, 56, 59, 7, 46, 2, 2, 57, 59, 7, 47, 2, 2, 58, 51, 3, 2, 2, 2, 58, 53, 3, 2, 2, 2, 58, 56, 3, 2, 2, 2, 58, 57, 3, 2, 2, 2, 59, 7, 3, 2, 2, 2, 60, 61, 7, 58, 2, 2, 61, 62, 7, 30, 2, 2, 62, 63, 7, 59, 2, 2, 63, 64, 7, 23, 2, 2, 64, 67, 5, 10, 6, 2, 65, 66, 7, 36, 2, 2, 66, 68, 5, 14, 8, 2, 67, 65, 3, 2, 2, 2, 67, 68, 3, 2, 2, 2, 68, 69, 3, 2, 2, 2, 69, 70, 7, 31, 2, 2, 70, 9, 3, 2, 2, 2, 71, 74, 7, 76, 2, 2, 72, 74, 5, 12, 7, 2, 73, 71, 3, 2, 2, 2, 73, 72, 3, 2, 2, 2, 74, 11, 3, 2, 2, 2, 75, 76, 9, 3, 2, 2, 76, 13, 3, 2, 2, 2, 77, 78, 7, 60, 2, 2, 78, 80, 7, 30, 2, 2, 79, 81, 5, 16, 9, 2, 80, 79, 3, 2, 2, 2, 80, 81, 3, 2, 2, 2, 81, 82, 3, 2, 2, 2, 82, 83, 7, 31, 2, 2, 83, 15, 3, 2, 2, 2, 84, 89, 5, 18, 10, 2, 85, 86, 7, 36, 2, 2, 86, 88, 5, 18, 10, 2, 87, 85, 3, 2, 2, 2, 88, 91, 3, 2, 2, 2, 89, 87, 3, 2, 2, 2, 89, 90, 3, 2, 2, 2, 90, 17, 3, 2, 2, 2, 91, 89, 3, 2, 2, 2, 92, 93, 7, 76, 2, 2, 93, 94, 7, 23, 2, 2, 94, 95, 5, 6, 4, 2, 95, 19, 3, 2, 2, 2, 96, 97, 7, 75, 2, 2, 97, 21, 3, 2, 2, 2, 98, 99, 7, 75, 2, 2, 99, 23, 3, 2, 2, 2, 100, 101, 7, 75, 2, 2, 101, 25, 3, 2, 2, 2, 12, 30, 36, 45, 49, 53, 58, 67, 73, 80, 89] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatement.tokens b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatement.tokens deleted file mode 100644 index 8f1734a8..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatement.tokens +++ /dev/null @@ -1,121 +0,0 @@ -AND_=1 -OR_=2 -NOT_=3 -TILDE_=4 -VERTICALBAR_=5 -AMPERSAND_=6 -SIGNEDLEFTSHIFT_=7 -SIGNEDRIGHTSHIFT_=8 -CARET_=9 -MOD_=10 -COLON_=11 -PLUS_=12 -MINUS_=13 -ASTERISK_=14 -SLASH_=15 -BACKSLASH_=16 -DOT_=17 -DOTASTERISK_=18 -SAFEEQ_=19 -DEQ_=20 -EQ_=21 -NEQ_=22 -GT_=23 -GTE_=24 -LT_=25 -LTE_=26 -POUND_=27 -LP_=28 -RP_=29 -LBE_=30 -RBE_=31 -LBT_=32 -RBT_=33 -COMMA_=34 -DQ_=35 -SQ_=36 -BQ_=37 -QUESTION_=38 -AT_=39 -SEMI_=40 -JSONSEPARATOR_=41 -UL_=42 -WS=43 -TRUE=44 -FALSE=45 -CREATE=46 -ALTER=47 -DROP=48 -SHOW=49 -RULE=50 -FROM=51 -READWRITE_SPLITTING=52 -WRITE_STORAGE_UNIT=53 -READ_STORAGE_UNITS=54 -TRANSACTIONAL_READ_QUERY_STRATEGY=55 -TYPE=56 -NAME=57 -PROPERTIES=58 -RULES=59 -RESOURCES=60 -STATUS=61 -ENABLE=62 -DISABLE=63 -READ=64 -IF=65 -EXISTS=66 -COUNT=67 -ROUND_ROBIN=68 -RANDOM=69 -WEIGHT=70 -NOT=71 -FOR_GENERATOR=72 -IDENTIFIER_=73 -STRING_=74 -INT_=75 -HEX_=76 -NUMBER_=77 -HEXDIGIT_=78 -BITNUM_=79 -'&&'=1 -'||'=2 -'!'=3 -'~'=4 -'|'=5 -'&'=6 -'<<'=7 -'>>'=8 -'^'=9 -'%'=10 -':'=11 -'+'=12 -'-'=13 -'*'=14 -'/'=15 -'\\'=16 -'.'=17 -'.*'=18 -'<=>'=19 -'=='=20 -'='=21 -'>'=23 -'>='=24 -'<'=25 -'<='=26 -'#'=27 -'('=28 -')'=29 -'{'=30 -'}'=31 -'['=32 -']'=33 -','=34 -'"'=35 -'\''=36 -'`'=37 -'?'=38 -'@'=39 -';'=40 -'->>'=41 -'_'=42 -'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=72 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementLexer.interp b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementLexer.interp deleted file mode 100644 index 3301b273..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementLexer.interp +++ /dev/null @@ -1,280 +0,0 @@ -token literal names: -null -'&&' -'||' -'!' -'~' -'|' -'&' -'<<' -'>>' -'^' -'%' -':' -'+' -'-' -'*' -'/' -'\\' -'.' -'.*' -'<=>' -'==' -'=' -null -'>' -'>=' -'<' -'<=' -'#' -'(' -')' -'{' -'}' -'[' -']' -',' -'"' -'\'' -'`' -'?' -'@' -';' -'->>' -'_' -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -'DO NOT MATCH ANY THING, JUST FOR GENERATOR' -null -null -null -null -null -null -null - -token symbolic names: -null -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ -WS -TRUE -FALSE -CREATE -ALTER -DROP -SHOW -RULE -FROM -READWRITE_SPLITTING -WRITE_STORAGE_UNIT -READ_STORAGE_UNITS -TRANSACTIONAL_READ_QUERY_STRATEGY -TYPE -NAME -PROPERTIES -RULES -RESOURCES -STATUS -ENABLE -DISABLE -READ -IF -EXISTS -COUNT -ROUND_ROBIN -RANDOM -WEIGHT -NOT -FOR_GENERATOR -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ - -rule names: -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ -WS -TRUE -FALSE -CREATE -ALTER -DROP -SHOW -RULE -FROM -READWRITE_SPLITTING -WRITE_STORAGE_UNIT -READ_STORAGE_UNITS -TRANSACTIONAL_READ_QUERY_STRATEGY -TYPE -NAME -PROPERTIES -RULES -RESOURCES -STATUS -ENABLE -DISABLE -READ -IF -EXISTS -COUNT -ROUND_ROBIN -RANDOM -WEIGHT -NOT -FOR_GENERATOR -A -B -C -D -E -F -G -H -I -J -K -L -M -N -O -P -Q -R -S -T -U -V -W -X -Y -Z -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ - -channel names: -DEFAULT_TOKEN_CHANNEL -HIDDEN - -mode names: -DEFAULT_MODE - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 81, 777, 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, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 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, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 268, 10, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 44, 6, 44, 315, 10, 44, 13, 44, 14, 44, 316, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 66, 3, 66, 3, 66, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 72, 3, 72, 3, 72, 3, 72, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 74, 3, 74, 3, 75, 3, 75, 3, 76, 3, 76, 3, 77, 3, 77, 3, 78, 3, 78, 3, 79, 3, 79, 3, 80, 3, 80, 3, 81, 3, 81, 3, 82, 3, 82, 3, 83, 3, 83, 3, 84, 3, 84, 3, 85, 3, 85, 3, 86, 3, 86, 3, 87, 3, 87, 3, 88, 3, 88, 3, 89, 3, 89, 3, 90, 3, 90, 3, 91, 3, 91, 3, 92, 3, 92, 3, 93, 3, 93, 3, 94, 3, 94, 3, 95, 3, 95, 3, 96, 3, 96, 3, 97, 3, 97, 3, 98, 3, 98, 3, 99, 3, 99, 3, 100, 7, 100, 663, 10, 100, 12, 100, 14, 100, 666, 11, 100, 3, 100, 6, 100, 669, 10, 100, 13, 100, 14, 100, 670, 3, 100, 7, 100, 674, 10, 100, 12, 100, 14, 100, 677, 11, 100, 3, 100, 3, 100, 6, 100, 681, 10, 100, 13, 100, 14, 100, 682, 3, 100, 3, 100, 5, 100, 687, 10, 100, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 7, 101, 695, 10, 101, 12, 101, 14, 101, 698, 11, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 7, 101, 708, 10, 101, 12, 101, 14, 101, 711, 11, 101, 3, 101, 3, 101, 5, 101, 715, 10, 101, 3, 102, 6, 102, 718, 10, 102, 13, 102, 14, 102, 719, 3, 103, 3, 103, 3, 104, 5, 104, 725, 10, 104, 3, 104, 5, 104, 728, 10, 104, 3, 104, 3, 104, 3, 104, 3, 104, 5, 104, 734, 10, 104, 3, 104, 3, 104, 5, 104, 738, 10, 104, 3, 105, 3, 105, 3, 105, 3, 105, 6, 105, 744, 10, 105, 13, 105, 14, 105, 745, 3, 105, 3, 105, 3, 105, 6, 105, 751, 10, 105, 13, 105, 14, 105, 752, 3, 105, 3, 105, 5, 105, 757, 10, 105, 3, 106, 3, 106, 3, 106, 3, 106, 6, 106, 763, 10, 106, 13, 106, 14, 106, 764, 3, 106, 3, 106, 3, 106, 6, 106, 770, 10, 106, 13, 106, 14, 106, 771, 3, 106, 3, 106, 5, 106, 776, 10, 106, 4, 664, 670, 2, 107, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, 91, 47, 93, 48, 95, 49, 97, 50, 99, 51, 101, 52, 103, 53, 105, 54, 107, 55, 109, 56, 111, 57, 113, 58, 115, 59, 117, 60, 119, 61, 121, 62, 123, 63, 125, 64, 127, 65, 129, 66, 131, 67, 133, 68, 135, 69, 137, 70, 139, 71, 141, 72, 143, 73, 145, 74, 147, 2, 149, 2, 151, 2, 153, 2, 155, 2, 157, 2, 159, 2, 161, 2, 163, 2, 165, 2, 167, 2, 169, 2, 171, 2, 173, 2, 175, 2, 177, 2, 179, 2, 181, 2, 183, 2, 185, 2, 187, 2, 189, 2, 191, 2, 193, 2, 195, 2, 197, 2, 199, 75, 201, 76, 203, 77, 205, 78, 207, 79, 209, 80, 211, 81, 3, 2, 36, 5, 2, 11, 12, 15, 15, 34, 34, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 7, 2, 38, 38, 50, 59, 67, 92, 97, 97, 99, 124, 6, 2, 38, 38, 67, 92, 97, 97, 99, 124, 3, 2, 98, 98, 4, 2, 36, 36, 94, 94, 4, 2, 41, 41, 94, 94, 3, 2, 50, 59, 5, 2, 50, 59, 67, 72, 99, 104, 2, 776, 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, 199, 3, 2, 2, 2, 2, 201, 3, 2, 2, 2, 2, 203, 3, 2, 2, 2, 2, 205, 3, 2, 2, 2, 2, 207, 3, 2, 2, 2, 2, 209, 3, 2, 2, 2, 2, 211, 3, 2, 2, 2, 3, 213, 3, 2, 2, 2, 5, 216, 3, 2, 2, 2, 7, 219, 3, 2, 2, 2, 9, 221, 3, 2, 2, 2, 11, 223, 3, 2, 2, 2, 13, 225, 3, 2, 2, 2, 15, 227, 3, 2, 2, 2, 17, 230, 3, 2, 2, 2, 19, 233, 3, 2, 2, 2, 21, 235, 3, 2, 2, 2, 23, 237, 3, 2, 2, 2, 25, 239, 3, 2, 2, 2, 27, 241, 3, 2, 2, 2, 29, 243, 3, 2, 2, 2, 31, 245, 3, 2, 2, 2, 33, 247, 3, 2, 2, 2, 35, 249, 3, 2, 2, 2, 37, 251, 3, 2, 2, 2, 39, 254, 3, 2, 2, 2, 41, 258, 3, 2, 2, 2, 43, 261, 3, 2, 2, 2, 45, 267, 3, 2, 2, 2, 47, 269, 3, 2, 2, 2, 49, 271, 3, 2, 2, 2, 51, 274, 3, 2, 2, 2, 53, 276, 3, 2, 2, 2, 55, 279, 3, 2, 2, 2, 57, 281, 3, 2, 2, 2, 59, 283, 3, 2, 2, 2, 61, 285, 3, 2, 2, 2, 63, 287, 3, 2, 2, 2, 65, 289, 3, 2, 2, 2, 67, 291, 3, 2, 2, 2, 69, 293, 3, 2, 2, 2, 71, 295, 3, 2, 2, 2, 73, 297, 3, 2, 2, 2, 75, 299, 3, 2, 2, 2, 77, 301, 3, 2, 2, 2, 79, 303, 3, 2, 2, 2, 81, 305, 3, 2, 2, 2, 83, 307, 3, 2, 2, 2, 85, 311, 3, 2, 2, 2, 87, 314, 3, 2, 2, 2, 89, 320, 3, 2, 2, 2, 91, 325, 3, 2, 2, 2, 93, 331, 3, 2, 2, 2, 95, 338, 3, 2, 2, 2, 97, 344, 3, 2, 2, 2, 99, 349, 3, 2, 2, 2, 101, 354, 3, 2, 2, 2, 103, 359, 3, 2, 2, 2, 105, 364, 3, 2, 2, 2, 107, 384, 3, 2, 2, 2, 109, 403, 3, 2, 2, 2, 111, 422, 3, 2, 2, 2, 113, 456, 3, 2, 2, 2, 115, 461, 3, 2, 2, 2, 117, 466, 3, 2, 2, 2, 119, 477, 3, 2, 2, 2, 121, 483, 3, 2, 2, 2, 123, 493, 3, 2, 2, 2, 125, 500, 3, 2, 2, 2, 127, 507, 3, 2, 2, 2, 129, 515, 3, 2, 2, 2, 131, 520, 3, 2, 2, 2, 133, 523, 3, 2, 2, 2, 135, 530, 3, 2, 2, 2, 137, 536, 3, 2, 2, 2, 139, 548, 3, 2, 2, 2, 141, 555, 3, 2, 2, 2, 143, 562, 3, 2, 2, 2, 145, 566, 3, 2, 2, 2, 147, 609, 3, 2, 2, 2, 149, 611, 3, 2, 2, 2, 151, 613, 3, 2, 2, 2, 153, 615, 3, 2, 2, 2, 155, 617, 3, 2, 2, 2, 157, 619, 3, 2, 2, 2, 159, 621, 3, 2, 2, 2, 161, 623, 3, 2, 2, 2, 163, 625, 3, 2, 2, 2, 165, 627, 3, 2, 2, 2, 167, 629, 3, 2, 2, 2, 169, 631, 3, 2, 2, 2, 171, 633, 3, 2, 2, 2, 173, 635, 3, 2, 2, 2, 175, 637, 3, 2, 2, 2, 177, 639, 3, 2, 2, 2, 179, 641, 3, 2, 2, 2, 181, 643, 3, 2, 2, 2, 183, 645, 3, 2, 2, 2, 185, 647, 3, 2, 2, 2, 187, 649, 3, 2, 2, 2, 189, 651, 3, 2, 2, 2, 191, 653, 3, 2, 2, 2, 193, 655, 3, 2, 2, 2, 195, 657, 3, 2, 2, 2, 197, 659, 3, 2, 2, 2, 199, 686, 3, 2, 2, 2, 201, 714, 3, 2, 2, 2, 203, 717, 3, 2, 2, 2, 205, 721, 3, 2, 2, 2, 207, 724, 3, 2, 2, 2, 209, 756, 3, 2, 2, 2, 211, 775, 3, 2, 2, 2, 213, 214, 7, 40, 2, 2, 214, 215, 7, 40, 2, 2, 215, 4, 3, 2, 2, 2, 216, 217, 7, 126, 2, 2, 217, 218, 7, 126, 2, 2, 218, 6, 3, 2, 2, 2, 219, 220, 7, 35, 2, 2, 220, 8, 3, 2, 2, 2, 221, 222, 7, 128, 2, 2, 222, 10, 3, 2, 2, 2, 223, 224, 7, 126, 2, 2, 224, 12, 3, 2, 2, 2, 225, 226, 7, 40, 2, 2, 226, 14, 3, 2, 2, 2, 227, 228, 7, 62, 2, 2, 228, 229, 7, 62, 2, 2, 229, 16, 3, 2, 2, 2, 230, 231, 7, 64, 2, 2, 231, 232, 7, 64, 2, 2, 232, 18, 3, 2, 2, 2, 233, 234, 7, 96, 2, 2, 234, 20, 3, 2, 2, 2, 235, 236, 7, 39, 2, 2, 236, 22, 3, 2, 2, 2, 237, 238, 7, 60, 2, 2, 238, 24, 3, 2, 2, 2, 239, 240, 7, 45, 2, 2, 240, 26, 3, 2, 2, 2, 241, 242, 7, 47, 2, 2, 242, 28, 3, 2, 2, 2, 243, 244, 7, 44, 2, 2, 244, 30, 3, 2, 2, 2, 245, 246, 7, 49, 2, 2, 246, 32, 3, 2, 2, 2, 247, 248, 7, 94, 2, 2, 248, 34, 3, 2, 2, 2, 249, 250, 7, 48, 2, 2, 250, 36, 3, 2, 2, 2, 251, 252, 7, 48, 2, 2, 252, 253, 7, 44, 2, 2, 253, 38, 3, 2, 2, 2, 254, 255, 7, 62, 2, 2, 255, 256, 7, 63, 2, 2, 256, 257, 7, 64, 2, 2, 257, 40, 3, 2, 2, 2, 258, 259, 7, 63, 2, 2, 259, 260, 7, 63, 2, 2, 260, 42, 3, 2, 2, 2, 261, 262, 7, 63, 2, 2, 262, 44, 3, 2, 2, 2, 263, 264, 7, 62, 2, 2, 264, 268, 7, 64, 2, 2, 265, 266, 7, 35, 2, 2, 266, 268, 7, 63, 2, 2, 267, 263, 3, 2, 2, 2, 267, 265, 3, 2, 2, 2, 268, 46, 3, 2, 2, 2, 269, 270, 7, 64, 2, 2, 270, 48, 3, 2, 2, 2, 271, 272, 7, 64, 2, 2, 272, 273, 7, 63, 2, 2, 273, 50, 3, 2, 2, 2, 274, 275, 7, 62, 2, 2, 275, 52, 3, 2, 2, 2, 276, 277, 7, 62, 2, 2, 277, 278, 7, 63, 2, 2, 278, 54, 3, 2, 2, 2, 279, 280, 7, 37, 2, 2, 280, 56, 3, 2, 2, 2, 281, 282, 7, 42, 2, 2, 282, 58, 3, 2, 2, 2, 283, 284, 7, 43, 2, 2, 284, 60, 3, 2, 2, 2, 285, 286, 7, 125, 2, 2, 286, 62, 3, 2, 2, 2, 287, 288, 7, 127, 2, 2, 288, 64, 3, 2, 2, 2, 289, 290, 7, 93, 2, 2, 290, 66, 3, 2, 2, 2, 291, 292, 7, 95, 2, 2, 292, 68, 3, 2, 2, 2, 293, 294, 7, 46, 2, 2, 294, 70, 3, 2, 2, 2, 295, 296, 7, 36, 2, 2, 296, 72, 3, 2, 2, 2, 297, 298, 7, 41, 2, 2, 298, 74, 3, 2, 2, 2, 299, 300, 7, 98, 2, 2, 300, 76, 3, 2, 2, 2, 301, 302, 7, 65, 2, 2, 302, 78, 3, 2, 2, 2, 303, 304, 7, 66, 2, 2, 304, 80, 3, 2, 2, 2, 305, 306, 7, 61, 2, 2, 306, 82, 3, 2, 2, 2, 307, 308, 7, 47, 2, 2, 308, 309, 7, 64, 2, 2, 309, 310, 7, 64, 2, 2, 310, 84, 3, 2, 2, 2, 311, 312, 7, 97, 2, 2, 312, 86, 3, 2, 2, 2, 313, 315, 9, 2, 2, 2, 314, 313, 3, 2, 2, 2, 315, 316, 3, 2, 2, 2, 316, 314, 3, 2, 2, 2, 316, 317, 3, 2, 2, 2, 317, 318, 3, 2, 2, 2, 318, 319, 8, 44, 2, 2, 319, 88, 3, 2, 2, 2, 320, 321, 5, 185, 93, 2, 321, 322, 5, 181, 91, 2, 322, 323, 5, 187, 94, 2, 323, 324, 5, 155, 78, 2, 324, 90, 3, 2, 2, 2, 325, 326, 5, 157, 79, 2, 326, 327, 5, 147, 74, 2, 327, 328, 5, 169, 85, 2, 328, 329, 5, 183, 92, 2, 329, 330, 5, 155, 78, 2, 330, 92, 3, 2, 2, 2, 331, 332, 5, 151, 76, 2, 332, 333, 5, 181, 91, 2, 333, 334, 5, 155, 78, 2, 334, 335, 5, 147, 74, 2, 335, 336, 5, 185, 93, 2, 336, 337, 5, 155, 78, 2, 337, 94, 3, 2, 2, 2, 338, 339, 5, 147, 74, 2, 339, 340, 5, 169, 85, 2, 340, 341, 5, 185, 93, 2, 341, 342, 5, 155, 78, 2, 342, 343, 5, 181, 91, 2, 343, 96, 3, 2, 2, 2, 344, 345, 5, 153, 77, 2, 345, 346, 5, 181, 91, 2, 346, 347, 5, 175, 88, 2, 347, 348, 5, 177, 89, 2, 348, 98, 3, 2, 2, 2, 349, 350, 5, 183, 92, 2, 350, 351, 5, 161, 81, 2, 351, 352, 5, 175, 88, 2, 352, 353, 5, 191, 96, 2, 353, 100, 3, 2, 2, 2, 354, 355, 5, 181, 91, 2, 355, 356, 5, 187, 94, 2, 356, 357, 5, 169, 85, 2, 357, 358, 5, 155, 78, 2, 358, 102, 3, 2, 2, 2, 359, 360, 5, 157, 79, 2, 360, 361, 5, 181, 91, 2, 361, 362, 5, 175, 88, 2, 362, 363, 5, 171, 86, 2, 363, 104, 3, 2, 2, 2, 364, 365, 5, 181, 91, 2, 365, 366, 5, 155, 78, 2, 366, 367, 5, 147, 74, 2, 367, 368, 5, 153, 77, 2, 368, 369, 5, 191, 96, 2, 369, 370, 5, 181, 91, 2, 370, 371, 5, 163, 82, 2, 371, 372, 5, 185, 93, 2, 372, 373, 5, 155, 78, 2, 373, 374, 5, 85, 43, 2, 374, 375, 5, 183, 92, 2, 375, 376, 5, 177, 89, 2, 376, 377, 5, 169, 85, 2, 377, 378, 5, 163, 82, 2, 378, 379, 5, 185, 93, 2, 379, 380, 5, 185, 93, 2, 380, 381, 5, 163, 82, 2, 381, 382, 5, 173, 87, 2, 382, 383, 5, 159, 80, 2, 383, 106, 3, 2, 2, 2, 384, 385, 5, 191, 96, 2, 385, 386, 5, 181, 91, 2, 386, 387, 5, 163, 82, 2, 387, 388, 5, 185, 93, 2, 388, 389, 5, 155, 78, 2, 389, 390, 5, 85, 43, 2, 390, 391, 5, 183, 92, 2, 391, 392, 5, 185, 93, 2, 392, 393, 5, 175, 88, 2, 393, 394, 5, 181, 91, 2, 394, 395, 5, 147, 74, 2, 395, 396, 5, 159, 80, 2, 396, 397, 5, 155, 78, 2, 397, 398, 5, 85, 43, 2, 398, 399, 5, 187, 94, 2, 399, 400, 5, 173, 87, 2, 400, 401, 5, 163, 82, 2, 401, 402, 5, 185, 93, 2, 402, 108, 3, 2, 2, 2, 403, 404, 5, 181, 91, 2, 404, 405, 5, 155, 78, 2, 405, 406, 5, 147, 74, 2, 406, 407, 5, 153, 77, 2, 407, 408, 5, 85, 43, 2, 408, 409, 5, 183, 92, 2, 409, 410, 5, 185, 93, 2, 410, 411, 5, 175, 88, 2, 411, 412, 5, 181, 91, 2, 412, 413, 5, 147, 74, 2, 413, 414, 5, 159, 80, 2, 414, 415, 5, 155, 78, 2, 415, 416, 5, 85, 43, 2, 416, 417, 5, 187, 94, 2, 417, 418, 5, 173, 87, 2, 418, 419, 5, 163, 82, 2, 419, 420, 5, 185, 93, 2, 420, 421, 5, 183, 92, 2, 421, 110, 3, 2, 2, 2, 422, 423, 5, 185, 93, 2, 423, 424, 5, 181, 91, 2, 424, 425, 5, 147, 74, 2, 425, 426, 5, 173, 87, 2, 426, 427, 5, 183, 92, 2, 427, 428, 5, 147, 74, 2, 428, 429, 5, 151, 76, 2, 429, 430, 5, 185, 93, 2, 430, 431, 5, 163, 82, 2, 431, 432, 5, 175, 88, 2, 432, 433, 5, 173, 87, 2, 433, 434, 5, 147, 74, 2, 434, 435, 5, 169, 85, 2, 435, 436, 5, 85, 43, 2, 436, 437, 5, 181, 91, 2, 437, 438, 5, 155, 78, 2, 438, 439, 5, 147, 74, 2, 439, 440, 5, 153, 77, 2, 440, 441, 5, 85, 43, 2, 441, 442, 5, 179, 90, 2, 442, 443, 5, 187, 94, 2, 443, 444, 5, 155, 78, 2, 444, 445, 5, 181, 91, 2, 445, 446, 5, 195, 98, 2, 446, 447, 5, 85, 43, 2, 447, 448, 5, 183, 92, 2, 448, 449, 5, 185, 93, 2, 449, 450, 5, 181, 91, 2, 450, 451, 5, 147, 74, 2, 451, 452, 5, 185, 93, 2, 452, 453, 5, 155, 78, 2, 453, 454, 5, 159, 80, 2, 454, 455, 5, 195, 98, 2, 455, 112, 3, 2, 2, 2, 456, 457, 5, 185, 93, 2, 457, 458, 5, 195, 98, 2, 458, 459, 5, 177, 89, 2, 459, 460, 5, 155, 78, 2, 460, 114, 3, 2, 2, 2, 461, 462, 5, 173, 87, 2, 462, 463, 5, 147, 74, 2, 463, 464, 5, 171, 86, 2, 464, 465, 5, 155, 78, 2, 465, 116, 3, 2, 2, 2, 466, 467, 5, 177, 89, 2, 467, 468, 5, 181, 91, 2, 468, 469, 5, 175, 88, 2, 469, 470, 5, 177, 89, 2, 470, 471, 5, 155, 78, 2, 471, 472, 5, 181, 91, 2, 472, 473, 5, 185, 93, 2, 473, 474, 5, 163, 82, 2, 474, 475, 5, 155, 78, 2, 475, 476, 5, 183, 92, 2, 476, 118, 3, 2, 2, 2, 477, 478, 5, 181, 91, 2, 478, 479, 5, 187, 94, 2, 479, 480, 5, 169, 85, 2, 480, 481, 5, 155, 78, 2, 481, 482, 5, 183, 92, 2, 482, 120, 3, 2, 2, 2, 483, 484, 5, 181, 91, 2, 484, 485, 5, 155, 78, 2, 485, 486, 5, 183, 92, 2, 486, 487, 5, 175, 88, 2, 487, 488, 5, 187, 94, 2, 488, 489, 5, 181, 91, 2, 489, 490, 5, 151, 76, 2, 490, 491, 5, 155, 78, 2, 491, 492, 5, 183, 92, 2, 492, 122, 3, 2, 2, 2, 493, 494, 5, 183, 92, 2, 494, 495, 5, 185, 93, 2, 495, 496, 5, 147, 74, 2, 496, 497, 5, 185, 93, 2, 497, 498, 5, 187, 94, 2, 498, 499, 5, 183, 92, 2, 499, 124, 3, 2, 2, 2, 500, 501, 5, 155, 78, 2, 501, 502, 5, 173, 87, 2, 502, 503, 5, 147, 74, 2, 503, 504, 5, 149, 75, 2, 504, 505, 5, 169, 85, 2, 505, 506, 5, 155, 78, 2, 506, 126, 3, 2, 2, 2, 507, 508, 5, 153, 77, 2, 508, 509, 5, 163, 82, 2, 509, 510, 5, 183, 92, 2, 510, 511, 5, 147, 74, 2, 511, 512, 5, 149, 75, 2, 512, 513, 5, 169, 85, 2, 513, 514, 5, 155, 78, 2, 514, 128, 3, 2, 2, 2, 515, 516, 5, 181, 91, 2, 516, 517, 5, 155, 78, 2, 517, 518, 5, 147, 74, 2, 518, 519, 5, 153, 77, 2, 519, 130, 3, 2, 2, 2, 520, 521, 5, 163, 82, 2, 521, 522, 5, 157, 79, 2, 522, 132, 3, 2, 2, 2, 523, 524, 5, 155, 78, 2, 524, 525, 5, 193, 97, 2, 525, 526, 5, 163, 82, 2, 526, 527, 5, 183, 92, 2, 527, 528, 5, 185, 93, 2, 528, 529, 5, 183, 92, 2, 529, 134, 3, 2, 2, 2, 530, 531, 5, 151, 76, 2, 531, 532, 5, 175, 88, 2, 532, 533, 5, 187, 94, 2, 533, 534, 5, 173, 87, 2, 534, 535, 5, 185, 93, 2, 535, 136, 3, 2, 2, 2, 536, 537, 5, 181, 91, 2, 537, 538, 5, 175, 88, 2, 538, 539, 5, 187, 94, 2, 539, 540, 5, 173, 87, 2, 540, 541, 5, 153, 77, 2, 541, 542, 5, 85, 43, 2, 542, 543, 5, 181, 91, 2, 543, 544, 5, 175, 88, 2, 544, 545, 5, 149, 75, 2, 545, 546, 5, 163, 82, 2, 546, 547, 5, 173, 87, 2, 547, 138, 3, 2, 2, 2, 548, 549, 5, 181, 91, 2, 549, 550, 5, 147, 74, 2, 550, 551, 5, 173, 87, 2, 551, 552, 5, 153, 77, 2, 552, 553, 5, 175, 88, 2, 553, 554, 5, 171, 86, 2, 554, 140, 3, 2, 2, 2, 555, 556, 5, 191, 96, 2, 556, 557, 5, 155, 78, 2, 557, 558, 5, 163, 82, 2, 558, 559, 5, 159, 80, 2, 559, 560, 5, 161, 81, 2, 560, 561, 5, 185, 93, 2, 561, 142, 3, 2, 2, 2, 562, 563, 5, 173, 87, 2, 563, 564, 5, 175, 88, 2, 564, 565, 5, 185, 93, 2, 565, 144, 3, 2, 2, 2, 566, 567, 7, 70, 2, 2, 567, 568, 7, 81, 2, 2, 568, 569, 7, 34, 2, 2, 569, 570, 7, 80, 2, 2, 570, 571, 7, 81, 2, 2, 571, 572, 7, 86, 2, 2, 572, 573, 7, 34, 2, 2, 573, 574, 7, 79, 2, 2, 574, 575, 7, 67, 2, 2, 575, 576, 7, 86, 2, 2, 576, 577, 7, 69, 2, 2, 577, 578, 7, 74, 2, 2, 578, 579, 7, 34, 2, 2, 579, 580, 7, 67, 2, 2, 580, 581, 7, 80, 2, 2, 581, 582, 7, 91, 2, 2, 582, 583, 7, 34, 2, 2, 583, 584, 7, 86, 2, 2, 584, 585, 7, 74, 2, 2, 585, 586, 7, 75, 2, 2, 586, 587, 7, 80, 2, 2, 587, 588, 7, 73, 2, 2, 588, 589, 7, 46, 2, 2, 589, 590, 7, 34, 2, 2, 590, 591, 7, 76, 2, 2, 591, 592, 7, 87, 2, 2, 592, 593, 7, 85, 2, 2, 593, 594, 7, 86, 2, 2, 594, 595, 7, 34, 2, 2, 595, 596, 7, 72, 2, 2, 596, 597, 7, 81, 2, 2, 597, 598, 7, 84, 2, 2, 598, 599, 7, 34, 2, 2, 599, 600, 7, 73, 2, 2, 600, 601, 7, 71, 2, 2, 601, 602, 7, 80, 2, 2, 602, 603, 7, 71, 2, 2, 603, 604, 7, 84, 2, 2, 604, 605, 7, 67, 2, 2, 605, 606, 7, 86, 2, 2, 606, 607, 7, 81, 2, 2, 607, 608, 7, 84, 2, 2, 608, 146, 3, 2, 2, 2, 609, 610, 9, 3, 2, 2, 610, 148, 3, 2, 2, 2, 611, 612, 9, 4, 2, 2, 612, 150, 3, 2, 2, 2, 613, 614, 9, 5, 2, 2, 614, 152, 3, 2, 2, 2, 615, 616, 9, 6, 2, 2, 616, 154, 3, 2, 2, 2, 617, 618, 9, 7, 2, 2, 618, 156, 3, 2, 2, 2, 619, 620, 9, 8, 2, 2, 620, 158, 3, 2, 2, 2, 621, 622, 9, 9, 2, 2, 622, 160, 3, 2, 2, 2, 623, 624, 9, 10, 2, 2, 624, 162, 3, 2, 2, 2, 625, 626, 9, 11, 2, 2, 626, 164, 3, 2, 2, 2, 627, 628, 9, 12, 2, 2, 628, 166, 3, 2, 2, 2, 629, 630, 9, 13, 2, 2, 630, 168, 3, 2, 2, 2, 631, 632, 9, 14, 2, 2, 632, 170, 3, 2, 2, 2, 633, 634, 9, 15, 2, 2, 634, 172, 3, 2, 2, 2, 635, 636, 9, 16, 2, 2, 636, 174, 3, 2, 2, 2, 637, 638, 9, 17, 2, 2, 638, 176, 3, 2, 2, 2, 639, 640, 9, 18, 2, 2, 640, 178, 3, 2, 2, 2, 641, 642, 9, 19, 2, 2, 642, 180, 3, 2, 2, 2, 643, 644, 9, 20, 2, 2, 644, 182, 3, 2, 2, 2, 645, 646, 9, 21, 2, 2, 646, 184, 3, 2, 2, 2, 647, 648, 9, 22, 2, 2, 648, 186, 3, 2, 2, 2, 649, 650, 9, 23, 2, 2, 650, 188, 3, 2, 2, 2, 651, 652, 9, 24, 2, 2, 652, 190, 3, 2, 2, 2, 653, 654, 9, 25, 2, 2, 654, 192, 3, 2, 2, 2, 655, 656, 9, 26, 2, 2, 656, 194, 3, 2, 2, 2, 657, 658, 9, 27, 2, 2, 658, 196, 3, 2, 2, 2, 659, 660, 9, 28, 2, 2, 660, 198, 3, 2, 2, 2, 661, 663, 9, 29, 2, 2, 662, 661, 3, 2, 2, 2, 663, 666, 3, 2, 2, 2, 664, 665, 3, 2, 2, 2, 664, 662, 3, 2, 2, 2, 665, 668, 3, 2, 2, 2, 666, 664, 3, 2, 2, 2, 667, 669, 9, 30, 2, 2, 668, 667, 3, 2, 2, 2, 669, 670, 3, 2, 2, 2, 670, 671, 3, 2, 2, 2, 670, 668, 3, 2, 2, 2, 671, 675, 3, 2, 2, 2, 672, 674, 9, 29, 2, 2, 673, 672, 3, 2, 2, 2, 674, 677, 3, 2, 2, 2, 675, 673, 3, 2, 2, 2, 675, 676, 3, 2, 2, 2, 676, 687, 3, 2, 2, 2, 677, 675, 3, 2, 2, 2, 678, 680, 5, 75, 38, 2, 679, 681, 10, 31, 2, 2, 680, 679, 3, 2, 2, 2, 681, 682, 3, 2, 2, 2, 682, 680, 3, 2, 2, 2, 682, 683, 3, 2, 2, 2, 683, 684, 3, 2, 2, 2, 684, 685, 5, 75, 38, 2, 685, 687, 3, 2, 2, 2, 686, 664, 3, 2, 2, 2, 686, 678, 3, 2, 2, 2, 687, 200, 3, 2, 2, 2, 688, 696, 5, 71, 36, 2, 689, 690, 7, 94, 2, 2, 690, 695, 11, 2, 2, 2, 691, 692, 7, 36, 2, 2, 692, 695, 7, 36, 2, 2, 693, 695, 10, 32, 2, 2, 694, 689, 3, 2, 2, 2, 694, 691, 3, 2, 2, 2, 694, 693, 3, 2, 2, 2, 695, 698, 3, 2, 2, 2, 696, 694, 3, 2, 2, 2, 696, 697, 3, 2, 2, 2, 697, 699, 3, 2, 2, 2, 698, 696, 3, 2, 2, 2, 699, 700, 5, 71, 36, 2, 700, 715, 3, 2, 2, 2, 701, 709, 5, 73, 37, 2, 702, 703, 7, 94, 2, 2, 703, 708, 11, 2, 2, 2, 704, 705, 7, 41, 2, 2, 705, 708, 7, 41, 2, 2, 706, 708, 10, 33, 2, 2, 707, 702, 3, 2, 2, 2, 707, 704, 3, 2, 2, 2, 707, 706, 3, 2, 2, 2, 708, 711, 3, 2, 2, 2, 709, 707, 3, 2, 2, 2, 709, 710, 3, 2, 2, 2, 710, 712, 3, 2, 2, 2, 711, 709, 3, 2, 2, 2, 712, 713, 5, 73, 37, 2, 713, 715, 3, 2, 2, 2, 714, 688, 3, 2, 2, 2, 714, 701, 3, 2, 2, 2, 715, 202, 3, 2, 2, 2, 716, 718, 9, 34, 2, 2, 717, 716, 3, 2, 2, 2, 718, 719, 3, 2, 2, 2, 719, 717, 3, 2, 2, 2, 719, 720, 3, 2, 2, 2, 720, 204, 3, 2, 2, 2, 721, 722, 9, 35, 2, 2, 722, 206, 3, 2, 2, 2, 723, 725, 5, 203, 102, 2, 724, 723, 3, 2, 2, 2, 724, 725, 3, 2, 2, 2, 725, 727, 3, 2, 2, 2, 726, 728, 5, 35, 18, 2, 727, 726, 3, 2, 2, 2, 727, 728, 3, 2, 2, 2, 728, 729, 3, 2, 2, 2, 729, 737, 5, 203, 102, 2, 730, 733, 5, 155, 78, 2, 731, 734, 5, 25, 13, 2, 732, 734, 5, 27, 14, 2, 733, 731, 3, 2, 2, 2, 733, 732, 3, 2, 2, 2, 733, 734, 3, 2, 2, 2, 734, 735, 3, 2, 2, 2, 735, 736, 5, 203, 102, 2, 736, 738, 3, 2, 2, 2, 737, 730, 3, 2, 2, 2, 737, 738, 3, 2, 2, 2, 738, 208, 3, 2, 2, 2, 739, 740, 7, 50, 2, 2, 740, 741, 7, 122, 2, 2, 741, 743, 3, 2, 2, 2, 742, 744, 5, 205, 103, 2, 743, 742, 3, 2, 2, 2, 744, 745, 3, 2, 2, 2, 745, 743, 3, 2, 2, 2, 745, 746, 3, 2, 2, 2, 746, 757, 3, 2, 2, 2, 747, 748, 7, 90, 2, 2, 748, 750, 5, 73, 37, 2, 749, 751, 5, 205, 103, 2, 750, 749, 3, 2, 2, 2, 751, 752, 3, 2, 2, 2, 752, 750, 3, 2, 2, 2, 752, 753, 3, 2, 2, 2, 753, 754, 3, 2, 2, 2, 754, 755, 5, 73, 37, 2, 755, 757, 3, 2, 2, 2, 756, 739, 3, 2, 2, 2, 756, 747, 3, 2, 2, 2, 757, 210, 3, 2, 2, 2, 758, 759, 7, 50, 2, 2, 759, 760, 7, 100, 2, 2, 760, 762, 3, 2, 2, 2, 761, 763, 4, 50, 51, 2, 762, 761, 3, 2, 2, 2, 763, 764, 3, 2, 2, 2, 764, 762, 3, 2, 2, 2, 764, 765, 3, 2, 2, 2, 765, 776, 3, 2, 2, 2, 766, 767, 5, 149, 75, 2, 767, 769, 5, 73, 37, 2, 768, 770, 4, 50, 51, 2, 769, 768, 3, 2, 2, 2, 770, 771, 3, 2, 2, 2, 771, 769, 3, 2, 2, 2, 771, 772, 3, 2, 2, 2, 772, 773, 3, 2, 2, 2, 773, 774, 5, 73, 37, 2, 774, 776, 3, 2, 2, 2, 775, 758, 3, 2, 2, 2, 775, 766, 3, 2, 2, 2, 776, 212, 3, 2, 2, 2, 26, 2, 267, 316, 664, 670, 675, 682, 686, 694, 696, 707, 709, 714, 719, 724, 727, 733, 737, 745, 752, 756, 764, 771, 775, 3, 8, 2, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementLexer.java b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementLexer.java deleted file mode 100644 index 74641334..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementLexer.java +++ /dev/null @@ -1,424 +0,0 @@ -// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/RALStatement.g4 by ANTLR 4.9.2 -import org.antlr.v4.runtime.Lexer; -import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.TokenStream; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.misc.*; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class RALStatementLexer extends Lexer { - static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, - SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, - ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, - DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, - LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, - SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, - WS=43, TRUE=44, FALSE=45, CREATE=46, ALTER=47, DROP=48, SHOW=49, RULE=50, - FROM=51, READWRITE_SPLITTING=52, WRITE_STORAGE_UNIT=53, READ_STORAGE_UNITS=54, - TRANSACTIONAL_READ_QUERY_STRATEGY=55, TYPE=56, NAME=57, PROPERTIES=58, - RULES=59, RESOURCES=60, STATUS=61, ENABLE=62, DISABLE=63, READ=64, IF=65, - EXISTS=66, COUNT=67, ROUND_ROBIN=68, RANDOM=69, WEIGHT=70, NOT=71, FOR_GENERATOR=72, - IDENTIFIER_=73, STRING_=74, INT_=75, HEX_=76, NUMBER_=77, HEXDIGIT_=78, - BITNUM_=79; - public static String[] channelNames = { - "DEFAULT_TOKEN_CHANNEL", "HIDDEN" - }; - - public static String[] modeNames = { - "DEFAULT_MODE" - }; - - private static String[] makeRuleNames() { - return new String[] { - "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", - "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", - "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", - "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", - "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", - "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", "FALSE", "CREATE", "ALTER", - "DROP", "SHOW", "RULE", "FROM", "READWRITE_SPLITTING", "WRITE_STORAGE_UNIT", - "READ_STORAGE_UNITS", "TRANSACTIONAL_READ_QUERY_STRATEGY", "TYPE", "NAME", - "PROPERTIES", "RULES", "RESOURCES", "STATUS", "ENABLE", "DISABLE", "READ", - "IF", "EXISTS", "COUNT", "ROUND_ROBIN", "RANDOM", "WEIGHT", "NOT", "FOR_GENERATOR", - "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", - "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "IDENTIFIER_", - "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", - "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", - "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", - "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", - "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", - "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", - "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", - "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", - "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", - "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", - "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", "FROM", "READWRITE_SPLITTING", - "WRITE_STORAGE_UNIT", "READ_STORAGE_UNITS", "TRANSACTIONAL_READ_QUERY_STRATEGY", - "TYPE", "NAME", "PROPERTIES", "RULES", "RESOURCES", "STATUS", "ENABLE", - "DISABLE", "READ", "IF", "EXISTS", "COUNT", "ROUND_ROBIN", "RANDOM", - "WEIGHT", "NOT", "FOR_GENERATOR", "IDENTIFIER_", "STRING_", "INT_", "HEX_", - "NUMBER_", "HEXDIGIT_", "BITNUM_" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - - public RALStatementLexer(CharStream input) { - super(input); - _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - @Override - public String getGrammarFileName() { return "RALStatement.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public String[] getChannelNames() { return channelNames; } - - @Override - public String[] getModeNames() { return modeNames; } - - @Override - public ATN getATN() { return _ATN; } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2Q\u0309\b\1\4\2\t"+ - "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ - "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ - "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ - "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ - "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ - ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ - "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ - "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+ - "\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+ - "\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+ - "`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\3\2\3"+ - "\2\3\2\3\3\3\3\3\3\3\4\3\4\3\5\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\t\3\t"+ - "\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3\17\3\17\3\20\3\20\3"+ - "\21\3\21\3\22\3\22\3\23\3\23\3\23\3\24\3\24\3\24\3\24\3\25\3\25\3\25\3"+ - "\26\3\26\3\27\3\27\3\27\3\27\5\27\u010c\n\27\3\30\3\30\3\31\3\31\3\31"+ - "\3\32\3\32\3\33\3\33\3\33\3\34\3\34\3\35\3\35\3\36\3\36\3\37\3\37\3 \3"+ - " \3!\3!\3\"\3\"\3#\3#\3$\3$\3%\3%\3&\3&\3\'\3\'\3(\3(\3)\3)\3*\3*\3*\3"+ - "*\3+\3+\3,\6,\u013b\n,\r,\16,\u013c\3,\3,\3-\3-\3-\3-\3-\3.\3.\3.\3.\3"+ - ".\3.\3/\3/\3/\3/\3/\3/\3/\3\60\3\60\3\60\3\60\3\60\3\60\3\61\3\61\3\61"+ - "\3\61\3\61\3\62\3\62\3\62\3\62\3\62\3\63\3\63\3\63\3\63\3\63\3\64\3\64"+ - "\3\64\3\64\3\64\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65"+ - "\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\66\3\66\3\66\3\66\3\66"+ - "\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66"+ - "\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67"+ - "\3\67\3\67\3\67\3\67\3\67\38\38\38\38\38\38\38\38\38\38\38\38\38\38\3"+ - "8\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\39\39\39\3"+ - "9\39\3:\3:\3:\3:\3:\3;\3;\3;\3;\3;\3;\3;\3;\3;\3;\3;\3<\3<\3<\3<\3<\3"+ - "<\3=\3=\3=\3=\3=\3=\3=\3=\3=\3=\3>\3>\3>\3>\3>\3>\3>\3?\3?\3?\3?\3?\3"+ - "?\3?\3@\3@\3@\3@\3@\3@\3@\3@\3A\3A\3A\3A\3A\3B\3B\3B\3C\3C\3C\3C\3C\3"+ - "C\3C\3D\3D\3D\3D\3D\3D\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3F\3F\3F\3"+ - "F\3F\3F\3F\3G\3G\3G\3G\3G\3G\3G\3H\3H\3H\3H\3I\3I\3I\3I\3I\3I\3I\3I\3"+ - "I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3"+ - "I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3J\3J\3K\3K\3L\3L\3M\3M\3N\3N\3O\3"+ - "O\3P\3P\3Q\3Q\3R\3R\3S\3S\3T\3T\3U\3U\3V\3V\3W\3W\3X\3X\3Y\3Y\3Z\3Z\3"+ - "[\3[\3\\\3\\\3]\3]\3^\3^\3_\3_\3`\3`\3a\3a\3b\3b\3c\3c\3d\7d\u0297\nd"+ - "\fd\16d\u029a\13d\3d\6d\u029d\nd\rd\16d\u029e\3d\7d\u02a2\nd\fd\16d\u02a5"+ - "\13d\3d\3d\6d\u02a9\nd\rd\16d\u02aa\3d\3d\5d\u02af\nd\3e\3e\3e\3e\3e\3"+ - "e\7e\u02b7\ne\fe\16e\u02ba\13e\3e\3e\3e\3e\3e\3e\3e\3e\7e\u02c4\ne\fe"+ - "\16e\u02c7\13e\3e\3e\5e\u02cb\ne\3f\6f\u02ce\nf\rf\16f\u02cf\3g\3g\3h"+ - "\5h\u02d5\nh\3h\5h\u02d8\nh\3h\3h\3h\3h\5h\u02de\nh\3h\3h\5h\u02e2\nh"+ - "\3i\3i\3i\3i\6i\u02e8\ni\ri\16i\u02e9\3i\3i\3i\6i\u02ef\ni\ri\16i\u02f0"+ - "\3i\3i\5i\u02f5\ni\3j\3j\3j\3j\6j\u02fb\nj\rj\16j\u02fc\3j\3j\3j\6j\u0302"+ - "\nj\rj\16j\u0303\3j\3j\5j\u0308\nj\4\u0298\u029e\2k\3\3\5\4\7\5\t\6\13"+ - "\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\35\20\37\21!\22#\23%\24\'"+ - "\25)\26+\27-\30/\31\61\32\63\33\65\34\67\359\36;\37= ?!A\"C#E$G%I&K\'"+ - "M(O)Q*S+U,W-Y.[/]\60_\61a\62c\63e\64g\65i\66k\67m8o9q:s;u{?}@\177"+ - "A\u0081B\u0083C\u0085D\u0087E\u0089F\u008bG\u008dH\u008fI\u0091J\u0093"+ - "\2\u0095\2\u0097\2\u0099\2\u009b\2\u009d\2\u009f\2\u00a1\2\u00a3\2\u00a5"+ - "\2\u00a7\2\u00a9\2\u00ab\2\u00ad\2\u00af\2\u00b1\2\u00b3\2\u00b5\2\u00b7"+ - "\2\u00b9\2\u00bb\2\u00bd\2\u00bf\2\u00c1\2\u00c3\2\u00c5\2\u00c7K\u00c9"+ - "L\u00cbM\u00cdN\u00cfO\u00d1P\u00d3Q\3\2$\5\2\13\f\17\17\"\"\4\2CCcc\4"+ - "\2DDdd\4\2EEee\4\2FFff\4\2GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4\2LLl"+ - "l\4\2MMmm\4\2NNnn\4\2OOoo\4\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4\2TTtt\4\2"+ - "UUuu\4\2VVvv\4\2WWww\4\2XXxx\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\||\7\2&&\62"+ - ";C\\aac|\6\2&&C\\aac|\3\2bb\4\2$$^^\4\2))^^\3\2\62;\5\2\62;CHch\2\u0308"+ - "\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2"+ - "\2\2\2\17\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\31\3\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2"+ - "\2\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\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\29\3\2\2\2\2;\3"+ - "\2\2\2\2=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2"+ - "\2\2I\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2"+ - "U\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3\2\2\2\2a\3"+ - "\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3\2\2\2\2i\3\2\2\2\2k\3\2\2\2\2m\3\2\2"+ - "\2\2o\3\2\2\2\2q\3\2\2\2\2s\3\2\2\2\2u\3\2\2\2\2w\3\2\2\2\2y\3\2\2\2\2"+ - "{\3\2\2\2\2}\3\2\2\2\2\177\3\2\2\2\2\u0081\3\2\2\2\2\u0083\3\2\2\2\2\u0085"+ - "\3\2\2\2\2\u0087\3\2\2\2\2\u0089\3\2\2\2\2\u008b\3\2\2\2\2\u008d\3\2\2"+ - "\2\2\u008f\3\2\2\2\2\u0091\3\2\2\2\2\u00c7\3\2\2\2\2\u00c9\3\2\2\2\2\u00cb"+ - "\3\2\2\2\2\u00cd\3\2\2\2\2\u00cf\3\2\2\2\2\u00d1\3\2\2\2\2\u00d3\3\2\2"+ - "\2\3\u00d5\3\2\2\2\5\u00d8\3\2\2\2\7\u00db\3\2\2\2\t\u00dd\3\2\2\2\13"+ - "\u00df\3\2\2\2\r\u00e1\3\2\2\2\17\u00e3\3\2\2\2\21\u00e6\3\2\2\2\23\u00e9"+ - "\3\2\2\2\25\u00eb\3\2\2\2\27\u00ed\3\2\2\2\31\u00ef\3\2\2\2\33\u00f1\3"+ - "\2\2\2\35\u00f3\3\2\2\2\37\u00f5\3\2\2\2!\u00f7\3\2\2\2#\u00f9\3\2\2\2"+ - "%\u00fb\3\2\2\2\'\u00fe\3\2\2\2)\u0102\3\2\2\2+\u0105\3\2\2\2-\u010b\3"+ - "\2\2\2/\u010d\3\2\2\2\61\u010f\3\2\2\2\63\u0112\3\2\2\2\65\u0114\3\2\2"+ - "\2\67\u0117\3\2\2\29\u0119\3\2\2\2;\u011b\3\2\2\2=\u011d\3\2\2\2?\u011f"+ - "\3\2\2\2A\u0121\3\2\2\2C\u0123\3\2\2\2E\u0125\3\2\2\2G\u0127\3\2\2\2I"+ - "\u0129\3\2\2\2K\u012b\3\2\2\2M\u012d\3\2\2\2O\u012f\3\2\2\2Q\u0131\3\2"+ - "\2\2S\u0133\3\2\2\2U\u0137\3\2\2\2W\u013a\3\2\2\2Y\u0140\3\2\2\2[\u0145"+ - "\3\2\2\2]\u014b\3\2\2\2_\u0152\3\2\2\2a\u0158\3\2\2\2c\u015d\3\2\2\2e"+ - "\u0162\3\2\2\2g\u0167\3\2\2\2i\u016c\3\2\2\2k\u0180\3\2\2\2m\u0193\3\2"+ - "\2\2o\u01a6\3\2\2\2q\u01c8\3\2\2\2s\u01cd\3\2\2\2u\u01d2\3\2\2\2w\u01dd"+ - "\3\2\2\2y\u01e3\3\2\2\2{\u01ed\3\2\2\2}\u01f4\3\2\2\2\177\u01fb\3\2\2"+ - "\2\u0081\u0203\3\2\2\2\u0083\u0208\3\2\2\2\u0085\u020b\3\2\2\2\u0087\u0212"+ - "\3\2\2\2\u0089\u0218\3\2\2\2\u008b\u0224\3\2\2\2\u008d\u022b\3\2\2\2\u008f"+ - "\u0232\3\2\2\2\u0091\u0236\3\2\2\2\u0093\u0261\3\2\2\2\u0095\u0263\3\2"+ - "\2\2\u0097\u0265\3\2\2\2\u0099\u0267\3\2\2\2\u009b\u0269\3\2\2\2\u009d"+ - "\u026b\3\2\2\2\u009f\u026d\3\2\2\2\u00a1\u026f\3\2\2\2\u00a3\u0271\3\2"+ - "\2\2\u00a5\u0273\3\2\2\2\u00a7\u0275\3\2\2\2\u00a9\u0277\3\2\2\2\u00ab"+ - "\u0279\3\2\2\2\u00ad\u027b\3\2\2\2\u00af\u027d\3\2\2\2\u00b1\u027f\3\2"+ - "\2\2\u00b3\u0281\3\2\2\2\u00b5\u0283\3\2\2\2\u00b7\u0285\3\2\2\2\u00b9"+ - "\u0287\3\2\2\2\u00bb\u0289\3\2\2\2\u00bd\u028b\3\2\2\2\u00bf\u028d\3\2"+ - "\2\2\u00c1\u028f\3\2\2\2\u00c3\u0291\3\2\2\2\u00c5\u0293\3\2\2\2\u00c7"+ - "\u02ae\3\2\2\2\u00c9\u02ca\3\2\2\2\u00cb\u02cd\3\2\2\2\u00cd\u02d1\3\2"+ - "\2\2\u00cf\u02d4\3\2\2\2\u00d1\u02f4\3\2\2\2\u00d3\u0307\3\2\2\2\u00d5"+ - "\u00d6\7(\2\2\u00d6\u00d7\7(\2\2\u00d7\4\3\2\2\2\u00d8\u00d9\7~\2\2\u00d9"+ - "\u00da\7~\2\2\u00da\6\3\2\2\2\u00db\u00dc\7#\2\2\u00dc\b\3\2\2\2\u00dd"+ - "\u00de\7\u0080\2\2\u00de\n\3\2\2\2\u00df\u00e0\7~\2\2\u00e0\f\3\2\2\2"+ - "\u00e1\u00e2\7(\2\2\u00e2\16\3\2\2\2\u00e3\u00e4\7>\2\2\u00e4\u00e5\7"+ - ">\2\2\u00e5\20\3\2\2\2\u00e6\u00e7\7@\2\2\u00e7\u00e8\7@\2\2\u00e8\22"+ - "\3\2\2\2\u00e9\u00ea\7`\2\2\u00ea\24\3\2\2\2\u00eb\u00ec\7\'\2\2\u00ec"+ - "\26\3\2\2\2\u00ed\u00ee\7<\2\2\u00ee\30\3\2\2\2\u00ef\u00f0\7-\2\2\u00f0"+ - "\32\3\2\2\2\u00f1\u00f2\7/\2\2\u00f2\34\3\2\2\2\u00f3\u00f4\7,\2\2\u00f4"+ - "\36\3\2\2\2\u00f5\u00f6\7\61\2\2\u00f6 \3\2\2\2\u00f7\u00f8\7^\2\2\u00f8"+ - "\"\3\2\2\2\u00f9\u00fa\7\60\2\2\u00fa$\3\2\2\2\u00fb\u00fc\7\60\2\2\u00fc"+ - "\u00fd\7,\2\2\u00fd&\3\2\2\2\u00fe\u00ff\7>\2\2\u00ff\u0100\7?\2\2\u0100"+ - "\u0101\7@\2\2\u0101(\3\2\2\2\u0102\u0103\7?\2\2\u0103\u0104\7?\2\2\u0104"+ - "*\3\2\2\2\u0105\u0106\7?\2\2\u0106,\3\2\2\2\u0107\u0108\7>\2\2\u0108\u010c"+ - "\7@\2\2\u0109\u010a\7#\2\2\u010a\u010c\7?\2\2\u010b\u0107\3\2\2\2\u010b"+ - "\u0109\3\2\2\2\u010c.\3\2\2\2\u010d\u010e\7@\2\2\u010e\60\3\2\2\2\u010f"+ - "\u0110\7@\2\2\u0110\u0111\7?\2\2\u0111\62\3\2\2\2\u0112\u0113\7>\2\2\u0113"+ - "\64\3\2\2\2\u0114\u0115\7>\2\2\u0115\u0116\7?\2\2\u0116\66\3\2\2\2\u0117"+ - "\u0118\7%\2\2\u01188\3\2\2\2\u0119\u011a\7*\2\2\u011a:\3\2\2\2\u011b\u011c"+ - "\7+\2\2\u011c<\3\2\2\2\u011d\u011e\7}\2\2\u011e>\3\2\2\2\u011f\u0120\7"+ - "\177\2\2\u0120@\3\2\2\2\u0121\u0122\7]\2\2\u0122B\3\2\2\2\u0123\u0124"+ - "\7_\2\2\u0124D\3\2\2\2\u0125\u0126\7.\2\2\u0126F\3\2\2\2\u0127\u0128\7"+ - "$\2\2\u0128H\3\2\2\2\u0129\u012a\7)\2\2\u012aJ\3\2\2\2\u012b\u012c\7b"+ - "\2\2\u012cL\3\2\2\2\u012d\u012e\7A\2\2\u012eN\3\2\2\2\u012f\u0130\7B\2"+ - "\2\u0130P\3\2\2\2\u0131\u0132\7=\2\2\u0132R\3\2\2\2\u0133\u0134\7/\2\2"+ - "\u0134\u0135\7@\2\2\u0135\u0136\7@\2\2\u0136T\3\2\2\2\u0137\u0138\7a\2"+ - "\2\u0138V\3\2\2\2\u0139\u013b\t\2\2\2\u013a\u0139\3\2\2\2\u013b\u013c"+ - "\3\2\2\2\u013c\u013a\3\2\2\2\u013c\u013d\3\2\2\2\u013d\u013e\3\2\2\2\u013e"+ - "\u013f\b,\2\2\u013fX\3\2\2\2\u0140\u0141\5\u00b9]\2\u0141\u0142\5\u00b5"+ - "[\2\u0142\u0143\5\u00bb^\2\u0143\u0144\5\u009bN\2\u0144Z\3\2\2\2\u0145"+ - "\u0146\5\u009dO\2\u0146\u0147\5\u0093J\2\u0147\u0148\5\u00a9U\2\u0148"+ - "\u0149\5\u00b7\\\2\u0149\u014a\5\u009bN\2\u014a\\\3\2\2\2\u014b\u014c"+ - "\5\u0097L\2\u014c\u014d\5\u00b5[\2\u014d\u014e\5\u009bN\2\u014e\u014f"+ - "\5\u0093J\2\u014f\u0150\5\u00b9]\2\u0150\u0151\5\u009bN\2\u0151^\3\2\2"+ - "\2\u0152\u0153\5\u0093J\2\u0153\u0154\5\u00a9U\2\u0154\u0155\5\u00b9]"+ - "\2\u0155\u0156\5\u009bN\2\u0156\u0157\5\u00b5[\2\u0157`\3\2\2\2\u0158"+ - "\u0159\5\u0099M\2\u0159\u015a\5\u00b5[\2\u015a\u015b\5\u00afX\2\u015b"+ - "\u015c\5\u00b1Y\2\u015cb\3\2\2\2\u015d\u015e\5\u00b7\\\2\u015e\u015f\5"+ - "\u00a1Q\2\u015f\u0160\5\u00afX\2\u0160\u0161\5\u00bf`\2\u0161d\3\2\2\2"+ - "\u0162\u0163\5\u00b5[\2\u0163\u0164\5\u00bb^\2\u0164\u0165\5\u00a9U\2"+ - "\u0165\u0166\5\u009bN\2\u0166f\3\2\2\2\u0167\u0168\5\u009dO\2\u0168\u0169"+ - "\5\u00b5[\2\u0169\u016a\5\u00afX\2\u016a\u016b\5\u00abV\2\u016bh\3\2\2"+ - "\2\u016c\u016d\5\u00b5[\2\u016d\u016e\5\u009bN\2\u016e\u016f\5\u0093J"+ - "\2\u016f\u0170\5\u0099M\2\u0170\u0171\5\u00bf`\2\u0171\u0172\5\u00b5["+ - "\2\u0172\u0173\5\u00a3R\2\u0173\u0174\5\u00b9]\2\u0174\u0175\5\u009bN"+ - "\2\u0175\u0176\5U+\2\u0176\u0177\5\u00b7\\\2\u0177\u0178\5\u00b1Y\2\u0178"+ - "\u0179\5\u00a9U\2\u0179\u017a\5\u00a3R\2\u017a\u017b\5\u00b9]\2\u017b"+ - "\u017c\5\u00b9]\2\u017c\u017d\5\u00a3R\2\u017d\u017e\5\u00adW\2\u017e"+ - "\u017f\5\u009fP\2\u017fj\3\2\2\2\u0180\u0181\5\u00bf`\2\u0181\u0182\5"+ - "\u00b5[\2\u0182\u0183\5\u00a3R\2\u0183\u0184\5\u00b9]\2\u0184\u0185\5"+ - "\u009bN\2\u0185\u0186\5U+\2\u0186\u0187\5\u00b7\\\2\u0187\u0188\5\u00b9"+ - "]\2\u0188\u0189\5\u00afX\2\u0189\u018a\5\u00b5[\2\u018a\u018b\5\u0093"+ - "J\2\u018b\u018c\5\u009fP\2\u018c\u018d\5\u009bN\2\u018d\u018e\5U+\2\u018e"+ - "\u018f\5\u00bb^\2\u018f\u0190\5\u00adW\2\u0190\u0191\5\u00a3R\2\u0191"+ - "\u0192\5\u00b9]\2\u0192l\3\2\2\2\u0193\u0194\5\u00b5[\2\u0194\u0195\5"+ - "\u009bN\2\u0195\u0196\5\u0093J\2\u0196\u0197\5\u0099M\2\u0197\u0198\5"+ - "U+\2\u0198\u0199\5\u00b7\\\2\u0199\u019a\5\u00b9]\2\u019a\u019b\5\u00af"+ - "X\2\u019b\u019c\5\u00b5[\2\u019c\u019d\5\u0093J\2\u019d\u019e\5\u009f"+ - "P\2\u019e\u019f\5\u009bN\2\u019f\u01a0\5U+\2\u01a0\u01a1\5\u00bb^\2\u01a1"+ - "\u01a2\5\u00adW\2\u01a2\u01a3\5\u00a3R\2\u01a3\u01a4\5\u00b9]\2\u01a4"+ - "\u01a5\5\u00b7\\\2\u01a5n\3\2\2\2\u01a6\u01a7\5\u00b9]\2\u01a7\u01a8\5"+ - "\u00b5[\2\u01a8\u01a9\5\u0093J\2\u01a9\u01aa\5\u00adW\2\u01aa\u01ab\5"+ - "\u00b7\\\2\u01ab\u01ac\5\u0093J\2\u01ac\u01ad\5\u0097L\2\u01ad\u01ae\5"+ - "\u00b9]\2\u01ae\u01af\5\u00a3R\2\u01af\u01b0\5\u00afX\2\u01b0\u01b1\5"+ - "\u00adW\2\u01b1\u01b2\5\u0093J\2\u01b2\u01b3\5\u00a9U\2\u01b3\u01b4\5"+ - "U+\2\u01b4\u01b5\5\u00b5[\2\u01b5\u01b6\5\u009bN\2\u01b6\u01b7\5\u0093"+ - "J\2\u01b7\u01b8\5\u0099M\2\u01b8\u01b9\5U+\2\u01b9\u01ba\5\u00b3Z\2\u01ba"+ - "\u01bb\5\u00bb^\2\u01bb\u01bc\5\u009bN\2\u01bc\u01bd\5\u00b5[\2\u01bd"+ - "\u01be\5\u00c3b\2\u01be\u01bf\5U+\2\u01bf\u01c0\5\u00b7\\\2\u01c0\u01c1"+ - "\5\u00b9]\2\u01c1\u01c2\5\u00b5[\2\u01c2\u01c3\5\u0093J\2\u01c3\u01c4"+ - "\5\u00b9]\2\u01c4\u01c5\5\u009bN\2\u01c5\u01c6\5\u009fP\2\u01c6\u01c7"+ - "\5\u00c3b\2\u01c7p\3\2\2\2\u01c8\u01c9\5\u00b9]\2\u01c9\u01ca\5\u00c3"+ - "b\2\u01ca\u01cb\5\u00b1Y\2\u01cb\u01cc\5\u009bN\2\u01ccr\3\2\2\2\u01cd"+ - "\u01ce\5\u00adW\2\u01ce\u01cf\5\u0093J\2\u01cf\u01d0\5\u00abV\2\u01d0"+ - "\u01d1\5\u009bN\2\u01d1t\3\2\2\2\u01d2\u01d3\5\u00b1Y\2\u01d3\u01d4\5"+ - "\u00b5[\2\u01d4\u01d5\5\u00afX\2\u01d5\u01d6\5\u00b1Y\2\u01d6\u01d7\5"+ - "\u009bN\2\u01d7\u01d8\5\u00b5[\2\u01d8\u01d9\5\u00b9]\2\u01d9\u01da\5"+ - "\u00a3R\2\u01da\u01db\5\u009bN\2\u01db\u01dc\5\u00b7\\\2\u01dcv\3\2\2"+ - "\2\u01dd\u01de\5\u00b5[\2\u01de\u01df\5\u00bb^\2\u01df\u01e0\5\u00a9U"+ - "\2\u01e0\u01e1\5\u009bN\2\u01e1\u01e2\5\u00b7\\\2\u01e2x\3\2\2\2\u01e3"+ - "\u01e4\5\u00b5[\2\u01e4\u01e5\5\u009bN\2\u01e5\u01e6\5\u00b7\\\2\u01e6"+ - "\u01e7\5\u00afX\2\u01e7\u01e8\5\u00bb^\2\u01e8\u01e9\5\u00b5[\2\u01e9"+ - "\u01ea\5\u0097L\2\u01ea\u01eb\5\u009bN\2\u01eb\u01ec\5\u00b7\\\2\u01ec"+ - "z\3\2\2\2\u01ed\u01ee\5\u00b7\\\2\u01ee\u01ef\5\u00b9]\2\u01ef\u01f0\5"+ - "\u0093J\2\u01f0\u01f1\5\u00b9]\2\u01f1\u01f2\5\u00bb^\2\u01f2\u01f3\5"+ - "\u00b7\\\2\u01f3|\3\2\2\2\u01f4\u01f5\5\u009bN\2\u01f5\u01f6\5\u00adW"+ - "\2\u01f6\u01f7\5\u0093J\2\u01f7\u01f8\5\u0095K\2\u01f8\u01f9\5\u00a9U"+ - "\2\u01f9\u01fa\5\u009bN\2\u01fa~\3\2\2\2\u01fb\u01fc\5\u0099M\2\u01fc"+ - "\u01fd\5\u00a3R\2\u01fd\u01fe\5\u00b7\\\2\u01fe\u01ff\5\u0093J\2\u01ff"+ - "\u0200\5\u0095K\2\u0200\u0201\5\u00a9U\2\u0201\u0202\5\u009bN\2\u0202"+ - "\u0080\3\2\2\2\u0203\u0204\5\u00b5[\2\u0204\u0205\5\u009bN\2\u0205\u0206"+ - "\5\u0093J\2\u0206\u0207\5\u0099M\2\u0207\u0082\3\2\2\2\u0208\u0209\5\u00a3"+ - "R\2\u0209\u020a\5\u009dO\2\u020a\u0084\3\2\2\2\u020b\u020c\5\u009bN\2"+ - "\u020c\u020d\5\u00c1a\2\u020d\u020e\5\u00a3R\2\u020e\u020f\5\u00b7\\\2"+ - "\u020f\u0210\5\u00b9]\2\u0210\u0211\5\u00b7\\\2\u0211\u0086\3\2\2\2\u0212"+ - "\u0213\5\u0097L\2\u0213\u0214\5\u00afX\2\u0214\u0215\5\u00bb^\2\u0215"+ - "\u0216\5\u00adW\2\u0216\u0217\5\u00b9]\2\u0217\u0088\3\2\2\2\u0218\u0219"+ - "\5\u00b5[\2\u0219\u021a\5\u00afX\2\u021a\u021b\5\u00bb^\2\u021b\u021c"+ - "\5\u00adW\2\u021c\u021d\5\u0099M\2\u021d\u021e\5U+\2\u021e\u021f\5\u00b5"+ - "[\2\u021f\u0220\5\u00afX\2\u0220\u0221\5\u0095K\2\u0221\u0222\5\u00a3"+ - "R\2\u0222\u0223\5\u00adW\2\u0223\u008a\3\2\2\2\u0224\u0225\5\u00b5[\2"+ - "\u0225\u0226\5\u0093J\2\u0226\u0227\5\u00adW\2\u0227\u0228\5\u0099M\2"+ - "\u0228\u0229\5\u00afX\2\u0229\u022a\5\u00abV\2\u022a\u008c\3\2\2\2\u022b"+ - "\u022c\5\u00bf`\2\u022c\u022d\5\u009bN\2\u022d\u022e\5\u00a3R\2\u022e"+ - "\u022f\5\u009fP\2\u022f\u0230\5\u00a1Q\2\u0230\u0231\5\u00b9]\2\u0231"+ - "\u008e\3\2\2\2\u0232\u0233\5\u00adW\2\u0233\u0234\5\u00afX\2\u0234\u0235"+ - "\5\u00b9]\2\u0235\u0090\3\2\2\2\u0236\u0237\7F\2\2\u0237\u0238\7Q\2\2"+ - "\u0238\u0239\7\"\2\2\u0239\u023a\7P\2\2\u023a\u023b\7Q\2\2\u023b\u023c"+ - "\7V\2\2\u023c\u023d\7\"\2\2\u023d\u023e\7O\2\2\u023e\u023f\7C\2\2\u023f"+ - "\u0240\7V\2\2\u0240\u0241\7E\2\2\u0241\u0242\7J\2\2\u0242\u0243\7\"\2"+ - "\2\u0243\u0244\7C\2\2\u0244\u0245\7P\2\2\u0245\u0246\7[\2\2\u0246\u0247"+ - "\7\"\2\2\u0247\u0248\7V\2\2\u0248\u0249\7J\2\2\u0249\u024a\7K\2\2\u024a"+ - "\u024b\7P\2\2\u024b\u024c\7I\2\2\u024c\u024d\7.\2\2\u024d\u024e\7\"\2"+ - "\2\u024e\u024f\7L\2\2\u024f\u0250\7W\2\2\u0250\u0251\7U\2\2\u0251\u0252"+ - "\7V\2\2\u0252\u0253\7\"\2\2\u0253\u0254\7H\2\2\u0254\u0255\7Q\2\2\u0255"+ - "\u0256\7T\2\2\u0256\u0257\7\"\2\2\u0257\u0258\7I\2\2\u0258\u0259\7G\2"+ - "\2\u0259\u025a\7P\2\2\u025a\u025b\7G\2\2\u025b\u025c\7T\2\2\u025c\u025d"+ - "\7C\2\2\u025d\u025e\7V\2\2\u025e\u025f\7Q\2\2\u025f\u0260\7T\2\2\u0260"+ - "\u0092\3\2\2\2\u0261\u0262\t\3\2\2\u0262\u0094\3\2\2\2\u0263\u0264\t\4"+ - "\2\2\u0264\u0096\3\2\2\2\u0265\u0266\t\5\2\2\u0266\u0098\3\2\2\2\u0267"+ - "\u0268\t\6\2\2\u0268\u009a\3\2\2\2\u0269\u026a\t\7\2\2\u026a\u009c\3\2"+ - "\2\2\u026b\u026c\t\b\2\2\u026c\u009e\3\2\2\2\u026d\u026e\t\t\2\2\u026e"+ - "\u00a0\3\2\2\2\u026f\u0270\t\n\2\2\u0270\u00a2\3\2\2\2\u0271\u0272\t\13"+ - "\2\2\u0272\u00a4\3\2\2\2\u0273\u0274\t\f\2\2\u0274\u00a6\3\2\2\2\u0275"+ - "\u0276\t\r\2\2\u0276\u00a8\3\2\2\2\u0277\u0278\t\16\2\2\u0278\u00aa\3"+ - "\2\2\2\u0279\u027a\t\17\2\2\u027a\u00ac\3\2\2\2\u027b\u027c\t\20\2\2\u027c"+ - "\u00ae\3\2\2\2\u027d\u027e\t\21\2\2\u027e\u00b0\3\2\2\2\u027f\u0280\t"+ - "\22\2\2\u0280\u00b2\3\2\2\2\u0281\u0282\t\23\2\2\u0282\u00b4\3\2\2\2\u0283"+ - "\u0284\t\24\2\2\u0284\u00b6\3\2\2\2\u0285\u0286\t\25\2\2\u0286\u00b8\3"+ - "\2\2\2\u0287\u0288\t\26\2\2\u0288\u00ba\3\2\2\2\u0289\u028a\t\27\2\2\u028a"+ - "\u00bc\3\2\2\2\u028b\u028c\t\30\2\2\u028c\u00be\3\2\2\2\u028d\u028e\t"+ - "\31\2\2\u028e\u00c0\3\2\2\2\u028f\u0290\t\32\2\2\u0290\u00c2\3\2\2\2\u0291"+ - "\u0292\t\33\2\2\u0292\u00c4\3\2\2\2\u0293\u0294\t\34\2\2\u0294\u00c6\3"+ - "\2\2\2\u0295\u0297\t\35\2\2\u0296\u0295\3\2\2\2\u0297\u029a\3\2\2\2\u0298"+ - "\u0299\3\2\2\2\u0298\u0296\3\2\2\2\u0299\u029c\3\2\2\2\u029a\u0298\3\2"+ - "\2\2\u029b\u029d\t\36\2\2\u029c\u029b\3\2\2\2\u029d\u029e\3\2\2\2\u029e"+ - "\u029f\3\2\2\2\u029e\u029c\3\2\2\2\u029f\u02a3\3\2\2\2\u02a0\u02a2\t\35"+ - "\2\2\u02a1\u02a0\3\2\2\2\u02a2\u02a5\3\2\2\2\u02a3\u02a1\3\2\2\2\u02a3"+ - "\u02a4\3\2\2\2\u02a4\u02af\3\2\2\2\u02a5\u02a3\3\2\2\2\u02a6\u02a8\5K"+ - "&\2\u02a7\u02a9\n\37\2\2\u02a8\u02a7\3\2\2\2\u02a9\u02aa\3\2\2\2\u02aa"+ - "\u02a8\3\2\2\2\u02aa\u02ab\3\2\2\2\u02ab\u02ac\3\2\2\2\u02ac\u02ad\5K"+ - "&\2\u02ad\u02af\3\2\2\2\u02ae\u0298\3\2\2\2\u02ae\u02a6\3\2\2\2\u02af"+ - "\u00c8\3\2\2\2\u02b0\u02b8\5G$\2\u02b1\u02b2\7^\2\2\u02b2\u02b7\13\2\2"+ - "\2\u02b3\u02b4\7$\2\2\u02b4\u02b7\7$\2\2\u02b5\u02b7\n \2\2\u02b6\u02b1"+ - "\3\2\2\2\u02b6\u02b3\3\2\2\2\u02b6\u02b5\3\2\2\2\u02b7\u02ba\3\2\2\2\u02b8"+ - "\u02b6\3\2\2\2\u02b8\u02b9\3\2\2\2\u02b9\u02bb\3\2\2\2\u02ba\u02b8\3\2"+ - "\2\2\u02bb\u02bc\5G$\2\u02bc\u02cb\3\2\2\2\u02bd\u02c5\5I%\2\u02be\u02bf"+ - "\7^\2\2\u02bf\u02c4\13\2\2\2\u02c0\u02c1\7)\2\2\u02c1\u02c4\7)\2\2\u02c2"+ - "\u02c4\n!\2\2\u02c3\u02be\3\2\2\2\u02c3\u02c0\3\2\2\2\u02c3\u02c2\3\2"+ - "\2\2\u02c4\u02c7\3\2\2\2\u02c5\u02c3\3\2\2\2\u02c5\u02c6\3\2\2\2\u02c6"+ - "\u02c8\3\2\2\2\u02c7\u02c5\3\2\2\2\u02c8\u02c9\5I%\2\u02c9\u02cb\3\2\2"+ - "\2\u02ca\u02b0\3\2\2\2\u02ca\u02bd\3\2\2\2\u02cb\u00ca\3\2\2\2\u02cc\u02ce"+ - "\t\"\2\2\u02cd\u02cc\3\2\2\2\u02ce\u02cf\3\2\2\2\u02cf\u02cd\3\2\2\2\u02cf"+ - "\u02d0\3\2\2\2\u02d0\u00cc\3\2\2\2\u02d1\u02d2\t#\2\2\u02d2\u00ce\3\2"+ - "\2\2\u02d3\u02d5\5\u00cbf\2\u02d4\u02d3\3\2\2\2\u02d4\u02d5\3\2\2\2\u02d5"+ - "\u02d7\3\2\2\2\u02d6\u02d8\5#\22\2\u02d7\u02d6\3\2\2\2\u02d7\u02d8\3\2"+ - "\2\2\u02d8\u02d9\3\2\2\2\u02d9\u02e1\5\u00cbf\2\u02da\u02dd\5\u009bN\2"+ - "\u02db\u02de\5\31\r\2\u02dc\u02de\5\33\16\2\u02dd\u02db\3\2\2\2\u02dd"+ - "\u02dc\3\2\2\2\u02dd\u02de\3\2\2\2\u02de\u02df\3\2\2\2\u02df\u02e0\5\u00cb"+ - "f\2\u02e0\u02e2\3\2\2\2\u02e1\u02da\3\2\2\2\u02e1\u02e2\3\2\2\2\u02e2"+ - "\u00d0\3\2\2\2\u02e3\u02e4\7\62\2\2\u02e4\u02e5\7z\2\2\u02e5\u02e7\3\2"+ - "\2\2\u02e6\u02e8\5\u00cdg\2\u02e7\u02e6\3\2\2\2\u02e8\u02e9\3\2\2\2\u02e9"+ - "\u02e7\3\2\2\2\u02e9\u02ea\3\2\2\2\u02ea\u02f5\3\2\2\2\u02eb\u02ec\7Z"+ - "\2\2\u02ec\u02ee\5I%\2\u02ed\u02ef\5\u00cdg\2\u02ee\u02ed\3\2\2\2\u02ef"+ - "\u02f0\3\2\2\2\u02f0\u02ee\3\2\2\2\u02f0\u02f1\3\2\2\2\u02f1\u02f2\3\2"+ - "\2\2\u02f2\u02f3\5I%\2\u02f3\u02f5\3\2\2\2\u02f4\u02e3\3\2\2\2\u02f4\u02eb"+ - "\3\2\2\2\u02f5\u00d2\3\2\2\2\u02f6\u02f7\7\62\2\2\u02f7\u02f8\7d\2\2\u02f8"+ - "\u02fa\3\2\2\2\u02f9\u02fb\4\62\63\2\u02fa\u02f9\3\2\2\2\u02fb\u02fc\3"+ - "\2\2\2\u02fc\u02fa\3\2\2\2\u02fc\u02fd\3\2\2\2\u02fd\u0308\3\2\2\2\u02fe"+ - "\u02ff\5\u0095K\2\u02ff\u0301\5I%\2\u0300\u0302\4\62\63\2\u0301\u0300"+ - "\3\2\2\2\u0302\u0303\3\2\2\2\u0303\u0301\3\2\2\2\u0303\u0304\3\2\2\2\u0304"+ - "\u0305\3\2\2\2\u0305\u0306\5I%\2\u0306\u0308\3\2\2\2\u0307\u02f6\3\2\2"+ - "\2\u0307\u02fe\3\2\2\2\u0308\u00d4\3\2\2\2\32\2\u010b\u013c\u0298\u029e"+ - "\u02a3\u02aa\u02ae\u02b6\u02b8\u02c3\u02c5\u02ca\u02cf\u02d4\u02d7\u02dd"+ - "\u02e1\u02e9\u02f0\u02f4\u02fc\u0303\u0307\3\b\2\2"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementLexer.tokens b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementLexer.tokens deleted file mode 100644 index 8f1734a8..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementLexer.tokens +++ /dev/null @@ -1,121 +0,0 @@ -AND_=1 -OR_=2 -NOT_=3 -TILDE_=4 -VERTICALBAR_=5 -AMPERSAND_=6 -SIGNEDLEFTSHIFT_=7 -SIGNEDRIGHTSHIFT_=8 -CARET_=9 -MOD_=10 -COLON_=11 -PLUS_=12 -MINUS_=13 -ASTERISK_=14 -SLASH_=15 -BACKSLASH_=16 -DOT_=17 -DOTASTERISK_=18 -SAFEEQ_=19 -DEQ_=20 -EQ_=21 -NEQ_=22 -GT_=23 -GTE_=24 -LT_=25 -LTE_=26 -POUND_=27 -LP_=28 -RP_=29 -LBE_=30 -RBE_=31 -LBT_=32 -RBT_=33 -COMMA_=34 -DQ_=35 -SQ_=36 -BQ_=37 -QUESTION_=38 -AT_=39 -SEMI_=40 -JSONSEPARATOR_=41 -UL_=42 -WS=43 -TRUE=44 -FALSE=45 -CREATE=46 -ALTER=47 -DROP=48 -SHOW=49 -RULE=50 -FROM=51 -READWRITE_SPLITTING=52 -WRITE_STORAGE_UNIT=53 -READ_STORAGE_UNITS=54 -TRANSACTIONAL_READ_QUERY_STRATEGY=55 -TYPE=56 -NAME=57 -PROPERTIES=58 -RULES=59 -RESOURCES=60 -STATUS=61 -ENABLE=62 -DISABLE=63 -READ=64 -IF=65 -EXISTS=66 -COUNT=67 -ROUND_ROBIN=68 -RANDOM=69 -WEIGHT=70 -NOT=71 -FOR_GENERATOR=72 -IDENTIFIER_=73 -STRING_=74 -INT_=75 -HEX_=76 -NUMBER_=77 -HEXDIGIT_=78 -BITNUM_=79 -'&&'=1 -'||'=2 -'!'=3 -'~'=4 -'|'=5 -'&'=6 -'<<'=7 -'>>'=8 -'^'=9 -'%'=10 -':'=11 -'+'=12 -'-'=13 -'*'=14 -'/'=15 -'\\'=16 -'.'=17 -'.*'=18 -'<=>'=19 -'=='=20 -'='=21 -'>'=23 -'>='=24 -'<'=25 -'<='=26 -'#'=27 -'('=28 -')'=29 -'{'=30 -'}'=31 -'['=32 -']'=33 -','=34 -'"'=35 -'\''=36 -'`'=37 -'?'=38 -'@'=39 -';'=40 -'->>'=41 -'_'=42 -'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=72 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementParser.java b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementParser.java deleted file mode 100644 index e23541bb..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RALStatementParser.java +++ /dev/null @@ -1,781 +0,0 @@ -// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/RALStatement.g4 by ANTLR 4.9.2 -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.misc.*; -import org.antlr.v4.runtime.tree.*; -import java.util.List; -import java.util.Iterator; -import java.util.ArrayList; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class RALStatementParser extends Parser { - static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, - SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, - ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, - DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, - LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, - SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, - WS=43, TRUE=44, FALSE=45, CREATE=46, ALTER=47, DROP=48, SHOW=49, RULE=50, - FROM=51, READWRITE_SPLITTING=52, WRITE_STORAGE_UNIT=53, READ_STORAGE_UNITS=54, - TRANSACTIONAL_READ_QUERY_STRATEGY=55, TYPE=56, NAME=57, PROPERTIES=58, - RULES=59, RESOURCES=60, STATUS=61, ENABLE=62, DISABLE=63, READ=64, IF=65, - EXISTS=66, COUNT=67, ROUND_ROBIN=68, RANDOM=69, WEIGHT=70, NOT=71, FOR_GENERATOR=72, - IDENTIFIER_=73, STRING_=74, INT_=75, HEX_=76, NUMBER_=77, HEXDIGIT_=78, - BITNUM_=79; - public static final int - RULE_alterReadwriteSplittingStorageUnitStatus = 0, RULE_showStatusFromReadwriteSplittingRules = 1, - RULE_literal = 2, RULE_algorithmDefinition = 3, RULE_algorithmTypeName = 4, - RULE_buildInReadQueryLoadBalanceAlgorithmType = 5, RULE_propertiesDefinition = 6, - RULE_properties = 7, RULE_property = 8, RULE_databaseName = 9, RULE_groupName = 10, - RULE_storageUnitName = 11; - private static String[] makeRuleNames() { - return new String[] { - "alterReadwriteSplittingStorageUnitStatus", "showStatusFromReadwriteSplittingRules", - "literal", "algorithmDefinition", "algorithmTypeName", "buildInReadQueryLoadBalanceAlgorithmType", - "propertiesDefinition", "properties", "property", "databaseName", "groupName", - "storageUnitName" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", - "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", - "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", - "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", - "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", - "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", - "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", - "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", - "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", - "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", - "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", "FROM", "READWRITE_SPLITTING", - "WRITE_STORAGE_UNIT", "READ_STORAGE_UNITS", "TRANSACTIONAL_READ_QUERY_STRATEGY", - "TYPE", "NAME", "PROPERTIES", "RULES", "RESOURCES", "STATUS", "ENABLE", - "DISABLE", "READ", "IF", "EXISTS", "COUNT", "ROUND_ROBIN", "RANDOM", - "WEIGHT", "NOT", "FOR_GENERATOR", "IDENTIFIER_", "STRING_", "INT_", "HEX_", - "NUMBER_", "HEXDIGIT_", "BITNUM_" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - @Override - public String getGrammarFileName() { return "RALStatement.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public ATN getATN() { return _ATN; } - - public RALStatementParser(TokenStream input) { - super(input); - _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - public static class AlterReadwriteSplittingStorageUnitStatusContext extends ParserRuleContext { - public TerminalNode ALTER() { return getToken(RALStatementParser.ALTER, 0); } - public TerminalNode READWRITE_SPLITTING() { return getToken(RALStatementParser.READWRITE_SPLITTING, 0); } - public TerminalNode RULE() { return getToken(RALStatementParser.RULE, 0); } - public StorageUnitNameContext storageUnitName() { - return getRuleContext(StorageUnitNameContext.class,0); - } - public TerminalNode ENABLE() { return getToken(RALStatementParser.ENABLE, 0); } - public TerminalNode DISABLE() { return getToken(RALStatementParser.DISABLE, 0); } - public GroupNameContext groupName() { - return getRuleContext(GroupNameContext.class,0); - } - public TerminalNode FROM() { return getToken(RALStatementParser.FROM, 0); } - public DatabaseNameContext databaseName() { - return getRuleContext(DatabaseNameContext.class,0); - } - public AlterReadwriteSplittingStorageUnitStatusContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_alterReadwriteSplittingStorageUnitStatus; } - } - - public final AlterReadwriteSplittingStorageUnitStatusContext alterReadwriteSplittingStorageUnitStatus() throws RecognitionException { - AlterReadwriteSplittingStorageUnitStatusContext _localctx = new AlterReadwriteSplittingStorageUnitStatusContext(_ctx, getState()); - enterRule(_localctx, 0, RULE_alterReadwriteSplittingStorageUnitStatus); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(24); - match(ALTER); - setState(25); - match(READWRITE_SPLITTING); - setState(26); - match(RULE); - setState(28); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==IDENTIFIER_) { - { - setState(27); - groupName(); - } - } - - setState(30); - _la = _input.LA(1); - if ( !(_la==ENABLE || _la==DISABLE) ) { - _errHandler.recoverInline(this); - } - else { - if ( _input.LA(1)==Token.EOF ) matchedEOF = true; - _errHandler.reportMatch(this); - consume(); - } - setState(31); - storageUnitName(); - setState(34); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==FROM) { - { - setState(32); - match(FROM); - setState(33); - databaseName(); - } - } - - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ShowStatusFromReadwriteSplittingRulesContext extends ParserRuleContext { - public TerminalNode SHOW() { return getToken(RALStatementParser.SHOW, 0); } - public TerminalNode STATUS() { return getToken(RALStatementParser.STATUS, 0); } - public List FROM() { return getTokens(RALStatementParser.FROM); } - public TerminalNode FROM(int i) { - return getToken(RALStatementParser.FROM, i); - } - public TerminalNode READWRITE_SPLITTING() { return getToken(RALStatementParser.READWRITE_SPLITTING, 0); } - public TerminalNode RULES() { return getToken(RALStatementParser.RULES, 0); } - public TerminalNode RULE() { return getToken(RALStatementParser.RULE, 0); } - public GroupNameContext groupName() { - return getRuleContext(GroupNameContext.class,0); - } - public DatabaseNameContext databaseName() { - return getRuleContext(DatabaseNameContext.class,0); - } - public ShowStatusFromReadwriteSplittingRulesContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_showStatusFromReadwriteSplittingRules; } - } - - public final ShowStatusFromReadwriteSplittingRulesContext showStatusFromReadwriteSplittingRules() throws RecognitionException { - ShowStatusFromReadwriteSplittingRulesContext _localctx = new ShowStatusFromReadwriteSplittingRulesContext(_ctx, getState()); - enterRule(_localctx, 2, RULE_showStatusFromReadwriteSplittingRules); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(36); - match(SHOW); - setState(37); - match(STATUS); - setState(38); - match(FROM); - setState(39); - match(READWRITE_SPLITTING); - setState(43); - _errHandler.sync(this); - switch (_input.LA(1)) { - case RULES: - { - setState(40); - match(RULES); - } - break; - case RULE: - { - setState(41); - match(RULE); - setState(42); - groupName(); - } - break; - default: - throw new NoViableAltException(this); - } - setState(47); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==FROM) { - { - setState(45); - match(FROM); - setState(46); - databaseName(); - } - } - - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class LiteralContext extends ParserRuleContext { - public TerminalNode STRING_() { return getToken(RALStatementParser.STRING_, 0); } - public TerminalNode INT_() { return getToken(RALStatementParser.INT_, 0); } - public TerminalNode MINUS_() { return getToken(RALStatementParser.MINUS_, 0); } - public TerminalNode TRUE() { return getToken(RALStatementParser.TRUE, 0); } - public TerminalNode FALSE() { return getToken(RALStatementParser.FALSE, 0); } - public LiteralContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_literal; } - } - - public final LiteralContext literal() throws RecognitionException { - LiteralContext _localctx = new LiteralContext(_ctx, getState()); - enterRule(_localctx, 4, RULE_literal); - int _la; - try { - setState(56); - _errHandler.sync(this); - switch (_input.LA(1)) { - case STRING_: - enterOuterAlt(_localctx, 1); - { - setState(49); - match(STRING_); - } - break; - case MINUS_: - case INT_: - enterOuterAlt(_localctx, 2); - { - setState(51); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==MINUS_) { - { - setState(50); - match(MINUS_); - } - } - - setState(53); - match(INT_); - } - break; - case TRUE: - enterOuterAlt(_localctx, 3); - { - setState(54); - match(TRUE); - } - break; - case FALSE: - enterOuterAlt(_localctx, 4); - { - setState(55); - match(FALSE); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AlgorithmDefinitionContext extends ParserRuleContext { - public TerminalNode TYPE() { return getToken(RALStatementParser.TYPE, 0); } - public TerminalNode LP_() { return getToken(RALStatementParser.LP_, 0); } - public TerminalNode NAME() { return getToken(RALStatementParser.NAME, 0); } - public TerminalNode EQ_() { return getToken(RALStatementParser.EQ_, 0); } - public AlgorithmTypeNameContext algorithmTypeName() { - return getRuleContext(AlgorithmTypeNameContext.class,0); - } - public TerminalNode RP_() { return getToken(RALStatementParser.RP_, 0); } - public TerminalNode COMMA_() { return getToken(RALStatementParser.COMMA_, 0); } - public PropertiesDefinitionContext propertiesDefinition() { - return getRuleContext(PropertiesDefinitionContext.class,0); - } - public AlgorithmDefinitionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_algorithmDefinition; } - } - - public final AlgorithmDefinitionContext algorithmDefinition() throws RecognitionException { - AlgorithmDefinitionContext _localctx = new AlgorithmDefinitionContext(_ctx, getState()); - enterRule(_localctx, 6, RULE_algorithmDefinition); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(58); - match(TYPE); - setState(59); - match(LP_); - setState(60); - match(NAME); - setState(61); - match(EQ_); - setState(62); - algorithmTypeName(); - setState(65); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==COMMA_) { - { - setState(63); - match(COMMA_); - setState(64); - propertiesDefinition(); - } - } - - setState(67); - match(RP_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AlgorithmTypeNameContext extends ParserRuleContext { - public TerminalNode STRING_() { return getToken(RALStatementParser.STRING_, 0); } - public BuildInReadQueryLoadBalanceAlgorithmTypeContext buildInReadQueryLoadBalanceAlgorithmType() { - return getRuleContext(BuildInReadQueryLoadBalanceAlgorithmTypeContext.class,0); - } - public AlgorithmTypeNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_algorithmTypeName; } - } - - public final AlgorithmTypeNameContext algorithmTypeName() throws RecognitionException { - AlgorithmTypeNameContext _localctx = new AlgorithmTypeNameContext(_ctx, getState()); - enterRule(_localctx, 8, RULE_algorithmTypeName); - try { - setState(71); - _errHandler.sync(this); - switch (_input.LA(1)) { - case STRING_: - enterOuterAlt(_localctx, 1); - { - setState(69); - match(STRING_); - } - break; - case ROUND_ROBIN: - case RANDOM: - case WEIGHT: - enterOuterAlt(_localctx, 2); - { - setState(70); - buildInReadQueryLoadBalanceAlgorithmType(); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class BuildInReadQueryLoadBalanceAlgorithmTypeContext extends ParserRuleContext { - public TerminalNode ROUND_ROBIN() { return getToken(RALStatementParser.ROUND_ROBIN, 0); } - public TerminalNode RANDOM() { return getToken(RALStatementParser.RANDOM, 0); } - public TerminalNode WEIGHT() { return getToken(RALStatementParser.WEIGHT, 0); } - public BuildInReadQueryLoadBalanceAlgorithmTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_buildInReadQueryLoadBalanceAlgorithmType; } - } - - public final BuildInReadQueryLoadBalanceAlgorithmTypeContext buildInReadQueryLoadBalanceAlgorithmType() throws RecognitionException { - BuildInReadQueryLoadBalanceAlgorithmTypeContext _localctx = new BuildInReadQueryLoadBalanceAlgorithmTypeContext(_ctx, getState()); - enterRule(_localctx, 10, RULE_buildInReadQueryLoadBalanceAlgorithmType); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(73); - _la = _input.LA(1); - if ( !(((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & ((1L << (ROUND_ROBIN - 68)) | (1L << (RANDOM - 68)) | (1L << (WEIGHT - 68)))) != 0)) ) { - _errHandler.recoverInline(this); - } - else { - if ( _input.LA(1)==Token.EOF ) matchedEOF = true; - _errHandler.reportMatch(this); - consume(); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PropertiesDefinitionContext extends ParserRuleContext { - public TerminalNode PROPERTIES() { return getToken(RALStatementParser.PROPERTIES, 0); } - public TerminalNode LP_() { return getToken(RALStatementParser.LP_, 0); } - public TerminalNode RP_() { return getToken(RALStatementParser.RP_, 0); } - public PropertiesContext properties() { - return getRuleContext(PropertiesContext.class,0); - } - public PropertiesDefinitionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_propertiesDefinition; } - } - - public final PropertiesDefinitionContext propertiesDefinition() throws RecognitionException { - PropertiesDefinitionContext _localctx = new PropertiesDefinitionContext(_ctx, getState()); - enterRule(_localctx, 12, RULE_propertiesDefinition); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(75); - match(PROPERTIES); - setState(76); - match(LP_); - setState(78); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==STRING_) { - { - setState(77); - properties(); - } - } - - setState(80); - match(RP_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PropertiesContext extends ParserRuleContext { - public List property() { - return getRuleContexts(PropertyContext.class); - } - public PropertyContext property(int i) { - return getRuleContext(PropertyContext.class,i); - } - public List COMMA_() { return getTokens(RALStatementParser.COMMA_); } - public TerminalNode COMMA_(int i) { - return getToken(RALStatementParser.COMMA_, i); - } - public PropertiesContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_properties; } - } - - public final PropertiesContext properties() throws RecognitionException { - PropertiesContext _localctx = new PropertiesContext(_ctx, getState()); - enterRule(_localctx, 14, RULE_properties); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(82); - property(); - setState(87); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA_) { - { - { - setState(83); - match(COMMA_); - setState(84); - property(); - } - } - setState(89); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PropertyContext extends ParserRuleContext { - public Token key; - public LiteralContext value; - public TerminalNode EQ_() { return getToken(RALStatementParser.EQ_, 0); } - public TerminalNode STRING_() { return getToken(RALStatementParser.STRING_, 0); } - public LiteralContext literal() { - return getRuleContext(LiteralContext.class,0); - } - public PropertyContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_property; } - } - - public final PropertyContext property() throws RecognitionException { - PropertyContext _localctx = new PropertyContext(_ctx, getState()); - enterRule(_localctx, 16, RULE_property); - try { - enterOuterAlt(_localctx, 1); - { - setState(90); - ((PropertyContext)_localctx).key = match(STRING_); - setState(91); - match(EQ_); - setState(92); - ((PropertyContext)_localctx).value = literal(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class DatabaseNameContext extends ParserRuleContext { - public TerminalNode IDENTIFIER_() { return getToken(RALStatementParser.IDENTIFIER_, 0); } - public DatabaseNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_databaseName; } - } - - public final DatabaseNameContext databaseName() throws RecognitionException { - DatabaseNameContext _localctx = new DatabaseNameContext(_ctx, getState()); - enterRule(_localctx, 18, RULE_databaseName); - try { - enterOuterAlt(_localctx, 1); - { - setState(94); - match(IDENTIFIER_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class GroupNameContext extends ParserRuleContext { - public TerminalNode IDENTIFIER_() { return getToken(RALStatementParser.IDENTIFIER_, 0); } - public GroupNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_groupName; } - } - - public final GroupNameContext groupName() throws RecognitionException { - GroupNameContext _localctx = new GroupNameContext(_ctx, getState()); - enterRule(_localctx, 20, RULE_groupName); - try { - enterOuterAlt(_localctx, 1); - { - setState(96); - match(IDENTIFIER_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class StorageUnitNameContext extends ParserRuleContext { - public TerminalNode IDENTIFIER_() { return getToken(RALStatementParser.IDENTIFIER_, 0); } - public StorageUnitNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_storageUnitName; } - } - - public final StorageUnitNameContext storageUnitName() throws RecognitionException { - StorageUnitNameContext _localctx = new StorageUnitNameContext(_ctx, getState()); - enterRule(_localctx, 22, RULE_storageUnitName); - try { - enterOuterAlt(_localctx, 1); - { - setState(98); - match(IDENTIFIER_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3Qg\4\2\t\2\4\3\t\3"+ - "\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\4\f"+ - "\t\f\4\r\t\r\3\2\3\2\3\2\3\2\5\2\37\n\2\3\2\3\2\3\2\3\2\5\2%\n\2\3\3\3"+ - "\3\3\3\3\3\3\3\3\3\3\3\5\3.\n\3\3\3\3\3\5\3\62\n\3\3\4\3\4\5\4\66\n\4"+ - "\3\4\3\4\3\4\5\4;\n\4\3\5\3\5\3\5\3\5\3\5\3\5\3\5\5\5D\n\5\3\5\3\5\3\6"+ - "\3\6\5\6J\n\6\3\7\3\7\3\b\3\b\3\b\5\bQ\n\b\3\b\3\b\3\t\3\t\3\t\7\tX\n"+ - "\t\f\t\16\t[\13\t\3\n\3\n\3\n\3\n\3\13\3\13\3\f\3\f\3\r\3\r\3\r\2\2\16"+ - "\2\4\6\b\n\f\16\20\22\24\26\30\2\4\3\2@A\3\2FH\2f\2\32\3\2\2\2\4&\3\2"+ - "\2\2\6:\3\2\2\2\b<\3\2\2\2\nI\3\2\2\2\fK\3\2\2\2\16M\3\2\2\2\20T\3\2\2"+ - "\2\22\\\3\2\2\2\24`\3\2\2\2\26b\3\2\2\2\30d\3\2\2\2\32\33\7\61\2\2\33"+ - "\34\7\66\2\2\34\36\7\64\2\2\35\37\5\26\f\2\36\35\3\2\2\2\36\37\3\2\2\2"+ - "\37 \3\2\2\2 !\t\2\2\2!$\5\30\r\2\"#\7\65\2\2#%\5\24\13\2$\"\3\2\2\2$"+ - "%\3\2\2\2%\3\3\2\2\2&\'\7\63\2\2\'(\7?\2\2()\7\65\2\2)-\7\66\2\2*.\7="+ - "\2\2+,\7\64\2\2,.\5\26\f\2-*\3\2\2\2-+\3\2\2\2.\61\3\2\2\2/\60\7\65\2"+ - "\2\60\62\5\24\13\2\61/\3\2\2\2\61\62\3\2\2\2\62\5\3\2\2\2\63;\7L\2\2\64"+ - "\66\7\17\2\2\65\64\3\2\2\2\65\66\3\2\2\2\66\67\3\2\2\2\67;\7M\2\28;\7"+ - ".\2\29;\7/\2\2:\63\3\2\2\2:\65\3\2\2\2:8\3\2\2\2:9\3\2\2\2;\7\3\2\2\2"+ - "<=\7:\2\2=>\7\36\2\2>?\7;\2\2?@\7\27\2\2@C\5\n\6\2AB\7$\2\2BD\5\16\b\2"+ - "CA\3\2\2\2CD\3\2\2\2DE\3\2\2\2EF\7\37\2\2F\t\3\2\2\2GJ\7L\2\2HJ\5\f\7"+ - "\2IG\3\2\2\2IH\3\2\2\2J\13\3\2\2\2KL\t\3\2\2L\r\3\2\2\2MN\7<\2\2NP\7\36"+ - "\2\2OQ\5\20\t\2PO\3\2\2\2PQ\3\2\2\2QR\3\2\2\2RS\7\37\2\2S\17\3\2\2\2T"+ - "Y\5\22\n\2UV\7$\2\2VX\5\22\n\2WU\3\2\2\2X[\3\2\2\2YW\3\2\2\2YZ\3\2\2\2"+ - "Z\21\3\2\2\2[Y\3\2\2\2\\]\7L\2\2]^\7\27\2\2^_\5\6\4\2_\23\3\2\2\2`a\7"+ - "K\2\2a\25\3\2\2\2bc\7K\2\2c\27\3\2\2\2de\7K\2\2e\31\3\2\2\2\f\36$-\61"+ - "\65:CIPY"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatement.interp b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatement.interp deleted file mode 100644 index 15e489be..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatement.interp +++ /dev/null @@ -1,193 +0,0 @@ -token literal names: -null -'&&' -'||' -'!' -'~' -'|' -'&' -'<<' -'>>' -'^' -'%' -':' -'+' -'-' -'*' -'/' -'\\' -'.' -'.*' -'<=>' -'==' -'=' -null -'>' -'>=' -'<' -'<=' -'#' -'(' -')' -'{' -'}' -'[' -']' -',' -'"' -'\'' -'`' -'?' -'@' -';' -'->>' -'_' -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -'DO NOT MATCH ANY THING, JUST FOR GENERATOR' -null -null -null -null -null -null -null - -token symbolic names: -null -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ -WS -TRUE -FALSE -CREATE -ALTER -DROP -SHOW -RULE -FROM -READWRITE_SPLITTING -WRITE_STORAGE_UNIT -READ_STORAGE_UNITS -TRANSACTIONAL_READ_QUERY_STRATEGY -TYPE -NAME -PROPERTIES -RULES -RESOURCES -STATUS -ENABLE -DISABLE -READ -IF -EXISTS -COUNT -ROUND_ROBIN -RANDOM -WEIGHT -NOT -FOR_GENERATOR -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ - -rule names: -createReadwriteSplittingRule -alterReadwriteSplittingRule -dropReadwriteSplittingRule -readwriteSplittingRuleDefinition -dataSourceDefinition -ruleName -writeStorageUnit -readStorageUnits -transactionalReadQueryStrategy -writeStorageUnitName -readStorageUnitsNames -transactionalReadQueryStrategyName -ifExists -ifNotExists -literal -algorithmDefinition -algorithmTypeName -buildInReadQueryLoadBalanceAlgorithmType -propertiesDefinition -properties -property -databaseName -groupName -storageUnitName - - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 81, 192, 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, 3, 2, 3, 2, 3, 2, 3, 2, 5, 2, 55, 10, 2, 3, 2, 3, 2, 3, 2, 7, 2, 60, 10, 2, 12, 2, 14, 2, 63, 11, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 71, 10, 3, 12, 3, 14, 3, 74, 11, 3, 3, 4, 3, 4, 3, 4, 3, 4, 5, 4, 80, 10, 4, 3, 4, 3, 4, 3, 4, 7, 4, 85, 10, 4, 12, 4, 14, 4, 88, 11, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 5, 5, 95, 10, 5, 3, 5, 3, 5, 5, 5, 99, 10, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 7, 12, 127, 10, 12, 12, 12, 14, 12, 130, 11, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 3, 15, 3, 16, 3, 16, 5, 16, 143, 10, 16, 3, 16, 3, 16, 3, 16, 5, 16, 148, 10, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 5, 17, 157, 10, 17, 3, 17, 3, 17, 3, 18, 3, 18, 5, 18, 163, 10, 18, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 5, 20, 170, 10, 20, 3, 20, 3, 20, 3, 21, 3, 21, 3, 21, 7, 21, 177, 10, 21, 12, 21, 14, 21, 180, 11, 21, 3, 22, 3, 22, 3, 22, 3, 22, 3, 23, 3, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 2, 2, 26, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 2, 3, 3, 2, 70, 72, 2, 183, 2, 50, 3, 2, 2, 2, 4, 64, 3, 2, 2, 2, 6, 75, 3, 2, 2, 2, 8, 89, 3, 2, 2, 2, 10, 102, 3, 2, 2, 2, 12, 106, 3, 2, 2, 2, 14, 108, 3, 2, 2, 2, 16, 112, 3, 2, 2, 2, 18, 117, 3, 2, 2, 2, 20, 121, 3, 2, 2, 2, 22, 123, 3, 2, 2, 2, 24, 131, 3, 2, 2, 2, 26, 133, 3, 2, 2, 2, 28, 136, 3, 2, 2, 2, 30, 147, 3, 2, 2, 2, 32, 149, 3, 2, 2, 2, 34, 162, 3, 2, 2, 2, 36, 164, 3, 2, 2, 2, 38, 166, 3, 2, 2, 2, 40, 173, 3, 2, 2, 2, 42, 181, 3, 2, 2, 2, 44, 185, 3, 2, 2, 2, 46, 187, 3, 2, 2, 2, 48, 189, 3, 2, 2, 2, 50, 51, 7, 48, 2, 2, 51, 52, 7, 54, 2, 2, 52, 54, 7, 52, 2, 2, 53, 55, 5, 28, 15, 2, 54, 53, 3, 2, 2, 2, 54, 55, 3, 2, 2, 2, 55, 56, 3, 2, 2, 2, 56, 61, 5, 8, 5, 2, 57, 58, 7, 36, 2, 2, 58, 60, 5, 8, 5, 2, 59, 57, 3, 2, 2, 2, 60, 63, 3, 2, 2, 2, 61, 59, 3, 2, 2, 2, 61, 62, 3, 2, 2, 2, 62, 3, 3, 2, 2, 2, 63, 61, 3, 2, 2, 2, 64, 65, 7, 49, 2, 2, 65, 66, 7, 54, 2, 2, 66, 67, 7, 52, 2, 2, 67, 72, 5, 8, 5, 2, 68, 69, 7, 36, 2, 2, 69, 71, 5, 8, 5, 2, 70, 68, 3, 2, 2, 2, 71, 74, 3, 2, 2, 2, 72, 70, 3, 2, 2, 2, 72, 73, 3, 2, 2, 2, 73, 5, 3, 2, 2, 2, 74, 72, 3, 2, 2, 2, 75, 76, 7, 50, 2, 2, 76, 77, 7, 54, 2, 2, 77, 79, 7, 52, 2, 2, 78, 80, 5, 26, 14, 2, 79, 78, 3, 2, 2, 2, 79, 80, 3, 2, 2, 2, 80, 81, 3, 2, 2, 2, 81, 86, 5, 12, 7, 2, 82, 83, 7, 36, 2, 2, 83, 85, 5, 12, 7, 2, 84, 82, 3, 2, 2, 2, 85, 88, 3, 2, 2, 2, 86, 84, 3, 2, 2, 2, 86, 87, 3, 2, 2, 2, 87, 7, 3, 2, 2, 2, 88, 86, 3, 2, 2, 2, 89, 90, 5, 12, 7, 2, 90, 91, 7, 30, 2, 2, 91, 94, 5, 10, 6, 2, 92, 93, 7, 36, 2, 2, 93, 95, 5, 18, 10, 2, 94, 92, 3, 2, 2, 2, 94, 95, 3, 2, 2, 2, 95, 98, 3, 2, 2, 2, 96, 97, 7, 36, 2, 2, 97, 99, 5, 32, 17, 2, 98, 96, 3, 2, 2, 2, 98, 99, 3, 2, 2, 2, 99, 100, 3, 2, 2, 2, 100, 101, 7, 31, 2, 2, 101, 9, 3, 2, 2, 2, 102, 103, 5, 14, 8, 2, 103, 104, 7, 36, 2, 2, 104, 105, 5, 16, 9, 2, 105, 11, 3, 2, 2, 2, 106, 107, 7, 75, 2, 2, 107, 13, 3, 2, 2, 2, 108, 109, 7, 55, 2, 2, 109, 110, 7, 23, 2, 2, 110, 111, 5, 20, 11, 2, 111, 15, 3, 2, 2, 2, 112, 113, 7, 56, 2, 2, 113, 114, 7, 30, 2, 2, 114, 115, 5, 22, 12, 2, 115, 116, 7, 31, 2, 2, 116, 17, 3, 2, 2, 2, 117, 118, 7, 57, 2, 2, 118, 119, 7, 23, 2, 2, 119, 120, 5, 24, 13, 2, 120, 19, 3, 2, 2, 2, 121, 122, 5, 48, 25, 2, 122, 21, 3, 2, 2, 2, 123, 128, 5, 48, 25, 2, 124, 125, 7, 36, 2, 2, 125, 127, 5, 48, 25, 2, 126, 124, 3, 2, 2, 2, 127, 130, 3, 2, 2, 2, 128, 126, 3, 2, 2, 2, 128, 129, 3, 2, 2, 2, 129, 23, 3, 2, 2, 2, 130, 128, 3, 2, 2, 2, 131, 132, 7, 76, 2, 2, 132, 25, 3, 2, 2, 2, 133, 134, 7, 67, 2, 2, 134, 135, 7, 68, 2, 2, 135, 27, 3, 2, 2, 2, 136, 137, 7, 67, 2, 2, 137, 138, 7, 73, 2, 2, 138, 139, 7, 68, 2, 2, 139, 29, 3, 2, 2, 2, 140, 148, 7, 76, 2, 2, 141, 143, 7, 15, 2, 2, 142, 141, 3, 2, 2, 2, 142, 143, 3, 2, 2, 2, 143, 144, 3, 2, 2, 2, 144, 148, 7, 77, 2, 2, 145, 148, 7, 46, 2, 2, 146, 148, 7, 47, 2, 2, 147, 140, 3, 2, 2, 2, 147, 142, 3, 2, 2, 2, 147, 145, 3, 2, 2, 2, 147, 146, 3, 2, 2, 2, 148, 31, 3, 2, 2, 2, 149, 150, 7, 58, 2, 2, 150, 151, 7, 30, 2, 2, 151, 152, 7, 59, 2, 2, 152, 153, 7, 23, 2, 2, 153, 156, 5, 34, 18, 2, 154, 155, 7, 36, 2, 2, 155, 157, 5, 38, 20, 2, 156, 154, 3, 2, 2, 2, 156, 157, 3, 2, 2, 2, 157, 158, 3, 2, 2, 2, 158, 159, 7, 31, 2, 2, 159, 33, 3, 2, 2, 2, 160, 163, 7, 76, 2, 2, 161, 163, 5, 36, 19, 2, 162, 160, 3, 2, 2, 2, 162, 161, 3, 2, 2, 2, 163, 35, 3, 2, 2, 2, 164, 165, 9, 2, 2, 2, 165, 37, 3, 2, 2, 2, 166, 167, 7, 60, 2, 2, 167, 169, 7, 30, 2, 2, 168, 170, 5, 40, 21, 2, 169, 168, 3, 2, 2, 2, 169, 170, 3, 2, 2, 2, 170, 171, 3, 2, 2, 2, 171, 172, 7, 31, 2, 2, 172, 39, 3, 2, 2, 2, 173, 178, 5, 42, 22, 2, 174, 175, 7, 36, 2, 2, 175, 177, 5, 42, 22, 2, 176, 174, 3, 2, 2, 2, 177, 180, 3, 2, 2, 2, 178, 176, 3, 2, 2, 2, 178, 179, 3, 2, 2, 2, 179, 41, 3, 2, 2, 2, 180, 178, 3, 2, 2, 2, 181, 182, 7, 76, 2, 2, 182, 183, 7, 23, 2, 2, 183, 184, 5, 30, 16, 2, 184, 43, 3, 2, 2, 2, 185, 186, 7, 75, 2, 2, 186, 45, 3, 2, 2, 2, 187, 188, 7, 75, 2, 2, 188, 47, 3, 2, 2, 2, 189, 190, 7, 75, 2, 2, 190, 49, 3, 2, 2, 2, 16, 54, 61, 72, 79, 86, 94, 98, 128, 142, 147, 156, 162, 169, 178] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatement.tokens b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatement.tokens deleted file mode 100644 index 8f1734a8..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatement.tokens +++ /dev/null @@ -1,121 +0,0 @@ -AND_=1 -OR_=2 -NOT_=3 -TILDE_=4 -VERTICALBAR_=5 -AMPERSAND_=6 -SIGNEDLEFTSHIFT_=7 -SIGNEDRIGHTSHIFT_=8 -CARET_=9 -MOD_=10 -COLON_=11 -PLUS_=12 -MINUS_=13 -ASTERISK_=14 -SLASH_=15 -BACKSLASH_=16 -DOT_=17 -DOTASTERISK_=18 -SAFEEQ_=19 -DEQ_=20 -EQ_=21 -NEQ_=22 -GT_=23 -GTE_=24 -LT_=25 -LTE_=26 -POUND_=27 -LP_=28 -RP_=29 -LBE_=30 -RBE_=31 -LBT_=32 -RBT_=33 -COMMA_=34 -DQ_=35 -SQ_=36 -BQ_=37 -QUESTION_=38 -AT_=39 -SEMI_=40 -JSONSEPARATOR_=41 -UL_=42 -WS=43 -TRUE=44 -FALSE=45 -CREATE=46 -ALTER=47 -DROP=48 -SHOW=49 -RULE=50 -FROM=51 -READWRITE_SPLITTING=52 -WRITE_STORAGE_UNIT=53 -READ_STORAGE_UNITS=54 -TRANSACTIONAL_READ_QUERY_STRATEGY=55 -TYPE=56 -NAME=57 -PROPERTIES=58 -RULES=59 -RESOURCES=60 -STATUS=61 -ENABLE=62 -DISABLE=63 -READ=64 -IF=65 -EXISTS=66 -COUNT=67 -ROUND_ROBIN=68 -RANDOM=69 -WEIGHT=70 -NOT=71 -FOR_GENERATOR=72 -IDENTIFIER_=73 -STRING_=74 -INT_=75 -HEX_=76 -NUMBER_=77 -HEXDIGIT_=78 -BITNUM_=79 -'&&'=1 -'||'=2 -'!'=3 -'~'=4 -'|'=5 -'&'=6 -'<<'=7 -'>>'=8 -'^'=9 -'%'=10 -':'=11 -'+'=12 -'-'=13 -'*'=14 -'/'=15 -'\\'=16 -'.'=17 -'.*'=18 -'<=>'=19 -'=='=20 -'='=21 -'>'=23 -'>='=24 -'<'=25 -'<='=26 -'#'=27 -'('=28 -')'=29 -'{'=30 -'}'=31 -'['=32 -']'=33 -','=34 -'"'=35 -'\''=36 -'`'=37 -'?'=38 -'@'=39 -';'=40 -'->>'=41 -'_'=42 -'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=72 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementLexer.interp b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementLexer.interp deleted file mode 100644 index 3301b273..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementLexer.interp +++ /dev/null @@ -1,280 +0,0 @@ -token literal names: -null -'&&' -'||' -'!' -'~' -'|' -'&' -'<<' -'>>' -'^' -'%' -':' -'+' -'-' -'*' -'/' -'\\' -'.' -'.*' -'<=>' -'==' -'=' -null -'>' -'>=' -'<' -'<=' -'#' -'(' -')' -'{' -'}' -'[' -']' -',' -'"' -'\'' -'`' -'?' -'@' -';' -'->>' -'_' -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -'DO NOT MATCH ANY THING, JUST FOR GENERATOR' -null -null -null -null -null -null -null - -token symbolic names: -null -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ -WS -TRUE -FALSE -CREATE -ALTER -DROP -SHOW -RULE -FROM -READWRITE_SPLITTING -WRITE_STORAGE_UNIT -READ_STORAGE_UNITS -TRANSACTIONAL_READ_QUERY_STRATEGY -TYPE -NAME -PROPERTIES -RULES -RESOURCES -STATUS -ENABLE -DISABLE -READ -IF -EXISTS -COUNT -ROUND_ROBIN -RANDOM -WEIGHT -NOT -FOR_GENERATOR -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ - -rule names: -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ -WS -TRUE -FALSE -CREATE -ALTER -DROP -SHOW -RULE -FROM -READWRITE_SPLITTING -WRITE_STORAGE_UNIT -READ_STORAGE_UNITS -TRANSACTIONAL_READ_QUERY_STRATEGY -TYPE -NAME -PROPERTIES -RULES -RESOURCES -STATUS -ENABLE -DISABLE -READ -IF -EXISTS -COUNT -ROUND_ROBIN -RANDOM -WEIGHT -NOT -FOR_GENERATOR -A -B -C -D -E -F -G -H -I -J -K -L -M -N -O -P -Q -R -S -T -U -V -W -X -Y -Z -IDENTIFIER_ -STRING_ -INT_ -HEX_ -NUMBER_ -HEXDIGIT_ -BITNUM_ - -channel names: -DEFAULT_TOKEN_CHANNEL -HIDDEN - -mode names: -DEFAULT_MODE - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 81, 777, 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, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 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, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 268, 10, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 44, 6, 44, 315, 10, 44, 13, 44, 14, 44, 316, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 66, 3, 66, 3, 66, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 71, 3, 72, 3, 72, 3, 72, 3, 72, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 74, 3, 74, 3, 75, 3, 75, 3, 76, 3, 76, 3, 77, 3, 77, 3, 78, 3, 78, 3, 79, 3, 79, 3, 80, 3, 80, 3, 81, 3, 81, 3, 82, 3, 82, 3, 83, 3, 83, 3, 84, 3, 84, 3, 85, 3, 85, 3, 86, 3, 86, 3, 87, 3, 87, 3, 88, 3, 88, 3, 89, 3, 89, 3, 90, 3, 90, 3, 91, 3, 91, 3, 92, 3, 92, 3, 93, 3, 93, 3, 94, 3, 94, 3, 95, 3, 95, 3, 96, 3, 96, 3, 97, 3, 97, 3, 98, 3, 98, 3, 99, 3, 99, 3, 100, 7, 100, 663, 10, 100, 12, 100, 14, 100, 666, 11, 100, 3, 100, 6, 100, 669, 10, 100, 13, 100, 14, 100, 670, 3, 100, 7, 100, 674, 10, 100, 12, 100, 14, 100, 677, 11, 100, 3, 100, 3, 100, 6, 100, 681, 10, 100, 13, 100, 14, 100, 682, 3, 100, 3, 100, 5, 100, 687, 10, 100, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 7, 101, 695, 10, 101, 12, 101, 14, 101, 698, 11, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 7, 101, 708, 10, 101, 12, 101, 14, 101, 711, 11, 101, 3, 101, 3, 101, 5, 101, 715, 10, 101, 3, 102, 6, 102, 718, 10, 102, 13, 102, 14, 102, 719, 3, 103, 3, 103, 3, 104, 5, 104, 725, 10, 104, 3, 104, 5, 104, 728, 10, 104, 3, 104, 3, 104, 3, 104, 3, 104, 5, 104, 734, 10, 104, 3, 104, 3, 104, 5, 104, 738, 10, 104, 3, 105, 3, 105, 3, 105, 3, 105, 6, 105, 744, 10, 105, 13, 105, 14, 105, 745, 3, 105, 3, 105, 3, 105, 6, 105, 751, 10, 105, 13, 105, 14, 105, 752, 3, 105, 3, 105, 5, 105, 757, 10, 105, 3, 106, 3, 106, 3, 106, 3, 106, 6, 106, 763, 10, 106, 13, 106, 14, 106, 764, 3, 106, 3, 106, 3, 106, 6, 106, 770, 10, 106, 13, 106, 14, 106, 771, 3, 106, 3, 106, 5, 106, 776, 10, 106, 4, 664, 670, 2, 107, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, 91, 47, 93, 48, 95, 49, 97, 50, 99, 51, 101, 52, 103, 53, 105, 54, 107, 55, 109, 56, 111, 57, 113, 58, 115, 59, 117, 60, 119, 61, 121, 62, 123, 63, 125, 64, 127, 65, 129, 66, 131, 67, 133, 68, 135, 69, 137, 70, 139, 71, 141, 72, 143, 73, 145, 74, 147, 2, 149, 2, 151, 2, 153, 2, 155, 2, 157, 2, 159, 2, 161, 2, 163, 2, 165, 2, 167, 2, 169, 2, 171, 2, 173, 2, 175, 2, 177, 2, 179, 2, 181, 2, 183, 2, 185, 2, 187, 2, 189, 2, 191, 2, 193, 2, 195, 2, 197, 2, 199, 75, 201, 76, 203, 77, 205, 78, 207, 79, 209, 80, 211, 81, 3, 2, 36, 5, 2, 11, 12, 15, 15, 34, 34, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 7, 2, 38, 38, 50, 59, 67, 92, 97, 97, 99, 124, 6, 2, 38, 38, 67, 92, 97, 97, 99, 124, 3, 2, 98, 98, 4, 2, 36, 36, 94, 94, 4, 2, 41, 41, 94, 94, 3, 2, 50, 59, 5, 2, 50, 59, 67, 72, 99, 104, 2, 776, 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, 199, 3, 2, 2, 2, 2, 201, 3, 2, 2, 2, 2, 203, 3, 2, 2, 2, 2, 205, 3, 2, 2, 2, 2, 207, 3, 2, 2, 2, 2, 209, 3, 2, 2, 2, 2, 211, 3, 2, 2, 2, 3, 213, 3, 2, 2, 2, 5, 216, 3, 2, 2, 2, 7, 219, 3, 2, 2, 2, 9, 221, 3, 2, 2, 2, 11, 223, 3, 2, 2, 2, 13, 225, 3, 2, 2, 2, 15, 227, 3, 2, 2, 2, 17, 230, 3, 2, 2, 2, 19, 233, 3, 2, 2, 2, 21, 235, 3, 2, 2, 2, 23, 237, 3, 2, 2, 2, 25, 239, 3, 2, 2, 2, 27, 241, 3, 2, 2, 2, 29, 243, 3, 2, 2, 2, 31, 245, 3, 2, 2, 2, 33, 247, 3, 2, 2, 2, 35, 249, 3, 2, 2, 2, 37, 251, 3, 2, 2, 2, 39, 254, 3, 2, 2, 2, 41, 258, 3, 2, 2, 2, 43, 261, 3, 2, 2, 2, 45, 267, 3, 2, 2, 2, 47, 269, 3, 2, 2, 2, 49, 271, 3, 2, 2, 2, 51, 274, 3, 2, 2, 2, 53, 276, 3, 2, 2, 2, 55, 279, 3, 2, 2, 2, 57, 281, 3, 2, 2, 2, 59, 283, 3, 2, 2, 2, 61, 285, 3, 2, 2, 2, 63, 287, 3, 2, 2, 2, 65, 289, 3, 2, 2, 2, 67, 291, 3, 2, 2, 2, 69, 293, 3, 2, 2, 2, 71, 295, 3, 2, 2, 2, 73, 297, 3, 2, 2, 2, 75, 299, 3, 2, 2, 2, 77, 301, 3, 2, 2, 2, 79, 303, 3, 2, 2, 2, 81, 305, 3, 2, 2, 2, 83, 307, 3, 2, 2, 2, 85, 311, 3, 2, 2, 2, 87, 314, 3, 2, 2, 2, 89, 320, 3, 2, 2, 2, 91, 325, 3, 2, 2, 2, 93, 331, 3, 2, 2, 2, 95, 338, 3, 2, 2, 2, 97, 344, 3, 2, 2, 2, 99, 349, 3, 2, 2, 2, 101, 354, 3, 2, 2, 2, 103, 359, 3, 2, 2, 2, 105, 364, 3, 2, 2, 2, 107, 384, 3, 2, 2, 2, 109, 403, 3, 2, 2, 2, 111, 422, 3, 2, 2, 2, 113, 456, 3, 2, 2, 2, 115, 461, 3, 2, 2, 2, 117, 466, 3, 2, 2, 2, 119, 477, 3, 2, 2, 2, 121, 483, 3, 2, 2, 2, 123, 493, 3, 2, 2, 2, 125, 500, 3, 2, 2, 2, 127, 507, 3, 2, 2, 2, 129, 515, 3, 2, 2, 2, 131, 520, 3, 2, 2, 2, 133, 523, 3, 2, 2, 2, 135, 530, 3, 2, 2, 2, 137, 536, 3, 2, 2, 2, 139, 548, 3, 2, 2, 2, 141, 555, 3, 2, 2, 2, 143, 562, 3, 2, 2, 2, 145, 566, 3, 2, 2, 2, 147, 609, 3, 2, 2, 2, 149, 611, 3, 2, 2, 2, 151, 613, 3, 2, 2, 2, 153, 615, 3, 2, 2, 2, 155, 617, 3, 2, 2, 2, 157, 619, 3, 2, 2, 2, 159, 621, 3, 2, 2, 2, 161, 623, 3, 2, 2, 2, 163, 625, 3, 2, 2, 2, 165, 627, 3, 2, 2, 2, 167, 629, 3, 2, 2, 2, 169, 631, 3, 2, 2, 2, 171, 633, 3, 2, 2, 2, 173, 635, 3, 2, 2, 2, 175, 637, 3, 2, 2, 2, 177, 639, 3, 2, 2, 2, 179, 641, 3, 2, 2, 2, 181, 643, 3, 2, 2, 2, 183, 645, 3, 2, 2, 2, 185, 647, 3, 2, 2, 2, 187, 649, 3, 2, 2, 2, 189, 651, 3, 2, 2, 2, 191, 653, 3, 2, 2, 2, 193, 655, 3, 2, 2, 2, 195, 657, 3, 2, 2, 2, 197, 659, 3, 2, 2, 2, 199, 686, 3, 2, 2, 2, 201, 714, 3, 2, 2, 2, 203, 717, 3, 2, 2, 2, 205, 721, 3, 2, 2, 2, 207, 724, 3, 2, 2, 2, 209, 756, 3, 2, 2, 2, 211, 775, 3, 2, 2, 2, 213, 214, 7, 40, 2, 2, 214, 215, 7, 40, 2, 2, 215, 4, 3, 2, 2, 2, 216, 217, 7, 126, 2, 2, 217, 218, 7, 126, 2, 2, 218, 6, 3, 2, 2, 2, 219, 220, 7, 35, 2, 2, 220, 8, 3, 2, 2, 2, 221, 222, 7, 128, 2, 2, 222, 10, 3, 2, 2, 2, 223, 224, 7, 126, 2, 2, 224, 12, 3, 2, 2, 2, 225, 226, 7, 40, 2, 2, 226, 14, 3, 2, 2, 2, 227, 228, 7, 62, 2, 2, 228, 229, 7, 62, 2, 2, 229, 16, 3, 2, 2, 2, 230, 231, 7, 64, 2, 2, 231, 232, 7, 64, 2, 2, 232, 18, 3, 2, 2, 2, 233, 234, 7, 96, 2, 2, 234, 20, 3, 2, 2, 2, 235, 236, 7, 39, 2, 2, 236, 22, 3, 2, 2, 2, 237, 238, 7, 60, 2, 2, 238, 24, 3, 2, 2, 2, 239, 240, 7, 45, 2, 2, 240, 26, 3, 2, 2, 2, 241, 242, 7, 47, 2, 2, 242, 28, 3, 2, 2, 2, 243, 244, 7, 44, 2, 2, 244, 30, 3, 2, 2, 2, 245, 246, 7, 49, 2, 2, 246, 32, 3, 2, 2, 2, 247, 248, 7, 94, 2, 2, 248, 34, 3, 2, 2, 2, 249, 250, 7, 48, 2, 2, 250, 36, 3, 2, 2, 2, 251, 252, 7, 48, 2, 2, 252, 253, 7, 44, 2, 2, 253, 38, 3, 2, 2, 2, 254, 255, 7, 62, 2, 2, 255, 256, 7, 63, 2, 2, 256, 257, 7, 64, 2, 2, 257, 40, 3, 2, 2, 2, 258, 259, 7, 63, 2, 2, 259, 260, 7, 63, 2, 2, 260, 42, 3, 2, 2, 2, 261, 262, 7, 63, 2, 2, 262, 44, 3, 2, 2, 2, 263, 264, 7, 62, 2, 2, 264, 268, 7, 64, 2, 2, 265, 266, 7, 35, 2, 2, 266, 268, 7, 63, 2, 2, 267, 263, 3, 2, 2, 2, 267, 265, 3, 2, 2, 2, 268, 46, 3, 2, 2, 2, 269, 270, 7, 64, 2, 2, 270, 48, 3, 2, 2, 2, 271, 272, 7, 64, 2, 2, 272, 273, 7, 63, 2, 2, 273, 50, 3, 2, 2, 2, 274, 275, 7, 62, 2, 2, 275, 52, 3, 2, 2, 2, 276, 277, 7, 62, 2, 2, 277, 278, 7, 63, 2, 2, 278, 54, 3, 2, 2, 2, 279, 280, 7, 37, 2, 2, 280, 56, 3, 2, 2, 2, 281, 282, 7, 42, 2, 2, 282, 58, 3, 2, 2, 2, 283, 284, 7, 43, 2, 2, 284, 60, 3, 2, 2, 2, 285, 286, 7, 125, 2, 2, 286, 62, 3, 2, 2, 2, 287, 288, 7, 127, 2, 2, 288, 64, 3, 2, 2, 2, 289, 290, 7, 93, 2, 2, 290, 66, 3, 2, 2, 2, 291, 292, 7, 95, 2, 2, 292, 68, 3, 2, 2, 2, 293, 294, 7, 46, 2, 2, 294, 70, 3, 2, 2, 2, 295, 296, 7, 36, 2, 2, 296, 72, 3, 2, 2, 2, 297, 298, 7, 41, 2, 2, 298, 74, 3, 2, 2, 2, 299, 300, 7, 98, 2, 2, 300, 76, 3, 2, 2, 2, 301, 302, 7, 65, 2, 2, 302, 78, 3, 2, 2, 2, 303, 304, 7, 66, 2, 2, 304, 80, 3, 2, 2, 2, 305, 306, 7, 61, 2, 2, 306, 82, 3, 2, 2, 2, 307, 308, 7, 47, 2, 2, 308, 309, 7, 64, 2, 2, 309, 310, 7, 64, 2, 2, 310, 84, 3, 2, 2, 2, 311, 312, 7, 97, 2, 2, 312, 86, 3, 2, 2, 2, 313, 315, 9, 2, 2, 2, 314, 313, 3, 2, 2, 2, 315, 316, 3, 2, 2, 2, 316, 314, 3, 2, 2, 2, 316, 317, 3, 2, 2, 2, 317, 318, 3, 2, 2, 2, 318, 319, 8, 44, 2, 2, 319, 88, 3, 2, 2, 2, 320, 321, 5, 185, 93, 2, 321, 322, 5, 181, 91, 2, 322, 323, 5, 187, 94, 2, 323, 324, 5, 155, 78, 2, 324, 90, 3, 2, 2, 2, 325, 326, 5, 157, 79, 2, 326, 327, 5, 147, 74, 2, 327, 328, 5, 169, 85, 2, 328, 329, 5, 183, 92, 2, 329, 330, 5, 155, 78, 2, 330, 92, 3, 2, 2, 2, 331, 332, 5, 151, 76, 2, 332, 333, 5, 181, 91, 2, 333, 334, 5, 155, 78, 2, 334, 335, 5, 147, 74, 2, 335, 336, 5, 185, 93, 2, 336, 337, 5, 155, 78, 2, 337, 94, 3, 2, 2, 2, 338, 339, 5, 147, 74, 2, 339, 340, 5, 169, 85, 2, 340, 341, 5, 185, 93, 2, 341, 342, 5, 155, 78, 2, 342, 343, 5, 181, 91, 2, 343, 96, 3, 2, 2, 2, 344, 345, 5, 153, 77, 2, 345, 346, 5, 181, 91, 2, 346, 347, 5, 175, 88, 2, 347, 348, 5, 177, 89, 2, 348, 98, 3, 2, 2, 2, 349, 350, 5, 183, 92, 2, 350, 351, 5, 161, 81, 2, 351, 352, 5, 175, 88, 2, 352, 353, 5, 191, 96, 2, 353, 100, 3, 2, 2, 2, 354, 355, 5, 181, 91, 2, 355, 356, 5, 187, 94, 2, 356, 357, 5, 169, 85, 2, 357, 358, 5, 155, 78, 2, 358, 102, 3, 2, 2, 2, 359, 360, 5, 157, 79, 2, 360, 361, 5, 181, 91, 2, 361, 362, 5, 175, 88, 2, 362, 363, 5, 171, 86, 2, 363, 104, 3, 2, 2, 2, 364, 365, 5, 181, 91, 2, 365, 366, 5, 155, 78, 2, 366, 367, 5, 147, 74, 2, 367, 368, 5, 153, 77, 2, 368, 369, 5, 191, 96, 2, 369, 370, 5, 181, 91, 2, 370, 371, 5, 163, 82, 2, 371, 372, 5, 185, 93, 2, 372, 373, 5, 155, 78, 2, 373, 374, 5, 85, 43, 2, 374, 375, 5, 183, 92, 2, 375, 376, 5, 177, 89, 2, 376, 377, 5, 169, 85, 2, 377, 378, 5, 163, 82, 2, 378, 379, 5, 185, 93, 2, 379, 380, 5, 185, 93, 2, 380, 381, 5, 163, 82, 2, 381, 382, 5, 173, 87, 2, 382, 383, 5, 159, 80, 2, 383, 106, 3, 2, 2, 2, 384, 385, 5, 191, 96, 2, 385, 386, 5, 181, 91, 2, 386, 387, 5, 163, 82, 2, 387, 388, 5, 185, 93, 2, 388, 389, 5, 155, 78, 2, 389, 390, 5, 85, 43, 2, 390, 391, 5, 183, 92, 2, 391, 392, 5, 185, 93, 2, 392, 393, 5, 175, 88, 2, 393, 394, 5, 181, 91, 2, 394, 395, 5, 147, 74, 2, 395, 396, 5, 159, 80, 2, 396, 397, 5, 155, 78, 2, 397, 398, 5, 85, 43, 2, 398, 399, 5, 187, 94, 2, 399, 400, 5, 173, 87, 2, 400, 401, 5, 163, 82, 2, 401, 402, 5, 185, 93, 2, 402, 108, 3, 2, 2, 2, 403, 404, 5, 181, 91, 2, 404, 405, 5, 155, 78, 2, 405, 406, 5, 147, 74, 2, 406, 407, 5, 153, 77, 2, 407, 408, 5, 85, 43, 2, 408, 409, 5, 183, 92, 2, 409, 410, 5, 185, 93, 2, 410, 411, 5, 175, 88, 2, 411, 412, 5, 181, 91, 2, 412, 413, 5, 147, 74, 2, 413, 414, 5, 159, 80, 2, 414, 415, 5, 155, 78, 2, 415, 416, 5, 85, 43, 2, 416, 417, 5, 187, 94, 2, 417, 418, 5, 173, 87, 2, 418, 419, 5, 163, 82, 2, 419, 420, 5, 185, 93, 2, 420, 421, 5, 183, 92, 2, 421, 110, 3, 2, 2, 2, 422, 423, 5, 185, 93, 2, 423, 424, 5, 181, 91, 2, 424, 425, 5, 147, 74, 2, 425, 426, 5, 173, 87, 2, 426, 427, 5, 183, 92, 2, 427, 428, 5, 147, 74, 2, 428, 429, 5, 151, 76, 2, 429, 430, 5, 185, 93, 2, 430, 431, 5, 163, 82, 2, 431, 432, 5, 175, 88, 2, 432, 433, 5, 173, 87, 2, 433, 434, 5, 147, 74, 2, 434, 435, 5, 169, 85, 2, 435, 436, 5, 85, 43, 2, 436, 437, 5, 181, 91, 2, 437, 438, 5, 155, 78, 2, 438, 439, 5, 147, 74, 2, 439, 440, 5, 153, 77, 2, 440, 441, 5, 85, 43, 2, 441, 442, 5, 179, 90, 2, 442, 443, 5, 187, 94, 2, 443, 444, 5, 155, 78, 2, 444, 445, 5, 181, 91, 2, 445, 446, 5, 195, 98, 2, 446, 447, 5, 85, 43, 2, 447, 448, 5, 183, 92, 2, 448, 449, 5, 185, 93, 2, 449, 450, 5, 181, 91, 2, 450, 451, 5, 147, 74, 2, 451, 452, 5, 185, 93, 2, 452, 453, 5, 155, 78, 2, 453, 454, 5, 159, 80, 2, 454, 455, 5, 195, 98, 2, 455, 112, 3, 2, 2, 2, 456, 457, 5, 185, 93, 2, 457, 458, 5, 195, 98, 2, 458, 459, 5, 177, 89, 2, 459, 460, 5, 155, 78, 2, 460, 114, 3, 2, 2, 2, 461, 462, 5, 173, 87, 2, 462, 463, 5, 147, 74, 2, 463, 464, 5, 171, 86, 2, 464, 465, 5, 155, 78, 2, 465, 116, 3, 2, 2, 2, 466, 467, 5, 177, 89, 2, 467, 468, 5, 181, 91, 2, 468, 469, 5, 175, 88, 2, 469, 470, 5, 177, 89, 2, 470, 471, 5, 155, 78, 2, 471, 472, 5, 181, 91, 2, 472, 473, 5, 185, 93, 2, 473, 474, 5, 163, 82, 2, 474, 475, 5, 155, 78, 2, 475, 476, 5, 183, 92, 2, 476, 118, 3, 2, 2, 2, 477, 478, 5, 181, 91, 2, 478, 479, 5, 187, 94, 2, 479, 480, 5, 169, 85, 2, 480, 481, 5, 155, 78, 2, 481, 482, 5, 183, 92, 2, 482, 120, 3, 2, 2, 2, 483, 484, 5, 181, 91, 2, 484, 485, 5, 155, 78, 2, 485, 486, 5, 183, 92, 2, 486, 487, 5, 175, 88, 2, 487, 488, 5, 187, 94, 2, 488, 489, 5, 181, 91, 2, 489, 490, 5, 151, 76, 2, 490, 491, 5, 155, 78, 2, 491, 492, 5, 183, 92, 2, 492, 122, 3, 2, 2, 2, 493, 494, 5, 183, 92, 2, 494, 495, 5, 185, 93, 2, 495, 496, 5, 147, 74, 2, 496, 497, 5, 185, 93, 2, 497, 498, 5, 187, 94, 2, 498, 499, 5, 183, 92, 2, 499, 124, 3, 2, 2, 2, 500, 501, 5, 155, 78, 2, 501, 502, 5, 173, 87, 2, 502, 503, 5, 147, 74, 2, 503, 504, 5, 149, 75, 2, 504, 505, 5, 169, 85, 2, 505, 506, 5, 155, 78, 2, 506, 126, 3, 2, 2, 2, 507, 508, 5, 153, 77, 2, 508, 509, 5, 163, 82, 2, 509, 510, 5, 183, 92, 2, 510, 511, 5, 147, 74, 2, 511, 512, 5, 149, 75, 2, 512, 513, 5, 169, 85, 2, 513, 514, 5, 155, 78, 2, 514, 128, 3, 2, 2, 2, 515, 516, 5, 181, 91, 2, 516, 517, 5, 155, 78, 2, 517, 518, 5, 147, 74, 2, 518, 519, 5, 153, 77, 2, 519, 130, 3, 2, 2, 2, 520, 521, 5, 163, 82, 2, 521, 522, 5, 157, 79, 2, 522, 132, 3, 2, 2, 2, 523, 524, 5, 155, 78, 2, 524, 525, 5, 193, 97, 2, 525, 526, 5, 163, 82, 2, 526, 527, 5, 183, 92, 2, 527, 528, 5, 185, 93, 2, 528, 529, 5, 183, 92, 2, 529, 134, 3, 2, 2, 2, 530, 531, 5, 151, 76, 2, 531, 532, 5, 175, 88, 2, 532, 533, 5, 187, 94, 2, 533, 534, 5, 173, 87, 2, 534, 535, 5, 185, 93, 2, 535, 136, 3, 2, 2, 2, 536, 537, 5, 181, 91, 2, 537, 538, 5, 175, 88, 2, 538, 539, 5, 187, 94, 2, 539, 540, 5, 173, 87, 2, 540, 541, 5, 153, 77, 2, 541, 542, 5, 85, 43, 2, 542, 543, 5, 181, 91, 2, 543, 544, 5, 175, 88, 2, 544, 545, 5, 149, 75, 2, 545, 546, 5, 163, 82, 2, 546, 547, 5, 173, 87, 2, 547, 138, 3, 2, 2, 2, 548, 549, 5, 181, 91, 2, 549, 550, 5, 147, 74, 2, 550, 551, 5, 173, 87, 2, 551, 552, 5, 153, 77, 2, 552, 553, 5, 175, 88, 2, 553, 554, 5, 171, 86, 2, 554, 140, 3, 2, 2, 2, 555, 556, 5, 191, 96, 2, 556, 557, 5, 155, 78, 2, 557, 558, 5, 163, 82, 2, 558, 559, 5, 159, 80, 2, 559, 560, 5, 161, 81, 2, 560, 561, 5, 185, 93, 2, 561, 142, 3, 2, 2, 2, 562, 563, 5, 173, 87, 2, 563, 564, 5, 175, 88, 2, 564, 565, 5, 185, 93, 2, 565, 144, 3, 2, 2, 2, 566, 567, 7, 70, 2, 2, 567, 568, 7, 81, 2, 2, 568, 569, 7, 34, 2, 2, 569, 570, 7, 80, 2, 2, 570, 571, 7, 81, 2, 2, 571, 572, 7, 86, 2, 2, 572, 573, 7, 34, 2, 2, 573, 574, 7, 79, 2, 2, 574, 575, 7, 67, 2, 2, 575, 576, 7, 86, 2, 2, 576, 577, 7, 69, 2, 2, 577, 578, 7, 74, 2, 2, 578, 579, 7, 34, 2, 2, 579, 580, 7, 67, 2, 2, 580, 581, 7, 80, 2, 2, 581, 582, 7, 91, 2, 2, 582, 583, 7, 34, 2, 2, 583, 584, 7, 86, 2, 2, 584, 585, 7, 74, 2, 2, 585, 586, 7, 75, 2, 2, 586, 587, 7, 80, 2, 2, 587, 588, 7, 73, 2, 2, 588, 589, 7, 46, 2, 2, 589, 590, 7, 34, 2, 2, 590, 591, 7, 76, 2, 2, 591, 592, 7, 87, 2, 2, 592, 593, 7, 85, 2, 2, 593, 594, 7, 86, 2, 2, 594, 595, 7, 34, 2, 2, 595, 596, 7, 72, 2, 2, 596, 597, 7, 81, 2, 2, 597, 598, 7, 84, 2, 2, 598, 599, 7, 34, 2, 2, 599, 600, 7, 73, 2, 2, 600, 601, 7, 71, 2, 2, 601, 602, 7, 80, 2, 2, 602, 603, 7, 71, 2, 2, 603, 604, 7, 84, 2, 2, 604, 605, 7, 67, 2, 2, 605, 606, 7, 86, 2, 2, 606, 607, 7, 81, 2, 2, 607, 608, 7, 84, 2, 2, 608, 146, 3, 2, 2, 2, 609, 610, 9, 3, 2, 2, 610, 148, 3, 2, 2, 2, 611, 612, 9, 4, 2, 2, 612, 150, 3, 2, 2, 2, 613, 614, 9, 5, 2, 2, 614, 152, 3, 2, 2, 2, 615, 616, 9, 6, 2, 2, 616, 154, 3, 2, 2, 2, 617, 618, 9, 7, 2, 2, 618, 156, 3, 2, 2, 2, 619, 620, 9, 8, 2, 2, 620, 158, 3, 2, 2, 2, 621, 622, 9, 9, 2, 2, 622, 160, 3, 2, 2, 2, 623, 624, 9, 10, 2, 2, 624, 162, 3, 2, 2, 2, 625, 626, 9, 11, 2, 2, 626, 164, 3, 2, 2, 2, 627, 628, 9, 12, 2, 2, 628, 166, 3, 2, 2, 2, 629, 630, 9, 13, 2, 2, 630, 168, 3, 2, 2, 2, 631, 632, 9, 14, 2, 2, 632, 170, 3, 2, 2, 2, 633, 634, 9, 15, 2, 2, 634, 172, 3, 2, 2, 2, 635, 636, 9, 16, 2, 2, 636, 174, 3, 2, 2, 2, 637, 638, 9, 17, 2, 2, 638, 176, 3, 2, 2, 2, 639, 640, 9, 18, 2, 2, 640, 178, 3, 2, 2, 2, 641, 642, 9, 19, 2, 2, 642, 180, 3, 2, 2, 2, 643, 644, 9, 20, 2, 2, 644, 182, 3, 2, 2, 2, 645, 646, 9, 21, 2, 2, 646, 184, 3, 2, 2, 2, 647, 648, 9, 22, 2, 2, 648, 186, 3, 2, 2, 2, 649, 650, 9, 23, 2, 2, 650, 188, 3, 2, 2, 2, 651, 652, 9, 24, 2, 2, 652, 190, 3, 2, 2, 2, 653, 654, 9, 25, 2, 2, 654, 192, 3, 2, 2, 2, 655, 656, 9, 26, 2, 2, 656, 194, 3, 2, 2, 2, 657, 658, 9, 27, 2, 2, 658, 196, 3, 2, 2, 2, 659, 660, 9, 28, 2, 2, 660, 198, 3, 2, 2, 2, 661, 663, 9, 29, 2, 2, 662, 661, 3, 2, 2, 2, 663, 666, 3, 2, 2, 2, 664, 665, 3, 2, 2, 2, 664, 662, 3, 2, 2, 2, 665, 668, 3, 2, 2, 2, 666, 664, 3, 2, 2, 2, 667, 669, 9, 30, 2, 2, 668, 667, 3, 2, 2, 2, 669, 670, 3, 2, 2, 2, 670, 671, 3, 2, 2, 2, 670, 668, 3, 2, 2, 2, 671, 675, 3, 2, 2, 2, 672, 674, 9, 29, 2, 2, 673, 672, 3, 2, 2, 2, 674, 677, 3, 2, 2, 2, 675, 673, 3, 2, 2, 2, 675, 676, 3, 2, 2, 2, 676, 687, 3, 2, 2, 2, 677, 675, 3, 2, 2, 2, 678, 680, 5, 75, 38, 2, 679, 681, 10, 31, 2, 2, 680, 679, 3, 2, 2, 2, 681, 682, 3, 2, 2, 2, 682, 680, 3, 2, 2, 2, 682, 683, 3, 2, 2, 2, 683, 684, 3, 2, 2, 2, 684, 685, 5, 75, 38, 2, 685, 687, 3, 2, 2, 2, 686, 664, 3, 2, 2, 2, 686, 678, 3, 2, 2, 2, 687, 200, 3, 2, 2, 2, 688, 696, 5, 71, 36, 2, 689, 690, 7, 94, 2, 2, 690, 695, 11, 2, 2, 2, 691, 692, 7, 36, 2, 2, 692, 695, 7, 36, 2, 2, 693, 695, 10, 32, 2, 2, 694, 689, 3, 2, 2, 2, 694, 691, 3, 2, 2, 2, 694, 693, 3, 2, 2, 2, 695, 698, 3, 2, 2, 2, 696, 694, 3, 2, 2, 2, 696, 697, 3, 2, 2, 2, 697, 699, 3, 2, 2, 2, 698, 696, 3, 2, 2, 2, 699, 700, 5, 71, 36, 2, 700, 715, 3, 2, 2, 2, 701, 709, 5, 73, 37, 2, 702, 703, 7, 94, 2, 2, 703, 708, 11, 2, 2, 2, 704, 705, 7, 41, 2, 2, 705, 708, 7, 41, 2, 2, 706, 708, 10, 33, 2, 2, 707, 702, 3, 2, 2, 2, 707, 704, 3, 2, 2, 2, 707, 706, 3, 2, 2, 2, 708, 711, 3, 2, 2, 2, 709, 707, 3, 2, 2, 2, 709, 710, 3, 2, 2, 2, 710, 712, 3, 2, 2, 2, 711, 709, 3, 2, 2, 2, 712, 713, 5, 73, 37, 2, 713, 715, 3, 2, 2, 2, 714, 688, 3, 2, 2, 2, 714, 701, 3, 2, 2, 2, 715, 202, 3, 2, 2, 2, 716, 718, 9, 34, 2, 2, 717, 716, 3, 2, 2, 2, 718, 719, 3, 2, 2, 2, 719, 717, 3, 2, 2, 2, 719, 720, 3, 2, 2, 2, 720, 204, 3, 2, 2, 2, 721, 722, 9, 35, 2, 2, 722, 206, 3, 2, 2, 2, 723, 725, 5, 203, 102, 2, 724, 723, 3, 2, 2, 2, 724, 725, 3, 2, 2, 2, 725, 727, 3, 2, 2, 2, 726, 728, 5, 35, 18, 2, 727, 726, 3, 2, 2, 2, 727, 728, 3, 2, 2, 2, 728, 729, 3, 2, 2, 2, 729, 737, 5, 203, 102, 2, 730, 733, 5, 155, 78, 2, 731, 734, 5, 25, 13, 2, 732, 734, 5, 27, 14, 2, 733, 731, 3, 2, 2, 2, 733, 732, 3, 2, 2, 2, 733, 734, 3, 2, 2, 2, 734, 735, 3, 2, 2, 2, 735, 736, 5, 203, 102, 2, 736, 738, 3, 2, 2, 2, 737, 730, 3, 2, 2, 2, 737, 738, 3, 2, 2, 2, 738, 208, 3, 2, 2, 2, 739, 740, 7, 50, 2, 2, 740, 741, 7, 122, 2, 2, 741, 743, 3, 2, 2, 2, 742, 744, 5, 205, 103, 2, 743, 742, 3, 2, 2, 2, 744, 745, 3, 2, 2, 2, 745, 743, 3, 2, 2, 2, 745, 746, 3, 2, 2, 2, 746, 757, 3, 2, 2, 2, 747, 748, 7, 90, 2, 2, 748, 750, 5, 73, 37, 2, 749, 751, 5, 205, 103, 2, 750, 749, 3, 2, 2, 2, 751, 752, 3, 2, 2, 2, 752, 750, 3, 2, 2, 2, 752, 753, 3, 2, 2, 2, 753, 754, 3, 2, 2, 2, 754, 755, 5, 73, 37, 2, 755, 757, 3, 2, 2, 2, 756, 739, 3, 2, 2, 2, 756, 747, 3, 2, 2, 2, 757, 210, 3, 2, 2, 2, 758, 759, 7, 50, 2, 2, 759, 760, 7, 100, 2, 2, 760, 762, 3, 2, 2, 2, 761, 763, 4, 50, 51, 2, 762, 761, 3, 2, 2, 2, 763, 764, 3, 2, 2, 2, 764, 762, 3, 2, 2, 2, 764, 765, 3, 2, 2, 2, 765, 776, 3, 2, 2, 2, 766, 767, 5, 149, 75, 2, 767, 769, 5, 73, 37, 2, 768, 770, 4, 50, 51, 2, 769, 768, 3, 2, 2, 2, 770, 771, 3, 2, 2, 2, 771, 769, 3, 2, 2, 2, 771, 772, 3, 2, 2, 2, 772, 773, 3, 2, 2, 2, 773, 774, 5, 73, 37, 2, 774, 776, 3, 2, 2, 2, 775, 758, 3, 2, 2, 2, 775, 766, 3, 2, 2, 2, 776, 212, 3, 2, 2, 2, 26, 2, 267, 316, 664, 670, 675, 682, 686, 694, 696, 707, 709, 714, 719, 724, 727, 733, 737, 745, 752, 756, 764, 771, 775, 3, 8, 2, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementLexer.java b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementLexer.java deleted file mode 100644 index d3a6e45d..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementLexer.java +++ /dev/null @@ -1,424 +0,0 @@ -// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/RDLStatement.g4 by ANTLR 4.9.2 -import org.antlr.v4.runtime.Lexer; -import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.TokenStream; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.misc.*; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class RDLStatementLexer extends Lexer { - static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, - SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, - ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, - DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, - LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, - SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, - WS=43, TRUE=44, FALSE=45, CREATE=46, ALTER=47, DROP=48, SHOW=49, RULE=50, - FROM=51, READWRITE_SPLITTING=52, WRITE_STORAGE_UNIT=53, READ_STORAGE_UNITS=54, - TRANSACTIONAL_READ_QUERY_STRATEGY=55, TYPE=56, NAME=57, PROPERTIES=58, - RULES=59, RESOURCES=60, STATUS=61, ENABLE=62, DISABLE=63, READ=64, IF=65, - EXISTS=66, COUNT=67, ROUND_ROBIN=68, RANDOM=69, WEIGHT=70, NOT=71, FOR_GENERATOR=72, - IDENTIFIER_=73, STRING_=74, INT_=75, HEX_=76, NUMBER_=77, HEXDIGIT_=78, - BITNUM_=79; - public static String[] channelNames = { - "DEFAULT_TOKEN_CHANNEL", "HIDDEN" - }; - - public static String[] modeNames = { - "DEFAULT_MODE" - }; - - private static String[] makeRuleNames() { - return new String[] { - "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", - "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", - "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", - "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", - "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", - "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", "FALSE", "CREATE", "ALTER", - "DROP", "SHOW", "RULE", "FROM", "READWRITE_SPLITTING", "WRITE_STORAGE_UNIT", - "READ_STORAGE_UNITS", "TRANSACTIONAL_READ_QUERY_STRATEGY", "TYPE", "NAME", - "PROPERTIES", "RULES", "RESOURCES", "STATUS", "ENABLE", "DISABLE", "READ", - "IF", "EXISTS", "COUNT", "ROUND_ROBIN", "RANDOM", "WEIGHT", "NOT", "FOR_GENERATOR", - "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", - "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "IDENTIFIER_", - "STRING_", "INT_", "HEX_", "NUMBER_", "HEXDIGIT_", "BITNUM_" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", - "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", - "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", - "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", - "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", - "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", - "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", - "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", - "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", - "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", - "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", "FROM", "READWRITE_SPLITTING", - "WRITE_STORAGE_UNIT", "READ_STORAGE_UNITS", "TRANSACTIONAL_READ_QUERY_STRATEGY", - "TYPE", "NAME", "PROPERTIES", "RULES", "RESOURCES", "STATUS", "ENABLE", - "DISABLE", "READ", "IF", "EXISTS", "COUNT", "ROUND_ROBIN", "RANDOM", - "WEIGHT", "NOT", "FOR_GENERATOR", "IDENTIFIER_", "STRING_", "INT_", "HEX_", - "NUMBER_", "HEXDIGIT_", "BITNUM_" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - - public RDLStatementLexer(CharStream input) { - super(input); - _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - @Override - public String getGrammarFileName() { return "RDLStatement.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public String[] getChannelNames() { return channelNames; } - - @Override - public String[] getModeNames() { return modeNames; } - - @Override - public ATN getATN() { return _ATN; } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2Q\u0309\b\1\4\2\t"+ - "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ - "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ - "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ - "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ - "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ - ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ - "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ - "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+ - "\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+ - "\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+ - "`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\3\2\3"+ - "\2\3\2\3\3\3\3\3\3\3\4\3\4\3\5\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\t\3\t"+ - "\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3\17\3\17\3\20\3\20\3"+ - "\21\3\21\3\22\3\22\3\23\3\23\3\23\3\24\3\24\3\24\3\24\3\25\3\25\3\25\3"+ - "\26\3\26\3\27\3\27\3\27\3\27\5\27\u010c\n\27\3\30\3\30\3\31\3\31\3\31"+ - "\3\32\3\32\3\33\3\33\3\33\3\34\3\34\3\35\3\35\3\36\3\36\3\37\3\37\3 \3"+ - " \3!\3!\3\"\3\"\3#\3#\3$\3$\3%\3%\3&\3&\3\'\3\'\3(\3(\3)\3)\3*\3*\3*\3"+ - "*\3+\3+\3,\6,\u013b\n,\r,\16,\u013c\3,\3,\3-\3-\3-\3-\3-\3.\3.\3.\3.\3"+ - ".\3.\3/\3/\3/\3/\3/\3/\3/\3\60\3\60\3\60\3\60\3\60\3\60\3\61\3\61\3\61"+ - "\3\61\3\61\3\62\3\62\3\62\3\62\3\62\3\63\3\63\3\63\3\63\3\63\3\64\3\64"+ - "\3\64\3\64\3\64\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65"+ - "\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\65\3\66\3\66\3\66\3\66\3\66"+ - "\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\66"+ - "\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67"+ - "\3\67\3\67\3\67\3\67\3\67\38\38\38\38\38\38\38\38\38\38\38\38\38\38\3"+ - "8\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\39\39\39\3"+ - "9\39\3:\3:\3:\3:\3:\3;\3;\3;\3;\3;\3;\3;\3;\3;\3;\3;\3<\3<\3<\3<\3<\3"+ - "<\3=\3=\3=\3=\3=\3=\3=\3=\3=\3=\3>\3>\3>\3>\3>\3>\3>\3?\3?\3?\3?\3?\3"+ - "?\3?\3@\3@\3@\3@\3@\3@\3@\3@\3A\3A\3A\3A\3A\3B\3B\3B\3C\3C\3C\3C\3C\3"+ - "C\3C\3D\3D\3D\3D\3D\3D\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3E\3F\3F\3F\3"+ - "F\3F\3F\3F\3G\3G\3G\3G\3G\3G\3G\3H\3H\3H\3H\3I\3I\3I\3I\3I\3I\3I\3I\3"+ - "I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3"+ - "I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3I\3J\3J\3K\3K\3L\3L\3M\3M\3N\3N\3O\3"+ - "O\3P\3P\3Q\3Q\3R\3R\3S\3S\3T\3T\3U\3U\3V\3V\3W\3W\3X\3X\3Y\3Y\3Z\3Z\3"+ - "[\3[\3\\\3\\\3]\3]\3^\3^\3_\3_\3`\3`\3a\3a\3b\3b\3c\3c\3d\7d\u0297\nd"+ - "\fd\16d\u029a\13d\3d\6d\u029d\nd\rd\16d\u029e\3d\7d\u02a2\nd\fd\16d\u02a5"+ - "\13d\3d\3d\6d\u02a9\nd\rd\16d\u02aa\3d\3d\5d\u02af\nd\3e\3e\3e\3e\3e\3"+ - "e\7e\u02b7\ne\fe\16e\u02ba\13e\3e\3e\3e\3e\3e\3e\3e\3e\7e\u02c4\ne\fe"+ - "\16e\u02c7\13e\3e\3e\5e\u02cb\ne\3f\6f\u02ce\nf\rf\16f\u02cf\3g\3g\3h"+ - "\5h\u02d5\nh\3h\5h\u02d8\nh\3h\3h\3h\3h\5h\u02de\nh\3h\3h\5h\u02e2\nh"+ - "\3i\3i\3i\3i\6i\u02e8\ni\ri\16i\u02e9\3i\3i\3i\6i\u02ef\ni\ri\16i\u02f0"+ - "\3i\3i\5i\u02f5\ni\3j\3j\3j\3j\6j\u02fb\nj\rj\16j\u02fc\3j\3j\3j\6j\u0302"+ - "\nj\rj\16j\u0303\3j\3j\5j\u0308\nj\4\u0298\u029e\2k\3\3\5\4\7\5\t\6\13"+ - "\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\35\20\37\21!\22#\23%\24\'"+ - "\25)\26+\27-\30/\31\61\32\63\33\65\34\67\359\36;\37= ?!A\"C#E$G%I&K\'"+ - "M(O)Q*S+U,W-Y.[/]\60_\61a\62c\63e\64g\65i\66k\67m8o9q:s;u{?}@\177"+ - "A\u0081B\u0083C\u0085D\u0087E\u0089F\u008bG\u008dH\u008fI\u0091J\u0093"+ - "\2\u0095\2\u0097\2\u0099\2\u009b\2\u009d\2\u009f\2\u00a1\2\u00a3\2\u00a5"+ - "\2\u00a7\2\u00a9\2\u00ab\2\u00ad\2\u00af\2\u00b1\2\u00b3\2\u00b5\2\u00b7"+ - "\2\u00b9\2\u00bb\2\u00bd\2\u00bf\2\u00c1\2\u00c3\2\u00c5\2\u00c7K\u00c9"+ - "L\u00cbM\u00cdN\u00cfO\u00d1P\u00d3Q\3\2$\5\2\13\f\17\17\"\"\4\2CCcc\4"+ - "\2DDdd\4\2EEee\4\2FFff\4\2GGgg\4\2HHhh\4\2IIii\4\2JJjj\4\2KKkk\4\2LLl"+ - "l\4\2MMmm\4\2NNnn\4\2OOoo\4\2PPpp\4\2QQqq\4\2RRrr\4\2SSss\4\2TTtt\4\2"+ - "UUuu\4\2VVvv\4\2WWww\4\2XXxx\4\2YYyy\4\2ZZzz\4\2[[{{\4\2\\\\||\7\2&&\62"+ - ";C\\aac|\6\2&&C\\aac|\3\2bb\4\2$$^^\4\2))^^\3\2\62;\5\2\62;CHch\2\u0308"+ - "\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2"+ - "\2\2\2\17\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\31\3\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2"+ - "\2\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\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\29\3\2\2\2\2;\3"+ - "\2\2\2\2=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2"+ - "\2\2I\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2"+ - "U\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3\2\2\2\2a\3"+ - "\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3\2\2\2\2i\3\2\2\2\2k\3\2\2\2\2m\3\2\2"+ - "\2\2o\3\2\2\2\2q\3\2\2\2\2s\3\2\2\2\2u\3\2\2\2\2w\3\2\2\2\2y\3\2\2\2\2"+ - "{\3\2\2\2\2}\3\2\2\2\2\177\3\2\2\2\2\u0081\3\2\2\2\2\u0083\3\2\2\2\2\u0085"+ - "\3\2\2\2\2\u0087\3\2\2\2\2\u0089\3\2\2\2\2\u008b\3\2\2\2\2\u008d\3\2\2"+ - "\2\2\u008f\3\2\2\2\2\u0091\3\2\2\2\2\u00c7\3\2\2\2\2\u00c9\3\2\2\2\2\u00cb"+ - "\3\2\2\2\2\u00cd\3\2\2\2\2\u00cf\3\2\2\2\2\u00d1\3\2\2\2\2\u00d3\3\2\2"+ - "\2\3\u00d5\3\2\2\2\5\u00d8\3\2\2\2\7\u00db\3\2\2\2\t\u00dd\3\2\2\2\13"+ - "\u00df\3\2\2\2\r\u00e1\3\2\2\2\17\u00e3\3\2\2\2\21\u00e6\3\2\2\2\23\u00e9"+ - "\3\2\2\2\25\u00eb\3\2\2\2\27\u00ed\3\2\2\2\31\u00ef\3\2\2\2\33\u00f1\3"+ - "\2\2\2\35\u00f3\3\2\2\2\37\u00f5\3\2\2\2!\u00f7\3\2\2\2#\u00f9\3\2\2\2"+ - "%\u00fb\3\2\2\2\'\u00fe\3\2\2\2)\u0102\3\2\2\2+\u0105\3\2\2\2-\u010b\3"+ - "\2\2\2/\u010d\3\2\2\2\61\u010f\3\2\2\2\63\u0112\3\2\2\2\65\u0114\3\2\2"+ - "\2\67\u0117\3\2\2\29\u0119\3\2\2\2;\u011b\3\2\2\2=\u011d\3\2\2\2?\u011f"+ - "\3\2\2\2A\u0121\3\2\2\2C\u0123\3\2\2\2E\u0125\3\2\2\2G\u0127\3\2\2\2I"+ - "\u0129\3\2\2\2K\u012b\3\2\2\2M\u012d\3\2\2\2O\u012f\3\2\2\2Q\u0131\3\2"+ - "\2\2S\u0133\3\2\2\2U\u0137\3\2\2\2W\u013a\3\2\2\2Y\u0140\3\2\2\2[\u0145"+ - "\3\2\2\2]\u014b\3\2\2\2_\u0152\3\2\2\2a\u0158\3\2\2\2c\u015d\3\2\2\2e"+ - "\u0162\3\2\2\2g\u0167\3\2\2\2i\u016c\3\2\2\2k\u0180\3\2\2\2m\u0193\3\2"+ - "\2\2o\u01a6\3\2\2\2q\u01c8\3\2\2\2s\u01cd\3\2\2\2u\u01d2\3\2\2\2w\u01dd"+ - "\3\2\2\2y\u01e3\3\2\2\2{\u01ed\3\2\2\2}\u01f4\3\2\2\2\177\u01fb\3\2\2"+ - "\2\u0081\u0203\3\2\2\2\u0083\u0208\3\2\2\2\u0085\u020b\3\2\2\2\u0087\u0212"+ - "\3\2\2\2\u0089\u0218\3\2\2\2\u008b\u0224\3\2\2\2\u008d\u022b\3\2\2\2\u008f"+ - "\u0232\3\2\2\2\u0091\u0236\3\2\2\2\u0093\u0261\3\2\2\2\u0095\u0263\3\2"+ - "\2\2\u0097\u0265\3\2\2\2\u0099\u0267\3\2\2\2\u009b\u0269\3\2\2\2\u009d"+ - "\u026b\3\2\2\2\u009f\u026d\3\2\2\2\u00a1\u026f\3\2\2\2\u00a3\u0271\3\2"+ - "\2\2\u00a5\u0273\3\2\2\2\u00a7\u0275\3\2\2\2\u00a9\u0277\3\2\2\2\u00ab"+ - "\u0279\3\2\2\2\u00ad\u027b\3\2\2\2\u00af\u027d\3\2\2\2\u00b1\u027f\3\2"+ - "\2\2\u00b3\u0281\3\2\2\2\u00b5\u0283\3\2\2\2\u00b7\u0285\3\2\2\2\u00b9"+ - "\u0287\3\2\2\2\u00bb\u0289\3\2\2\2\u00bd\u028b\3\2\2\2\u00bf\u028d\3\2"+ - "\2\2\u00c1\u028f\3\2\2\2\u00c3\u0291\3\2\2\2\u00c5\u0293\3\2\2\2\u00c7"+ - "\u02ae\3\2\2\2\u00c9\u02ca\3\2\2\2\u00cb\u02cd\3\2\2\2\u00cd\u02d1\3\2"+ - "\2\2\u00cf\u02d4\3\2\2\2\u00d1\u02f4\3\2\2\2\u00d3\u0307\3\2\2\2\u00d5"+ - "\u00d6\7(\2\2\u00d6\u00d7\7(\2\2\u00d7\4\3\2\2\2\u00d8\u00d9\7~\2\2\u00d9"+ - "\u00da\7~\2\2\u00da\6\3\2\2\2\u00db\u00dc\7#\2\2\u00dc\b\3\2\2\2\u00dd"+ - "\u00de\7\u0080\2\2\u00de\n\3\2\2\2\u00df\u00e0\7~\2\2\u00e0\f\3\2\2\2"+ - "\u00e1\u00e2\7(\2\2\u00e2\16\3\2\2\2\u00e3\u00e4\7>\2\2\u00e4\u00e5\7"+ - ">\2\2\u00e5\20\3\2\2\2\u00e6\u00e7\7@\2\2\u00e7\u00e8\7@\2\2\u00e8\22"+ - "\3\2\2\2\u00e9\u00ea\7`\2\2\u00ea\24\3\2\2\2\u00eb\u00ec\7\'\2\2\u00ec"+ - "\26\3\2\2\2\u00ed\u00ee\7<\2\2\u00ee\30\3\2\2\2\u00ef\u00f0\7-\2\2\u00f0"+ - "\32\3\2\2\2\u00f1\u00f2\7/\2\2\u00f2\34\3\2\2\2\u00f3\u00f4\7,\2\2\u00f4"+ - "\36\3\2\2\2\u00f5\u00f6\7\61\2\2\u00f6 \3\2\2\2\u00f7\u00f8\7^\2\2\u00f8"+ - "\"\3\2\2\2\u00f9\u00fa\7\60\2\2\u00fa$\3\2\2\2\u00fb\u00fc\7\60\2\2\u00fc"+ - "\u00fd\7,\2\2\u00fd&\3\2\2\2\u00fe\u00ff\7>\2\2\u00ff\u0100\7?\2\2\u0100"+ - "\u0101\7@\2\2\u0101(\3\2\2\2\u0102\u0103\7?\2\2\u0103\u0104\7?\2\2\u0104"+ - "*\3\2\2\2\u0105\u0106\7?\2\2\u0106,\3\2\2\2\u0107\u0108\7>\2\2\u0108\u010c"+ - "\7@\2\2\u0109\u010a\7#\2\2\u010a\u010c\7?\2\2\u010b\u0107\3\2\2\2\u010b"+ - "\u0109\3\2\2\2\u010c.\3\2\2\2\u010d\u010e\7@\2\2\u010e\60\3\2\2\2\u010f"+ - "\u0110\7@\2\2\u0110\u0111\7?\2\2\u0111\62\3\2\2\2\u0112\u0113\7>\2\2\u0113"+ - "\64\3\2\2\2\u0114\u0115\7>\2\2\u0115\u0116\7?\2\2\u0116\66\3\2\2\2\u0117"+ - "\u0118\7%\2\2\u01188\3\2\2\2\u0119\u011a\7*\2\2\u011a:\3\2\2\2\u011b\u011c"+ - "\7+\2\2\u011c<\3\2\2\2\u011d\u011e\7}\2\2\u011e>\3\2\2\2\u011f\u0120\7"+ - "\177\2\2\u0120@\3\2\2\2\u0121\u0122\7]\2\2\u0122B\3\2\2\2\u0123\u0124"+ - "\7_\2\2\u0124D\3\2\2\2\u0125\u0126\7.\2\2\u0126F\3\2\2\2\u0127\u0128\7"+ - "$\2\2\u0128H\3\2\2\2\u0129\u012a\7)\2\2\u012aJ\3\2\2\2\u012b\u012c\7b"+ - "\2\2\u012cL\3\2\2\2\u012d\u012e\7A\2\2\u012eN\3\2\2\2\u012f\u0130\7B\2"+ - "\2\u0130P\3\2\2\2\u0131\u0132\7=\2\2\u0132R\3\2\2\2\u0133\u0134\7/\2\2"+ - "\u0134\u0135\7@\2\2\u0135\u0136\7@\2\2\u0136T\3\2\2\2\u0137\u0138\7a\2"+ - "\2\u0138V\3\2\2\2\u0139\u013b\t\2\2\2\u013a\u0139\3\2\2\2\u013b\u013c"+ - "\3\2\2\2\u013c\u013a\3\2\2\2\u013c\u013d\3\2\2\2\u013d\u013e\3\2\2\2\u013e"+ - "\u013f\b,\2\2\u013fX\3\2\2\2\u0140\u0141\5\u00b9]\2\u0141\u0142\5\u00b5"+ - "[\2\u0142\u0143\5\u00bb^\2\u0143\u0144\5\u009bN\2\u0144Z\3\2\2\2\u0145"+ - "\u0146\5\u009dO\2\u0146\u0147\5\u0093J\2\u0147\u0148\5\u00a9U\2\u0148"+ - "\u0149\5\u00b7\\\2\u0149\u014a\5\u009bN\2\u014a\\\3\2\2\2\u014b\u014c"+ - "\5\u0097L\2\u014c\u014d\5\u00b5[\2\u014d\u014e\5\u009bN\2\u014e\u014f"+ - "\5\u0093J\2\u014f\u0150\5\u00b9]\2\u0150\u0151\5\u009bN\2\u0151^\3\2\2"+ - "\2\u0152\u0153\5\u0093J\2\u0153\u0154\5\u00a9U\2\u0154\u0155\5\u00b9]"+ - "\2\u0155\u0156\5\u009bN\2\u0156\u0157\5\u00b5[\2\u0157`\3\2\2\2\u0158"+ - "\u0159\5\u0099M\2\u0159\u015a\5\u00b5[\2\u015a\u015b\5\u00afX\2\u015b"+ - "\u015c\5\u00b1Y\2\u015cb\3\2\2\2\u015d\u015e\5\u00b7\\\2\u015e\u015f\5"+ - "\u00a1Q\2\u015f\u0160\5\u00afX\2\u0160\u0161\5\u00bf`\2\u0161d\3\2\2\2"+ - "\u0162\u0163\5\u00b5[\2\u0163\u0164\5\u00bb^\2\u0164\u0165\5\u00a9U\2"+ - "\u0165\u0166\5\u009bN\2\u0166f\3\2\2\2\u0167\u0168\5\u009dO\2\u0168\u0169"+ - "\5\u00b5[\2\u0169\u016a\5\u00afX\2\u016a\u016b\5\u00abV\2\u016bh\3\2\2"+ - "\2\u016c\u016d\5\u00b5[\2\u016d\u016e\5\u009bN\2\u016e\u016f\5\u0093J"+ - "\2\u016f\u0170\5\u0099M\2\u0170\u0171\5\u00bf`\2\u0171\u0172\5\u00b5["+ - "\2\u0172\u0173\5\u00a3R\2\u0173\u0174\5\u00b9]\2\u0174\u0175\5\u009bN"+ - "\2\u0175\u0176\5U+\2\u0176\u0177\5\u00b7\\\2\u0177\u0178\5\u00b1Y\2\u0178"+ - "\u0179\5\u00a9U\2\u0179\u017a\5\u00a3R\2\u017a\u017b\5\u00b9]\2\u017b"+ - "\u017c\5\u00b9]\2\u017c\u017d\5\u00a3R\2\u017d\u017e\5\u00adW\2\u017e"+ - "\u017f\5\u009fP\2\u017fj\3\2\2\2\u0180\u0181\5\u00bf`\2\u0181\u0182\5"+ - "\u00b5[\2\u0182\u0183\5\u00a3R\2\u0183\u0184\5\u00b9]\2\u0184\u0185\5"+ - "\u009bN\2\u0185\u0186\5U+\2\u0186\u0187\5\u00b7\\\2\u0187\u0188\5\u00b9"+ - "]\2\u0188\u0189\5\u00afX\2\u0189\u018a\5\u00b5[\2\u018a\u018b\5\u0093"+ - "J\2\u018b\u018c\5\u009fP\2\u018c\u018d\5\u009bN\2\u018d\u018e\5U+\2\u018e"+ - "\u018f\5\u00bb^\2\u018f\u0190\5\u00adW\2\u0190\u0191\5\u00a3R\2\u0191"+ - "\u0192\5\u00b9]\2\u0192l\3\2\2\2\u0193\u0194\5\u00b5[\2\u0194\u0195\5"+ - "\u009bN\2\u0195\u0196\5\u0093J\2\u0196\u0197\5\u0099M\2\u0197\u0198\5"+ - "U+\2\u0198\u0199\5\u00b7\\\2\u0199\u019a\5\u00b9]\2\u019a\u019b\5\u00af"+ - "X\2\u019b\u019c\5\u00b5[\2\u019c\u019d\5\u0093J\2\u019d\u019e\5\u009f"+ - "P\2\u019e\u019f\5\u009bN\2\u019f\u01a0\5U+\2\u01a0\u01a1\5\u00bb^\2\u01a1"+ - "\u01a2\5\u00adW\2\u01a2\u01a3\5\u00a3R\2\u01a3\u01a4\5\u00b9]\2\u01a4"+ - "\u01a5\5\u00b7\\\2\u01a5n\3\2\2\2\u01a6\u01a7\5\u00b9]\2\u01a7\u01a8\5"+ - "\u00b5[\2\u01a8\u01a9\5\u0093J\2\u01a9\u01aa\5\u00adW\2\u01aa\u01ab\5"+ - "\u00b7\\\2\u01ab\u01ac\5\u0093J\2\u01ac\u01ad\5\u0097L\2\u01ad\u01ae\5"+ - "\u00b9]\2\u01ae\u01af\5\u00a3R\2\u01af\u01b0\5\u00afX\2\u01b0\u01b1\5"+ - "\u00adW\2\u01b1\u01b2\5\u0093J\2\u01b2\u01b3\5\u00a9U\2\u01b3\u01b4\5"+ - "U+\2\u01b4\u01b5\5\u00b5[\2\u01b5\u01b6\5\u009bN\2\u01b6\u01b7\5\u0093"+ - "J\2\u01b7\u01b8\5\u0099M\2\u01b8\u01b9\5U+\2\u01b9\u01ba\5\u00b3Z\2\u01ba"+ - "\u01bb\5\u00bb^\2\u01bb\u01bc\5\u009bN\2\u01bc\u01bd\5\u00b5[\2\u01bd"+ - "\u01be\5\u00c3b\2\u01be\u01bf\5U+\2\u01bf\u01c0\5\u00b7\\\2\u01c0\u01c1"+ - "\5\u00b9]\2\u01c1\u01c2\5\u00b5[\2\u01c2\u01c3\5\u0093J\2\u01c3\u01c4"+ - "\5\u00b9]\2\u01c4\u01c5\5\u009bN\2\u01c5\u01c6\5\u009fP\2\u01c6\u01c7"+ - "\5\u00c3b\2\u01c7p\3\2\2\2\u01c8\u01c9\5\u00b9]\2\u01c9\u01ca\5\u00c3"+ - "b\2\u01ca\u01cb\5\u00b1Y\2\u01cb\u01cc\5\u009bN\2\u01ccr\3\2\2\2\u01cd"+ - "\u01ce\5\u00adW\2\u01ce\u01cf\5\u0093J\2\u01cf\u01d0\5\u00abV\2\u01d0"+ - "\u01d1\5\u009bN\2\u01d1t\3\2\2\2\u01d2\u01d3\5\u00b1Y\2\u01d3\u01d4\5"+ - "\u00b5[\2\u01d4\u01d5\5\u00afX\2\u01d5\u01d6\5\u00b1Y\2\u01d6\u01d7\5"+ - "\u009bN\2\u01d7\u01d8\5\u00b5[\2\u01d8\u01d9\5\u00b9]\2\u01d9\u01da\5"+ - "\u00a3R\2\u01da\u01db\5\u009bN\2\u01db\u01dc\5\u00b7\\\2\u01dcv\3\2\2"+ - "\2\u01dd\u01de\5\u00b5[\2\u01de\u01df\5\u00bb^\2\u01df\u01e0\5\u00a9U"+ - "\2\u01e0\u01e1\5\u009bN\2\u01e1\u01e2\5\u00b7\\\2\u01e2x\3\2\2\2\u01e3"+ - "\u01e4\5\u00b5[\2\u01e4\u01e5\5\u009bN\2\u01e5\u01e6\5\u00b7\\\2\u01e6"+ - "\u01e7\5\u00afX\2\u01e7\u01e8\5\u00bb^\2\u01e8\u01e9\5\u00b5[\2\u01e9"+ - "\u01ea\5\u0097L\2\u01ea\u01eb\5\u009bN\2\u01eb\u01ec\5\u00b7\\\2\u01ec"+ - "z\3\2\2\2\u01ed\u01ee\5\u00b7\\\2\u01ee\u01ef\5\u00b9]\2\u01ef\u01f0\5"+ - "\u0093J\2\u01f0\u01f1\5\u00b9]\2\u01f1\u01f2\5\u00bb^\2\u01f2\u01f3\5"+ - "\u00b7\\\2\u01f3|\3\2\2\2\u01f4\u01f5\5\u009bN\2\u01f5\u01f6\5\u00adW"+ - "\2\u01f6\u01f7\5\u0093J\2\u01f7\u01f8\5\u0095K\2\u01f8\u01f9\5\u00a9U"+ - "\2\u01f9\u01fa\5\u009bN\2\u01fa~\3\2\2\2\u01fb\u01fc\5\u0099M\2\u01fc"+ - "\u01fd\5\u00a3R\2\u01fd\u01fe\5\u00b7\\\2\u01fe\u01ff\5\u0093J\2\u01ff"+ - "\u0200\5\u0095K\2\u0200\u0201\5\u00a9U\2\u0201\u0202\5\u009bN\2\u0202"+ - "\u0080\3\2\2\2\u0203\u0204\5\u00b5[\2\u0204\u0205\5\u009bN\2\u0205\u0206"+ - "\5\u0093J\2\u0206\u0207\5\u0099M\2\u0207\u0082\3\2\2\2\u0208\u0209\5\u00a3"+ - "R\2\u0209\u020a\5\u009dO\2\u020a\u0084\3\2\2\2\u020b\u020c\5\u009bN\2"+ - "\u020c\u020d\5\u00c1a\2\u020d\u020e\5\u00a3R\2\u020e\u020f\5\u00b7\\\2"+ - "\u020f\u0210\5\u00b9]\2\u0210\u0211\5\u00b7\\\2\u0211\u0086\3\2\2\2\u0212"+ - "\u0213\5\u0097L\2\u0213\u0214\5\u00afX\2\u0214\u0215\5\u00bb^\2\u0215"+ - "\u0216\5\u00adW\2\u0216\u0217\5\u00b9]\2\u0217\u0088\3\2\2\2\u0218\u0219"+ - "\5\u00b5[\2\u0219\u021a\5\u00afX\2\u021a\u021b\5\u00bb^\2\u021b\u021c"+ - "\5\u00adW\2\u021c\u021d\5\u0099M\2\u021d\u021e\5U+\2\u021e\u021f\5\u00b5"+ - "[\2\u021f\u0220\5\u00afX\2\u0220\u0221\5\u0095K\2\u0221\u0222\5\u00a3"+ - "R\2\u0222\u0223\5\u00adW\2\u0223\u008a\3\2\2\2\u0224\u0225\5\u00b5[\2"+ - "\u0225\u0226\5\u0093J\2\u0226\u0227\5\u00adW\2\u0227\u0228\5\u0099M\2"+ - "\u0228\u0229\5\u00afX\2\u0229\u022a\5\u00abV\2\u022a\u008c\3\2\2\2\u022b"+ - "\u022c\5\u00bf`\2\u022c\u022d\5\u009bN\2\u022d\u022e\5\u00a3R\2\u022e"+ - "\u022f\5\u009fP\2\u022f\u0230\5\u00a1Q\2\u0230\u0231\5\u00b9]\2\u0231"+ - "\u008e\3\2\2\2\u0232\u0233\5\u00adW\2\u0233\u0234\5\u00afX\2\u0234\u0235"+ - "\5\u00b9]\2\u0235\u0090\3\2\2\2\u0236\u0237\7F\2\2\u0237\u0238\7Q\2\2"+ - "\u0238\u0239\7\"\2\2\u0239\u023a\7P\2\2\u023a\u023b\7Q\2\2\u023b\u023c"+ - "\7V\2\2\u023c\u023d\7\"\2\2\u023d\u023e\7O\2\2\u023e\u023f\7C\2\2\u023f"+ - "\u0240\7V\2\2\u0240\u0241\7E\2\2\u0241\u0242\7J\2\2\u0242\u0243\7\"\2"+ - "\2\u0243\u0244\7C\2\2\u0244\u0245\7P\2\2\u0245\u0246\7[\2\2\u0246\u0247"+ - "\7\"\2\2\u0247\u0248\7V\2\2\u0248\u0249\7J\2\2\u0249\u024a\7K\2\2\u024a"+ - "\u024b\7P\2\2\u024b\u024c\7I\2\2\u024c\u024d\7.\2\2\u024d\u024e\7\"\2"+ - "\2\u024e\u024f\7L\2\2\u024f\u0250\7W\2\2\u0250\u0251\7U\2\2\u0251\u0252"+ - "\7V\2\2\u0252\u0253\7\"\2\2\u0253\u0254\7H\2\2\u0254\u0255\7Q\2\2\u0255"+ - "\u0256\7T\2\2\u0256\u0257\7\"\2\2\u0257\u0258\7I\2\2\u0258\u0259\7G\2"+ - "\2\u0259\u025a\7P\2\2\u025a\u025b\7G\2\2\u025b\u025c\7T\2\2\u025c\u025d"+ - "\7C\2\2\u025d\u025e\7V\2\2\u025e\u025f\7Q\2\2\u025f\u0260\7T\2\2\u0260"+ - "\u0092\3\2\2\2\u0261\u0262\t\3\2\2\u0262\u0094\3\2\2\2\u0263\u0264\t\4"+ - "\2\2\u0264\u0096\3\2\2\2\u0265\u0266\t\5\2\2\u0266\u0098\3\2\2\2\u0267"+ - "\u0268\t\6\2\2\u0268\u009a\3\2\2\2\u0269\u026a\t\7\2\2\u026a\u009c\3\2"+ - "\2\2\u026b\u026c\t\b\2\2\u026c\u009e\3\2\2\2\u026d\u026e\t\t\2\2\u026e"+ - "\u00a0\3\2\2\2\u026f\u0270\t\n\2\2\u0270\u00a2\3\2\2\2\u0271\u0272\t\13"+ - "\2\2\u0272\u00a4\3\2\2\2\u0273\u0274\t\f\2\2\u0274\u00a6\3\2\2\2\u0275"+ - "\u0276\t\r\2\2\u0276\u00a8\3\2\2\2\u0277\u0278\t\16\2\2\u0278\u00aa\3"+ - "\2\2\2\u0279\u027a\t\17\2\2\u027a\u00ac\3\2\2\2\u027b\u027c\t\20\2\2\u027c"+ - "\u00ae\3\2\2\2\u027d\u027e\t\21\2\2\u027e\u00b0\3\2\2\2\u027f\u0280\t"+ - "\22\2\2\u0280\u00b2\3\2\2\2\u0281\u0282\t\23\2\2\u0282\u00b4\3\2\2\2\u0283"+ - "\u0284\t\24\2\2\u0284\u00b6\3\2\2\2\u0285\u0286\t\25\2\2\u0286\u00b8\3"+ - "\2\2\2\u0287\u0288\t\26\2\2\u0288\u00ba\3\2\2\2\u0289\u028a\t\27\2\2\u028a"+ - "\u00bc\3\2\2\2\u028b\u028c\t\30\2\2\u028c\u00be\3\2\2\2\u028d\u028e\t"+ - "\31\2\2\u028e\u00c0\3\2\2\2\u028f\u0290\t\32\2\2\u0290\u00c2\3\2\2\2\u0291"+ - "\u0292\t\33\2\2\u0292\u00c4\3\2\2\2\u0293\u0294\t\34\2\2\u0294\u00c6\3"+ - "\2\2\2\u0295\u0297\t\35\2\2\u0296\u0295\3\2\2\2\u0297\u029a\3\2\2\2\u0298"+ - "\u0299\3\2\2\2\u0298\u0296\3\2\2\2\u0299\u029c\3\2\2\2\u029a\u0298\3\2"+ - "\2\2\u029b\u029d\t\36\2\2\u029c\u029b\3\2\2\2\u029d\u029e\3\2\2\2\u029e"+ - "\u029f\3\2\2\2\u029e\u029c\3\2\2\2\u029f\u02a3\3\2\2\2\u02a0\u02a2\t\35"+ - "\2\2\u02a1\u02a0\3\2\2\2\u02a2\u02a5\3\2\2\2\u02a3\u02a1\3\2\2\2\u02a3"+ - "\u02a4\3\2\2\2\u02a4\u02af\3\2\2\2\u02a5\u02a3\3\2\2\2\u02a6\u02a8\5K"+ - "&\2\u02a7\u02a9\n\37\2\2\u02a8\u02a7\3\2\2\2\u02a9\u02aa\3\2\2\2\u02aa"+ - "\u02a8\3\2\2\2\u02aa\u02ab\3\2\2\2\u02ab\u02ac\3\2\2\2\u02ac\u02ad\5K"+ - "&\2\u02ad\u02af\3\2\2\2\u02ae\u0298\3\2\2\2\u02ae\u02a6\3\2\2\2\u02af"+ - "\u00c8\3\2\2\2\u02b0\u02b8\5G$\2\u02b1\u02b2\7^\2\2\u02b2\u02b7\13\2\2"+ - "\2\u02b3\u02b4\7$\2\2\u02b4\u02b7\7$\2\2\u02b5\u02b7\n \2\2\u02b6\u02b1"+ - "\3\2\2\2\u02b6\u02b3\3\2\2\2\u02b6\u02b5\3\2\2\2\u02b7\u02ba\3\2\2\2\u02b8"+ - "\u02b6\3\2\2\2\u02b8\u02b9\3\2\2\2\u02b9\u02bb\3\2\2\2\u02ba\u02b8\3\2"+ - "\2\2\u02bb\u02bc\5G$\2\u02bc\u02cb\3\2\2\2\u02bd\u02c5\5I%\2\u02be\u02bf"+ - "\7^\2\2\u02bf\u02c4\13\2\2\2\u02c0\u02c1\7)\2\2\u02c1\u02c4\7)\2\2\u02c2"+ - "\u02c4\n!\2\2\u02c3\u02be\3\2\2\2\u02c3\u02c0\3\2\2\2\u02c3\u02c2\3\2"+ - "\2\2\u02c4\u02c7\3\2\2\2\u02c5\u02c3\3\2\2\2\u02c5\u02c6\3\2\2\2\u02c6"+ - "\u02c8\3\2\2\2\u02c7\u02c5\3\2\2\2\u02c8\u02c9\5I%\2\u02c9\u02cb\3\2\2"+ - "\2\u02ca\u02b0\3\2\2\2\u02ca\u02bd\3\2\2\2\u02cb\u00ca\3\2\2\2\u02cc\u02ce"+ - "\t\"\2\2\u02cd\u02cc\3\2\2\2\u02ce\u02cf\3\2\2\2\u02cf\u02cd\3\2\2\2\u02cf"+ - "\u02d0\3\2\2\2\u02d0\u00cc\3\2\2\2\u02d1\u02d2\t#\2\2\u02d2\u00ce\3\2"+ - "\2\2\u02d3\u02d5\5\u00cbf\2\u02d4\u02d3\3\2\2\2\u02d4\u02d5\3\2\2\2\u02d5"+ - "\u02d7\3\2\2\2\u02d6\u02d8\5#\22\2\u02d7\u02d6\3\2\2\2\u02d7\u02d8\3\2"+ - "\2\2\u02d8\u02d9\3\2\2\2\u02d9\u02e1\5\u00cbf\2\u02da\u02dd\5\u009bN\2"+ - "\u02db\u02de\5\31\r\2\u02dc\u02de\5\33\16\2\u02dd\u02db\3\2\2\2\u02dd"+ - "\u02dc\3\2\2\2\u02dd\u02de\3\2\2\2\u02de\u02df\3\2\2\2\u02df\u02e0\5\u00cb"+ - "f\2\u02e0\u02e2\3\2\2\2\u02e1\u02da\3\2\2\2\u02e1\u02e2\3\2\2\2\u02e2"+ - "\u00d0\3\2\2\2\u02e3\u02e4\7\62\2\2\u02e4\u02e5\7z\2\2\u02e5\u02e7\3\2"+ - "\2\2\u02e6\u02e8\5\u00cdg\2\u02e7\u02e6\3\2\2\2\u02e8\u02e9\3\2\2\2\u02e9"+ - "\u02e7\3\2\2\2\u02e9\u02ea\3\2\2\2\u02ea\u02f5\3\2\2\2\u02eb\u02ec\7Z"+ - "\2\2\u02ec\u02ee\5I%\2\u02ed\u02ef\5\u00cdg\2\u02ee\u02ed\3\2\2\2\u02ef"+ - "\u02f0\3\2\2\2\u02f0\u02ee\3\2\2\2\u02f0\u02f1\3\2\2\2\u02f1\u02f2\3\2"+ - "\2\2\u02f2\u02f3\5I%\2\u02f3\u02f5\3\2\2\2\u02f4\u02e3\3\2\2\2\u02f4\u02eb"+ - "\3\2\2\2\u02f5\u00d2\3\2\2\2\u02f6\u02f7\7\62\2\2\u02f7\u02f8\7d\2\2\u02f8"+ - "\u02fa\3\2\2\2\u02f9\u02fb\4\62\63\2\u02fa\u02f9\3\2\2\2\u02fb\u02fc\3"+ - "\2\2\2\u02fc\u02fa\3\2\2\2\u02fc\u02fd\3\2\2\2\u02fd\u0308\3\2\2\2\u02fe"+ - "\u02ff\5\u0095K\2\u02ff\u0301\5I%\2\u0300\u0302\4\62\63\2\u0301\u0300"+ - "\3\2\2\2\u0302\u0303\3\2\2\2\u0303\u0301\3\2\2\2\u0303\u0304\3\2\2\2\u0304"+ - "\u0305\3\2\2\2\u0305\u0306\5I%\2\u0306\u0308\3\2\2\2\u0307\u02f6\3\2\2"+ - "\2\u0307\u02fe\3\2\2\2\u0308\u00d4\3\2\2\2\32\2\u010b\u013c\u0298\u029e"+ - "\u02a3\u02aa\u02ae\u02b6\u02b8\u02c3\u02c5\u02ca\u02cf\u02d4\u02d7\u02dd"+ - "\u02e1\u02e9\u02f0\u02f4\u02fc\u0303\u0307\3\b\2\2"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementLexer.tokens b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementLexer.tokens deleted file mode 100644 index 8f1734a8..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementLexer.tokens +++ /dev/null @@ -1,121 +0,0 @@ -AND_=1 -OR_=2 -NOT_=3 -TILDE_=4 -VERTICALBAR_=5 -AMPERSAND_=6 -SIGNEDLEFTSHIFT_=7 -SIGNEDRIGHTSHIFT_=8 -CARET_=9 -MOD_=10 -COLON_=11 -PLUS_=12 -MINUS_=13 -ASTERISK_=14 -SLASH_=15 -BACKSLASH_=16 -DOT_=17 -DOTASTERISK_=18 -SAFEEQ_=19 -DEQ_=20 -EQ_=21 -NEQ_=22 -GT_=23 -GTE_=24 -LT_=25 -LTE_=26 -POUND_=27 -LP_=28 -RP_=29 -LBE_=30 -RBE_=31 -LBT_=32 -RBT_=33 -COMMA_=34 -DQ_=35 -SQ_=36 -BQ_=37 -QUESTION_=38 -AT_=39 -SEMI_=40 -JSONSEPARATOR_=41 -UL_=42 -WS=43 -TRUE=44 -FALSE=45 -CREATE=46 -ALTER=47 -DROP=48 -SHOW=49 -RULE=50 -FROM=51 -READWRITE_SPLITTING=52 -WRITE_STORAGE_UNIT=53 -READ_STORAGE_UNITS=54 -TRANSACTIONAL_READ_QUERY_STRATEGY=55 -TYPE=56 -NAME=57 -PROPERTIES=58 -RULES=59 -RESOURCES=60 -STATUS=61 -ENABLE=62 -DISABLE=63 -READ=64 -IF=65 -EXISTS=66 -COUNT=67 -ROUND_ROBIN=68 -RANDOM=69 -WEIGHT=70 -NOT=71 -FOR_GENERATOR=72 -IDENTIFIER_=73 -STRING_=74 -INT_=75 -HEX_=76 -NUMBER_=77 -HEXDIGIT_=78 -BITNUM_=79 -'&&'=1 -'||'=2 -'!'=3 -'~'=4 -'|'=5 -'&'=6 -'<<'=7 -'>>'=8 -'^'=9 -'%'=10 -':'=11 -'+'=12 -'-'=13 -'*'=14 -'/'=15 -'\\'=16 -'.'=17 -'.*'=18 -'<=>'=19 -'=='=20 -'='=21 -'>'=23 -'>='=24 -'<'=25 -'<='=26 -'#'=27 -'('=28 -')'=29 -'{'=30 -'}'=31 -'['=32 -']'=33 -','=34 -'"'=35 -'\''=36 -'`'=37 -'?'=38 -'@'=39 -';'=40 -'->>'=41 -'_'=42 -'DO NOT MATCH ANY THING, JUST FOR GENERATOR'=72 diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementParser.java b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementParser.java deleted file mode 100644 index 7d655b65..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/RDLStatementParser.java +++ /dev/null @@ -1,1312 +0,0 @@ -// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/RDLStatement.g4 by ANTLR 4.9.2 -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.misc.*; -import org.antlr.v4.runtime.tree.*; -import java.util.List; -import java.util.Iterator; -import java.util.ArrayList; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class RDLStatementParser extends Parser { - static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, - SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, - ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, - DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, - LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, - SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42, - WS=43, TRUE=44, FALSE=45, CREATE=46, ALTER=47, DROP=48, SHOW=49, RULE=50, - FROM=51, READWRITE_SPLITTING=52, WRITE_STORAGE_UNIT=53, READ_STORAGE_UNITS=54, - TRANSACTIONAL_READ_QUERY_STRATEGY=55, TYPE=56, NAME=57, PROPERTIES=58, - RULES=59, RESOURCES=60, STATUS=61, ENABLE=62, DISABLE=63, READ=64, IF=65, - EXISTS=66, COUNT=67, ROUND_ROBIN=68, RANDOM=69, WEIGHT=70, NOT=71, FOR_GENERATOR=72, - IDENTIFIER_=73, STRING_=74, INT_=75, HEX_=76, NUMBER_=77, HEXDIGIT_=78, - BITNUM_=79; - public static final int - RULE_createReadwriteSplittingRule = 0, RULE_alterReadwriteSplittingRule = 1, - RULE_dropReadwriteSplittingRule = 2, RULE_readwriteSplittingRuleDefinition = 3, - RULE_dataSourceDefinition = 4, RULE_ruleName = 5, RULE_writeStorageUnit = 6, - RULE_readStorageUnits = 7, RULE_transactionalReadQueryStrategy = 8, RULE_writeStorageUnitName = 9, - RULE_readStorageUnitsNames = 10, RULE_transactionalReadQueryStrategyName = 11, - RULE_ifExists = 12, RULE_ifNotExists = 13, RULE_literal = 14, RULE_algorithmDefinition = 15, - RULE_algorithmTypeName = 16, RULE_buildInReadQueryLoadBalanceAlgorithmType = 17, - RULE_propertiesDefinition = 18, RULE_properties = 19, RULE_property = 20, - RULE_databaseName = 21, RULE_groupName = 22, RULE_storageUnitName = 23; - private static String[] makeRuleNames() { - return new String[] { - "createReadwriteSplittingRule", "alterReadwriteSplittingRule", "dropReadwriteSplittingRule", - "readwriteSplittingRuleDefinition", "dataSourceDefinition", "ruleName", - "writeStorageUnit", "readStorageUnits", "transactionalReadQueryStrategy", - "writeStorageUnitName", "readStorageUnitsNames", "transactionalReadQueryStrategyName", - "ifExists", "ifNotExists", "literal", "algorithmDefinition", "algorithmTypeName", - "buildInReadQueryLoadBalanceAlgorithmType", "propertiesDefinition", "properties", - "property", "databaseName", "groupName", "storageUnitName" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", - "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", - "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", - "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", - "';'", "'->>'", "'_'", null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", - "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", - "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", - "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", - "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", - "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_", "WS", "TRUE", - "FALSE", "CREATE", "ALTER", "DROP", "SHOW", "RULE", "FROM", "READWRITE_SPLITTING", - "WRITE_STORAGE_UNIT", "READ_STORAGE_UNITS", "TRANSACTIONAL_READ_QUERY_STRATEGY", - "TYPE", "NAME", "PROPERTIES", "RULES", "RESOURCES", "STATUS", "ENABLE", - "DISABLE", "READ", "IF", "EXISTS", "COUNT", "ROUND_ROBIN", "RANDOM", - "WEIGHT", "NOT", "FOR_GENERATOR", "IDENTIFIER_", "STRING_", "INT_", "HEX_", - "NUMBER_", "HEXDIGIT_", "BITNUM_" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - @Override - public String getGrammarFileName() { return "RDLStatement.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public ATN getATN() { return _ATN; } - - public RDLStatementParser(TokenStream input) { - super(input); - _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - public static class CreateReadwriteSplittingRuleContext extends ParserRuleContext { - public TerminalNode CREATE() { return getToken(RDLStatementParser.CREATE, 0); } - public TerminalNode READWRITE_SPLITTING() { return getToken(RDLStatementParser.READWRITE_SPLITTING, 0); } - public TerminalNode RULE() { return getToken(RDLStatementParser.RULE, 0); } - public List readwriteSplittingRuleDefinition() { - return getRuleContexts(ReadwriteSplittingRuleDefinitionContext.class); - } - public ReadwriteSplittingRuleDefinitionContext readwriteSplittingRuleDefinition(int i) { - return getRuleContext(ReadwriteSplittingRuleDefinitionContext.class,i); - } - public IfNotExistsContext ifNotExists() { - return getRuleContext(IfNotExistsContext.class,0); - } - public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } - public TerminalNode COMMA_(int i) { - return getToken(RDLStatementParser.COMMA_, i); - } - public CreateReadwriteSplittingRuleContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_createReadwriteSplittingRule; } - } - - public final CreateReadwriteSplittingRuleContext createReadwriteSplittingRule() throws RecognitionException { - CreateReadwriteSplittingRuleContext _localctx = new CreateReadwriteSplittingRuleContext(_ctx, getState()); - enterRule(_localctx, 0, RULE_createReadwriteSplittingRule); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(48); - match(CREATE); - setState(49); - match(READWRITE_SPLITTING); - setState(50); - match(RULE); - setState(52); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==IF) { - { - setState(51); - ifNotExists(); - } - } - - setState(54); - readwriteSplittingRuleDefinition(); - setState(59); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA_) { - { - { - setState(55); - match(COMMA_); - setState(56); - readwriteSplittingRuleDefinition(); - } - } - setState(61); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AlterReadwriteSplittingRuleContext extends ParserRuleContext { - public TerminalNode ALTER() { return getToken(RDLStatementParser.ALTER, 0); } - public TerminalNode READWRITE_SPLITTING() { return getToken(RDLStatementParser.READWRITE_SPLITTING, 0); } - public TerminalNode RULE() { return getToken(RDLStatementParser.RULE, 0); } - public List readwriteSplittingRuleDefinition() { - return getRuleContexts(ReadwriteSplittingRuleDefinitionContext.class); - } - public ReadwriteSplittingRuleDefinitionContext readwriteSplittingRuleDefinition(int i) { - return getRuleContext(ReadwriteSplittingRuleDefinitionContext.class,i); - } - public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } - public TerminalNode COMMA_(int i) { - return getToken(RDLStatementParser.COMMA_, i); - } - public AlterReadwriteSplittingRuleContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_alterReadwriteSplittingRule; } - } - - public final AlterReadwriteSplittingRuleContext alterReadwriteSplittingRule() throws RecognitionException { - AlterReadwriteSplittingRuleContext _localctx = new AlterReadwriteSplittingRuleContext(_ctx, getState()); - enterRule(_localctx, 2, RULE_alterReadwriteSplittingRule); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(62); - match(ALTER); - setState(63); - match(READWRITE_SPLITTING); - setState(64); - match(RULE); - setState(65); - readwriteSplittingRuleDefinition(); - setState(70); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA_) { - { - { - setState(66); - match(COMMA_); - setState(67); - readwriteSplittingRuleDefinition(); - } - } - setState(72); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class DropReadwriteSplittingRuleContext extends ParserRuleContext { - public TerminalNode DROP() { return getToken(RDLStatementParser.DROP, 0); } - public TerminalNode READWRITE_SPLITTING() { return getToken(RDLStatementParser.READWRITE_SPLITTING, 0); } - public TerminalNode RULE() { return getToken(RDLStatementParser.RULE, 0); } - public List ruleName() { - return getRuleContexts(RuleNameContext.class); - } - public RuleNameContext ruleName(int i) { - return getRuleContext(RuleNameContext.class,i); - } - public IfExistsContext ifExists() { - return getRuleContext(IfExistsContext.class,0); - } - public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } - public TerminalNode COMMA_(int i) { - return getToken(RDLStatementParser.COMMA_, i); - } - public DropReadwriteSplittingRuleContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_dropReadwriteSplittingRule; } - } - - public final DropReadwriteSplittingRuleContext dropReadwriteSplittingRule() throws RecognitionException { - DropReadwriteSplittingRuleContext _localctx = new DropReadwriteSplittingRuleContext(_ctx, getState()); - enterRule(_localctx, 4, RULE_dropReadwriteSplittingRule); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(73); - match(DROP); - setState(74); - match(READWRITE_SPLITTING); - setState(75); - match(RULE); - setState(77); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==IF) { - { - setState(76); - ifExists(); - } - } - - setState(79); - ruleName(); - setState(84); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA_) { - { - { - setState(80); - match(COMMA_); - setState(81); - ruleName(); - } - } - setState(86); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ReadwriteSplittingRuleDefinitionContext extends ParserRuleContext { - public RuleNameContext ruleName() { - return getRuleContext(RuleNameContext.class,0); - } - public TerminalNode LP_() { return getToken(RDLStatementParser.LP_, 0); } - public DataSourceDefinitionContext dataSourceDefinition() { - return getRuleContext(DataSourceDefinitionContext.class,0); - } - public TerminalNode RP_() { return getToken(RDLStatementParser.RP_, 0); } - public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } - public TerminalNode COMMA_(int i) { - return getToken(RDLStatementParser.COMMA_, i); - } - public TransactionalReadQueryStrategyContext transactionalReadQueryStrategy() { - return getRuleContext(TransactionalReadQueryStrategyContext.class,0); - } - public AlgorithmDefinitionContext algorithmDefinition() { - return getRuleContext(AlgorithmDefinitionContext.class,0); - } - public ReadwriteSplittingRuleDefinitionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_readwriteSplittingRuleDefinition; } - } - - public final ReadwriteSplittingRuleDefinitionContext readwriteSplittingRuleDefinition() throws RecognitionException { - ReadwriteSplittingRuleDefinitionContext _localctx = new ReadwriteSplittingRuleDefinitionContext(_ctx, getState()); - enterRule(_localctx, 6, RULE_readwriteSplittingRuleDefinition); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(87); - ruleName(); - setState(88); - match(LP_); - setState(89); - dataSourceDefinition(); - setState(92); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,5,_ctx) ) { - case 1: - { - setState(90); - match(COMMA_); - setState(91); - transactionalReadQueryStrategy(); - } - break; - } - setState(96); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==COMMA_) { - { - setState(94); - match(COMMA_); - setState(95); - algorithmDefinition(); - } - } - - setState(98); - match(RP_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class DataSourceDefinitionContext extends ParserRuleContext { - public WriteStorageUnitContext writeStorageUnit() { - return getRuleContext(WriteStorageUnitContext.class,0); - } - public TerminalNode COMMA_() { return getToken(RDLStatementParser.COMMA_, 0); } - public ReadStorageUnitsContext readStorageUnits() { - return getRuleContext(ReadStorageUnitsContext.class,0); - } - public DataSourceDefinitionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_dataSourceDefinition; } - } - - public final DataSourceDefinitionContext dataSourceDefinition() throws RecognitionException { - DataSourceDefinitionContext _localctx = new DataSourceDefinitionContext(_ctx, getState()); - enterRule(_localctx, 8, RULE_dataSourceDefinition); - try { - enterOuterAlt(_localctx, 1); - { - setState(100); - writeStorageUnit(); - setState(101); - match(COMMA_); - setState(102); - readStorageUnits(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class RuleNameContext extends ParserRuleContext { - public TerminalNode IDENTIFIER_() { return getToken(RDLStatementParser.IDENTIFIER_, 0); } - public RuleNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_ruleName; } - } - - public final RuleNameContext ruleName() throws RecognitionException { - RuleNameContext _localctx = new RuleNameContext(_ctx, getState()); - enterRule(_localctx, 10, RULE_ruleName); - try { - enterOuterAlt(_localctx, 1); - { - setState(104); - match(IDENTIFIER_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class WriteStorageUnitContext extends ParserRuleContext { - public TerminalNode WRITE_STORAGE_UNIT() { return getToken(RDLStatementParser.WRITE_STORAGE_UNIT, 0); } - public TerminalNode EQ_() { return getToken(RDLStatementParser.EQ_, 0); } - public WriteStorageUnitNameContext writeStorageUnitName() { - return getRuleContext(WriteStorageUnitNameContext.class,0); - } - public WriteStorageUnitContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_writeStorageUnit; } - } - - public final WriteStorageUnitContext writeStorageUnit() throws RecognitionException { - WriteStorageUnitContext _localctx = new WriteStorageUnitContext(_ctx, getState()); - enterRule(_localctx, 12, RULE_writeStorageUnit); - try { - enterOuterAlt(_localctx, 1); - { - setState(106); - match(WRITE_STORAGE_UNIT); - setState(107); - match(EQ_); - setState(108); - writeStorageUnitName(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ReadStorageUnitsContext extends ParserRuleContext { - public TerminalNode READ_STORAGE_UNITS() { return getToken(RDLStatementParser.READ_STORAGE_UNITS, 0); } - public TerminalNode LP_() { return getToken(RDLStatementParser.LP_, 0); } - public ReadStorageUnitsNamesContext readStorageUnitsNames() { - return getRuleContext(ReadStorageUnitsNamesContext.class,0); - } - public TerminalNode RP_() { return getToken(RDLStatementParser.RP_, 0); } - public ReadStorageUnitsContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_readStorageUnits; } - } - - public final ReadStorageUnitsContext readStorageUnits() throws RecognitionException { - ReadStorageUnitsContext _localctx = new ReadStorageUnitsContext(_ctx, getState()); - enterRule(_localctx, 14, RULE_readStorageUnits); - try { - enterOuterAlt(_localctx, 1); - { - setState(110); - match(READ_STORAGE_UNITS); - setState(111); - match(LP_); - setState(112); - readStorageUnitsNames(); - setState(113); - match(RP_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TransactionalReadQueryStrategyContext extends ParserRuleContext { - public TerminalNode TRANSACTIONAL_READ_QUERY_STRATEGY() { return getToken(RDLStatementParser.TRANSACTIONAL_READ_QUERY_STRATEGY, 0); } - public TerminalNode EQ_() { return getToken(RDLStatementParser.EQ_, 0); } - public TransactionalReadQueryStrategyNameContext transactionalReadQueryStrategyName() { - return getRuleContext(TransactionalReadQueryStrategyNameContext.class,0); - } - public TransactionalReadQueryStrategyContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_transactionalReadQueryStrategy; } - } - - public final TransactionalReadQueryStrategyContext transactionalReadQueryStrategy() throws RecognitionException { - TransactionalReadQueryStrategyContext _localctx = new TransactionalReadQueryStrategyContext(_ctx, getState()); - enterRule(_localctx, 16, RULE_transactionalReadQueryStrategy); - try { - enterOuterAlt(_localctx, 1); - { - setState(115); - match(TRANSACTIONAL_READ_QUERY_STRATEGY); - setState(116); - match(EQ_); - setState(117); - transactionalReadQueryStrategyName(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class WriteStorageUnitNameContext extends ParserRuleContext { - public StorageUnitNameContext storageUnitName() { - return getRuleContext(StorageUnitNameContext.class,0); - } - public WriteStorageUnitNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_writeStorageUnitName; } - } - - public final WriteStorageUnitNameContext writeStorageUnitName() throws RecognitionException { - WriteStorageUnitNameContext _localctx = new WriteStorageUnitNameContext(_ctx, getState()); - enterRule(_localctx, 18, RULE_writeStorageUnitName); - try { - enterOuterAlt(_localctx, 1); - { - setState(119); - storageUnitName(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class ReadStorageUnitsNamesContext extends ParserRuleContext { - public List storageUnitName() { - return getRuleContexts(StorageUnitNameContext.class); - } - public StorageUnitNameContext storageUnitName(int i) { - return getRuleContext(StorageUnitNameContext.class,i); - } - public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } - public TerminalNode COMMA_(int i) { - return getToken(RDLStatementParser.COMMA_, i); - } - public ReadStorageUnitsNamesContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_readStorageUnitsNames; } - } - - public final ReadStorageUnitsNamesContext readStorageUnitsNames() throws RecognitionException { - ReadStorageUnitsNamesContext _localctx = new ReadStorageUnitsNamesContext(_ctx, getState()); - enterRule(_localctx, 20, RULE_readStorageUnitsNames); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(121); - storageUnitName(); - setState(126); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA_) { - { - { - setState(122); - match(COMMA_); - setState(123); - storageUnitName(); - } - } - setState(128); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class TransactionalReadQueryStrategyNameContext extends ParserRuleContext { - public TerminalNode STRING_() { return getToken(RDLStatementParser.STRING_, 0); } - public TransactionalReadQueryStrategyNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_transactionalReadQueryStrategyName; } - } - - public final TransactionalReadQueryStrategyNameContext transactionalReadQueryStrategyName() throws RecognitionException { - TransactionalReadQueryStrategyNameContext _localctx = new TransactionalReadQueryStrategyNameContext(_ctx, getState()); - enterRule(_localctx, 22, RULE_transactionalReadQueryStrategyName); - try { - enterOuterAlt(_localctx, 1); - { - setState(129); - match(STRING_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class IfExistsContext extends ParserRuleContext { - public TerminalNode IF() { return getToken(RDLStatementParser.IF, 0); } - public TerminalNode EXISTS() { return getToken(RDLStatementParser.EXISTS, 0); } - public IfExistsContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_ifExists; } - } - - public final IfExistsContext ifExists() throws RecognitionException { - IfExistsContext _localctx = new IfExistsContext(_ctx, getState()); - enterRule(_localctx, 24, RULE_ifExists); - try { - enterOuterAlt(_localctx, 1); - { - setState(131); - match(IF); - setState(132); - match(EXISTS); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class IfNotExistsContext extends ParserRuleContext { - public TerminalNode IF() { return getToken(RDLStatementParser.IF, 0); } - public TerminalNode NOT() { return getToken(RDLStatementParser.NOT, 0); } - public TerminalNode EXISTS() { return getToken(RDLStatementParser.EXISTS, 0); } - public IfNotExistsContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_ifNotExists; } - } - - public final IfNotExistsContext ifNotExists() throws RecognitionException { - IfNotExistsContext _localctx = new IfNotExistsContext(_ctx, getState()); - enterRule(_localctx, 26, RULE_ifNotExists); - try { - enterOuterAlt(_localctx, 1); - { - setState(134); - match(IF); - setState(135); - match(NOT); - setState(136); - match(EXISTS); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class LiteralContext extends ParserRuleContext { - public TerminalNode STRING_() { return getToken(RDLStatementParser.STRING_, 0); } - public TerminalNode INT_() { return getToken(RDLStatementParser.INT_, 0); } - public TerminalNode MINUS_() { return getToken(RDLStatementParser.MINUS_, 0); } - public TerminalNode TRUE() { return getToken(RDLStatementParser.TRUE, 0); } - public TerminalNode FALSE() { return getToken(RDLStatementParser.FALSE, 0); } - public LiteralContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_literal; } - } - - public final LiteralContext literal() throws RecognitionException { - LiteralContext _localctx = new LiteralContext(_ctx, getState()); - enterRule(_localctx, 28, RULE_literal); - int _la; - try { - setState(145); - _errHandler.sync(this); - switch (_input.LA(1)) { - case STRING_: - enterOuterAlt(_localctx, 1); - { - setState(138); - match(STRING_); - } - break; - case MINUS_: - case INT_: - enterOuterAlt(_localctx, 2); - { - setState(140); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==MINUS_) { - { - setState(139); - match(MINUS_); - } - } - - setState(142); - match(INT_); - } - break; - case TRUE: - enterOuterAlt(_localctx, 3); - { - setState(143); - match(TRUE); - } - break; - case FALSE: - enterOuterAlt(_localctx, 4); - { - setState(144); - match(FALSE); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AlgorithmDefinitionContext extends ParserRuleContext { - public TerminalNode TYPE() { return getToken(RDLStatementParser.TYPE, 0); } - public TerminalNode LP_() { return getToken(RDLStatementParser.LP_, 0); } - public TerminalNode NAME() { return getToken(RDLStatementParser.NAME, 0); } - public TerminalNode EQ_() { return getToken(RDLStatementParser.EQ_, 0); } - public AlgorithmTypeNameContext algorithmTypeName() { - return getRuleContext(AlgorithmTypeNameContext.class,0); - } - public TerminalNode RP_() { return getToken(RDLStatementParser.RP_, 0); } - public TerminalNode COMMA_() { return getToken(RDLStatementParser.COMMA_, 0); } - public PropertiesDefinitionContext propertiesDefinition() { - return getRuleContext(PropertiesDefinitionContext.class,0); - } - public AlgorithmDefinitionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_algorithmDefinition; } - } - - public final AlgorithmDefinitionContext algorithmDefinition() throws RecognitionException { - AlgorithmDefinitionContext _localctx = new AlgorithmDefinitionContext(_ctx, getState()); - enterRule(_localctx, 30, RULE_algorithmDefinition); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(147); - match(TYPE); - setState(148); - match(LP_); - setState(149); - match(NAME); - setState(150); - match(EQ_); - setState(151); - algorithmTypeName(); - setState(154); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==COMMA_) { - { - setState(152); - match(COMMA_); - setState(153); - propertiesDefinition(); - } - } - - setState(156); - match(RP_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class AlgorithmTypeNameContext extends ParserRuleContext { - public TerminalNode STRING_() { return getToken(RDLStatementParser.STRING_, 0); } - public BuildInReadQueryLoadBalanceAlgorithmTypeContext buildInReadQueryLoadBalanceAlgorithmType() { - return getRuleContext(BuildInReadQueryLoadBalanceAlgorithmTypeContext.class,0); - } - public AlgorithmTypeNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_algorithmTypeName; } - } - - public final AlgorithmTypeNameContext algorithmTypeName() throws RecognitionException { - AlgorithmTypeNameContext _localctx = new AlgorithmTypeNameContext(_ctx, getState()); - enterRule(_localctx, 32, RULE_algorithmTypeName); - try { - setState(160); - _errHandler.sync(this); - switch (_input.LA(1)) { - case STRING_: - enterOuterAlt(_localctx, 1); - { - setState(158); - match(STRING_); - } - break; - case ROUND_ROBIN: - case RANDOM: - case WEIGHT: - enterOuterAlt(_localctx, 2); - { - setState(159); - buildInReadQueryLoadBalanceAlgorithmType(); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class BuildInReadQueryLoadBalanceAlgorithmTypeContext extends ParserRuleContext { - public TerminalNode ROUND_ROBIN() { return getToken(RDLStatementParser.ROUND_ROBIN, 0); } - public TerminalNode RANDOM() { return getToken(RDLStatementParser.RANDOM, 0); } - public TerminalNode WEIGHT() { return getToken(RDLStatementParser.WEIGHT, 0); } - public BuildInReadQueryLoadBalanceAlgorithmTypeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_buildInReadQueryLoadBalanceAlgorithmType; } - } - - public final BuildInReadQueryLoadBalanceAlgorithmTypeContext buildInReadQueryLoadBalanceAlgorithmType() throws RecognitionException { - BuildInReadQueryLoadBalanceAlgorithmTypeContext _localctx = new BuildInReadQueryLoadBalanceAlgorithmTypeContext(_ctx, getState()); - enterRule(_localctx, 34, RULE_buildInReadQueryLoadBalanceAlgorithmType); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(162); - _la = _input.LA(1); - if ( !(((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & ((1L << (ROUND_ROBIN - 68)) | (1L << (RANDOM - 68)) | (1L << (WEIGHT - 68)))) != 0)) ) { - _errHandler.recoverInline(this); - } - else { - if ( _input.LA(1)==Token.EOF ) matchedEOF = true; - _errHandler.reportMatch(this); - consume(); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PropertiesDefinitionContext extends ParserRuleContext { - public TerminalNode PROPERTIES() { return getToken(RDLStatementParser.PROPERTIES, 0); } - public TerminalNode LP_() { return getToken(RDLStatementParser.LP_, 0); } - public TerminalNode RP_() { return getToken(RDLStatementParser.RP_, 0); } - public PropertiesContext properties() { - return getRuleContext(PropertiesContext.class,0); - } - public PropertiesDefinitionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_propertiesDefinition; } - } - - public final PropertiesDefinitionContext propertiesDefinition() throws RecognitionException { - PropertiesDefinitionContext _localctx = new PropertiesDefinitionContext(_ctx, getState()); - enterRule(_localctx, 36, RULE_propertiesDefinition); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(164); - match(PROPERTIES); - setState(165); - match(LP_); - setState(167); - _errHandler.sync(this); - _la = _input.LA(1); - if (_la==STRING_) { - { - setState(166); - properties(); - } - } - - setState(169); - match(RP_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PropertiesContext extends ParserRuleContext { - public List property() { - return getRuleContexts(PropertyContext.class); - } - public PropertyContext property(int i) { - return getRuleContext(PropertyContext.class,i); - } - public List COMMA_() { return getTokens(RDLStatementParser.COMMA_); } - public TerminalNode COMMA_(int i) { - return getToken(RDLStatementParser.COMMA_, i); - } - public PropertiesContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_properties; } - } - - public final PropertiesContext properties() throws RecognitionException { - PropertiesContext _localctx = new PropertiesContext(_ctx, getState()); - enterRule(_localctx, 38, RULE_properties); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(171); - property(); - setState(176); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==COMMA_) { - { - { - setState(172); - match(COMMA_); - setState(173); - property(); - } - } - setState(178); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PropertyContext extends ParserRuleContext { - public Token key; - public LiteralContext value; - public TerminalNode EQ_() { return getToken(RDLStatementParser.EQ_, 0); } - public TerminalNode STRING_() { return getToken(RDLStatementParser.STRING_, 0); } - public LiteralContext literal() { - return getRuleContext(LiteralContext.class,0); - } - public PropertyContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_property; } - } - - public final PropertyContext property() throws RecognitionException { - PropertyContext _localctx = new PropertyContext(_ctx, getState()); - enterRule(_localctx, 40, RULE_property); - try { - enterOuterAlt(_localctx, 1); - { - setState(179); - ((PropertyContext)_localctx).key = match(STRING_); - setState(180); - match(EQ_); - setState(181); - ((PropertyContext)_localctx).value = literal(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class DatabaseNameContext extends ParserRuleContext { - public TerminalNode IDENTIFIER_() { return getToken(RDLStatementParser.IDENTIFIER_, 0); } - public DatabaseNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_databaseName; } - } - - public final DatabaseNameContext databaseName() throws RecognitionException { - DatabaseNameContext _localctx = new DatabaseNameContext(_ctx, getState()); - enterRule(_localctx, 42, RULE_databaseName); - try { - enterOuterAlt(_localctx, 1); - { - setState(183); - match(IDENTIFIER_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class GroupNameContext extends ParserRuleContext { - public TerminalNode IDENTIFIER_() { return getToken(RDLStatementParser.IDENTIFIER_, 0); } - public GroupNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_groupName; } - } - - public final GroupNameContext groupName() throws RecognitionException { - GroupNameContext _localctx = new GroupNameContext(_ctx, getState()); - enterRule(_localctx, 44, RULE_groupName); - try { - enterOuterAlt(_localctx, 1); - { - setState(185); - match(IDENTIFIER_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class StorageUnitNameContext extends ParserRuleContext { - public TerminalNode IDENTIFIER_() { return getToken(RDLStatementParser.IDENTIFIER_, 0); } - public StorageUnitNameContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_storageUnitName; } - } - - public final StorageUnitNameContext storageUnitName() throws RecognitionException { - StorageUnitNameContext _localctx = new StorageUnitNameContext(_ctx, getState()); - enterRule(_localctx, 46, RULE_storageUnitName); - try { - enterOuterAlt(_localctx, 1); - { - setState(187); - match(IDENTIFIER_); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3Q\u00c0\4\2\t\2\4"+ - "\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t"+ - "\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ - "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ - "\3\2\3\2\3\2\3\2\5\2\67\n\2\3\2\3\2\3\2\7\2<\n\2\f\2\16\2?\13\2\3\3\3"+ - "\3\3\3\3\3\3\3\3\3\7\3G\n\3\f\3\16\3J\13\3\3\4\3\4\3\4\3\4\5\4P\n\4\3"+ - "\4\3\4\3\4\7\4U\n\4\f\4\16\4X\13\4\3\5\3\5\3\5\3\5\3\5\5\5_\n\5\3\5\3"+ - "\5\5\5c\n\5\3\5\3\5\3\6\3\6\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\b\3\t\3\t\3"+ - "\t\3\t\3\t\3\n\3\n\3\n\3\n\3\13\3\13\3\f\3\f\3\f\7\f\177\n\f\f\f\16\f"+ - "\u0082\13\f\3\r\3\r\3\16\3\16\3\16\3\17\3\17\3\17\3\17\3\20\3\20\5\20"+ - "\u008f\n\20\3\20\3\20\3\20\5\20\u0094\n\20\3\21\3\21\3\21\3\21\3\21\3"+ - "\21\3\21\5\21\u009d\n\21\3\21\3\21\3\22\3\22\5\22\u00a3\n\22\3\23\3\23"+ - "\3\24\3\24\3\24\5\24\u00aa\n\24\3\24\3\24\3\25\3\25\3\25\7\25\u00b1\n"+ - "\25\f\25\16\25\u00b4\13\25\3\26\3\26\3\26\3\26\3\27\3\27\3\30\3\30\3\31"+ - "\3\31\3\31\2\2\32\2\4\6\b\n\f\16\20\22\24\26\30\32\34\36 \"$&(*,.\60\2"+ - "\3\3\2FH\2\u00b7\2\62\3\2\2\2\4@\3\2\2\2\6K\3\2\2\2\bY\3\2\2\2\nf\3\2"+ - "\2\2\fj\3\2\2\2\16l\3\2\2\2\20p\3\2\2\2\22u\3\2\2\2\24y\3\2\2\2\26{\3"+ - "\2\2\2\30\u0083\3\2\2\2\32\u0085\3\2\2\2\34\u0088\3\2\2\2\36\u0093\3\2"+ - "\2\2 \u0095\3\2\2\2\"\u00a2\3\2\2\2$\u00a4\3\2\2\2&\u00a6\3\2\2\2(\u00ad"+ - "\3\2\2\2*\u00b5\3\2\2\2,\u00b9\3\2\2\2.\u00bb\3\2\2\2\60\u00bd\3\2\2\2"+ - "\62\63\7\60\2\2\63\64\7\66\2\2\64\66\7\64\2\2\65\67\5\34\17\2\66\65\3"+ - "\2\2\2\66\67\3\2\2\2\678\3\2\2\28=\5\b\5\29:\7$\2\2:<\5\b\5\2;9\3\2\2"+ - "\2\3\2\2\2>\3\3\2\2\2?=\3\2\2\2@A\7\61\2\2AB\7\66"+ - "\2\2BC\7\64\2\2CH\5\b\5\2DE\7$\2\2EG\5\b\5\2FD\3\2\2\2GJ\3\2\2\2HF\3\2"+ - "\2\2HI\3\2\2\2I\5\3\2\2\2JH\3\2\2\2KL\7\62\2\2LM\7\66\2\2MO\7\64\2\2N"+ - "P\5\32\16\2ON\3\2\2\2OP\3\2\2\2PQ\3\2\2\2QV\5\f\7\2RS\7$\2\2SU\5\f\7\2"+ - "TR\3\2\2\2UX\3\2\2\2VT\3\2\2\2VW\3\2\2\2W\7\3\2\2\2XV\3\2\2\2YZ\5\f\7"+ - "\2Z[\7\36\2\2[^\5\n\6\2\\]\7$\2\2]_\5\22\n\2^\\\3\2\2\2^_\3\2\2\2_b\3"+ - "\2\2\2`a\7$\2\2ac\5 \21\2b`\3\2\2\2bc\3\2\2\2cd\3\2\2\2de\7\37\2\2e\t"+ - "\3\2\2\2fg\5\16\b\2gh\7$\2\2hi\5\20\t\2i\13\3\2\2\2jk\7K\2\2k\r\3\2\2"+ - "\2lm\7\67\2\2mn\7\27\2\2no\5\24\13\2o\17\3\2\2\2pq\78\2\2qr\7\36\2\2r"+ - "s\5\26\f\2st\7\37\2\2t\21\3\2\2\2uv\79\2\2vw\7\27\2\2wx\5\30\r\2x\23\3"+ - "\2\2\2yz\5\60\31\2z\25\3\2\2\2{\u0080\5\60\31\2|}\7$\2\2}\177\5\60\31"+ - "\2~|\3\2\2\2\177\u0082\3\2\2\2\u0080~\3\2\2\2\u0080\u0081\3\2\2\2\u0081"+ - "\27\3\2\2\2\u0082\u0080\3\2\2\2\u0083\u0084\7L\2\2\u0084\31\3\2\2\2\u0085"+ - "\u0086\7C\2\2\u0086\u0087\7D\2\2\u0087\33\3\2\2\2\u0088\u0089\7C\2\2\u0089"+ - "\u008a\7I\2\2\u008a\u008b\7D\2\2\u008b\35\3\2\2\2\u008c\u0094\7L\2\2\u008d"+ - "\u008f\7\17\2\2\u008e\u008d\3\2\2\2\u008e\u008f\3\2\2\2\u008f\u0090\3"+ - "\2\2\2\u0090\u0094\7M\2\2\u0091\u0094\7.\2\2\u0092\u0094\7/\2\2\u0093"+ - "\u008c\3\2\2\2\u0093\u008e\3\2\2\2\u0093\u0091\3\2\2\2\u0093\u0092\3\2"+ - "\2\2\u0094\37\3\2\2\2\u0095\u0096\7:\2\2\u0096\u0097\7\36\2\2\u0097\u0098"+ - "\7;\2\2\u0098\u0099\7\27\2\2\u0099\u009c\5\"\22\2\u009a\u009b\7$\2\2\u009b"+ - "\u009d\5&\24\2\u009c\u009a\3\2\2\2\u009c\u009d\3\2\2\2\u009d\u009e\3\2"+ - "\2\2\u009e\u009f\7\37\2\2\u009f!\3\2\2\2\u00a0\u00a3\7L\2\2\u00a1\u00a3"+ - "\5$\23\2\u00a2\u00a0\3\2\2\2\u00a2\u00a1\3\2\2\2\u00a3#\3\2\2\2\u00a4"+ - "\u00a5\t\2\2\2\u00a5%\3\2\2\2\u00a6\u00a7\7<\2\2\u00a7\u00a9\7\36\2\2"+ - "\u00a8\u00aa\5(\25\2\u00a9\u00a8\3\2\2\2\u00a9\u00aa\3\2\2\2\u00aa\u00ab"+ - "\3\2\2\2\u00ab\u00ac\7\37\2\2\u00ac\'\3\2\2\2\u00ad\u00b2\5*\26\2\u00ae"+ - "\u00af\7$\2\2\u00af\u00b1\5*\26\2\u00b0\u00ae\3\2\2\2\u00b1\u00b4\3\2"+ - "\2\2\u00b2\u00b0\3\2\2\2\u00b2\u00b3\3\2\2\2\u00b3)\3\2\2\2\u00b4\u00b2"+ - "\3\2\2\2\u00b5\u00b6\7L\2\2\u00b6\u00b7\7\27\2\2\u00b7\u00b8\5\36\20\2"+ - "\u00b8+\3\2\2\2\u00b9\u00ba\7K\2\2\u00ba-\3\2\2\2\u00bb\u00bc\7K\2\2\u00bc"+ - "/\3\2\2\2\u00bd\u00be\7K\2\2\u00be\61\3\2\2\2\20\66=HOV^b\u0080\u008e"+ - "\u0093\u009c\u00a2\u00a9\u00b2"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Symbol.interp b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Symbol.interp deleted file mode 100644 index 16be7873..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Symbol.interp +++ /dev/null @@ -1,143 +0,0 @@ -token literal names: -null -'&&' -'||' -'!' -'~' -'|' -'&' -'<<' -'>>' -'^' -'%' -':' -'+' -'-' -'*' -'/' -'\\' -'.' -'.*' -'<=>' -'==' -'=' -null -'>' -'>=' -'<' -'<=' -'#' -'(' -')' -'{' -'}' -'[' -']' -',' -'"' -'\'' -'`' -'?' -'@' -';' -'->>' -'_' - -token symbolic names: -null -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ - -rule names: -AND_ -OR_ -NOT_ -TILDE_ -VERTICALBAR_ -AMPERSAND_ -SIGNEDLEFTSHIFT_ -SIGNEDRIGHTSHIFT_ -CARET_ -MOD_ -COLON_ -PLUS_ -MINUS_ -ASTERISK_ -SLASH_ -BACKSLASH_ -DOT_ -DOTASTERISK_ -SAFEEQ_ -DEQ_ -EQ_ -NEQ_ -GT_ -GTE_ -LT_ -LTE_ -POUND_ -LP_ -RP_ -LBE_ -RBE_ -LBT_ -RBT_ -COMMA_ -DQ_ -SQ_ -BQ_ -QUESTION_ -AT_ -SEMI_ -JSONSEPARATOR_ -UL_ - -channel names: -DEFAULT_TOKEN_CHANNEL -HIDDEN - -mode names: -DEFAULT_MODE - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 44, 187, 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, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 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, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 142, 10, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 2, 2, 44, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 3, 2, 2, 2, 187, 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, 3, 87, 3, 2, 2, 2, 5, 90, 3, 2, 2, 2, 7, 93, 3, 2, 2, 2, 9, 95, 3, 2, 2, 2, 11, 97, 3, 2, 2, 2, 13, 99, 3, 2, 2, 2, 15, 101, 3, 2, 2, 2, 17, 104, 3, 2, 2, 2, 19, 107, 3, 2, 2, 2, 21, 109, 3, 2, 2, 2, 23, 111, 3, 2, 2, 2, 25, 113, 3, 2, 2, 2, 27, 115, 3, 2, 2, 2, 29, 117, 3, 2, 2, 2, 31, 119, 3, 2, 2, 2, 33, 121, 3, 2, 2, 2, 35, 123, 3, 2, 2, 2, 37, 125, 3, 2, 2, 2, 39, 128, 3, 2, 2, 2, 41, 132, 3, 2, 2, 2, 43, 135, 3, 2, 2, 2, 45, 141, 3, 2, 2, 2, 47, 143, 3, 2, 2, 2, 49, 145, 3, 2, 2, 2, 51, 148, 3, 2, 2, 2, 53, 150, 3, 2, 2, 2, 55, 153, 3, 2, 2, 2, 57, 155, 3, 2, 2, 2, 59, 157, 3, 2, 2, 2, 61, 159, 3, 2, 2, 2, 63, 161, 3, 2, 2, 2, 65, 163, 3, 2, 2, 2, 67, 165, 3, 2, 2, 2, 69, 167, 3, 2, 2, 2, 71, 169, 3, 2, 2, 2, 73, 171, 3, 2, 2, 2, 75, 173, 3, 2, 2, 2, 77, 175, 3, 2, 2, 2, 79, 177, 3, 2, 2, 2, 81, 179, 3, 2, 2, 2, 83, 181, 3, 2, 2, 2, 85, 185, 3, 2, 2, 2, 87, 88, 7, 40, 2, 2, 88, 89, 7, 40, 2, 2, 89, 4, 3, 2, 2, 2, 90, 91, 7, 126, 2, 2, 91, 92, 7, 126, 2, 2, 92, 6, 3, 2, 2, 2, 93, 94, 7, 35, 2, 2, 94, 8, 3, 2, 2, 2, 95, 96, 7, 128, 2, 2, 96, 10, 3, 2, 2, 2, 97, 98, 7, 126, 2, 2, 98, 12, 3, 2, 2, 2, 99, 100, 7, 40, 2, 2, 100, 14, 3, 2, 2, 2, 101, 102, 7, 62, 2, 2, 102, 103, 7, 62, 2, 2, 103, 16, 3, 2, 2, 2, 104, 105, 7, 64, 2, 2, 105, 106, 7, 64, 2, 2, 106, 18, 3, 2, 2, 2, 107, 108, 7, 96, 2, 2, 108, 20, 3, 2, 2, 2, 109, 110, 7, 39, 2, 2, 110, 22, 3, 2, 2, 2, 111, 112, 7, 60, 2, 2, 112, 24, 3, 2, 2, 2, 113, 114, 7, 45, 2, 2, 114, 26, 3, 2, 2, 2, 115, 116, 7, 47, 2, 2, 116, 28, 3, 2, 2, 2, 117, 118, 7, 44, 2, 2, 118, 30, 3, 2, 2, 2, 119, 120, 7, 49, 2, 2, 120, 32, 3, 2, 2, 2, 121, 122, 7, 94, 2, 2, 122, 34, 3, 2, 2, 2, 123, 124, 7, 48, 2, 2, 124, 36, 3, 2, 2, 2, 125, 126, 7, 48, 2, 2, 126, 127, 7, 44, 2, 2, 127, 38, 3, 2, 2, 2, 128, 129, 7, 62, 2, 2, 129, 130, 7, 63, 2, 2, 130, 131, 7, 64, 2, 2, 131, 40, 3, 2, 2, 2, 132, 133, 7, 63, 2, 2, 133, 134, 7, 63, 2, 2, 134, 42, 3, 2, 2, 2, 135, 136, 7, 63, 2, 2, 136, 44, 3, 2, 2, 2, 137, 138, 7, 62, 2, 2, 138, 142, 7, 64, 2, 2, 139, 140, 7, 35, 2, 2, 140, 142, 7, 63, 2, 2, 141, 137, 3, 2, 2, 2, 141, 139, 3, 2, 2, 2, 142, 46, 3, 2, 2, 2, 143, 144, 7, 64, 2, 2, 144, 48, 3, 2, 2, 2, 145, 146, 7, 64, 2, 2, 146, 147, 7, 63, 2, 2, 147, 50, 3, 2, 2, 2, 148, 149, 7, 62, 2, 2, 149, 52, 3, 2, 2, 2, 150, 151, 7, 62, 2, 2, 151, 152, 7, 63, 2, 2, 152, 54, 3, 2, 2, 2, 153, 154, 7, 37, 2, 2, 154, 56, 3, 2, 2, 2, 155, 156, 7, 42, 2, 2, 156, 58, 3, 2, 2, 2, 157, 158, 7, 43, 2, 2, 158, 60, 3, 2, 2, 2, 159, 160, 7, 125, 2, 2, 160, 62, 3, 2, 2, 2, 161, 162, 7, 127, 2, 2, 162, 64, 3, 2, 2, 2, 163, 164, 7, 93, 2, 2, 164, 66, 3, 2, 2, 2, 165, 166, 7, 95, 2, 2, 166, 68, 3, 2, 2, 2, 167, 168, 7, 46, 2, 2, 168, 70, 3, 2, 2, 2, 169, 170, 7, 36, 2, 2, 170, 72, 3, 2, 2, 2, 171, 172, 7, 41, 2, 2, 172, 74, 3, 2, 2, 2, 173, 174, 7, 98, 2, 2, 174, 76, 3, 2, 2, 2, 175, 176, 7, 65, 2, 2, 176, 78, 3, 2, 2, 2, 177, 178, 7, 66, 2, 2, 178, 80, 3, 2, 2, 2, 179, 180, 7, 61, 2, 2, 180, 82, 3, 2, 2, 2, 181, 182, 7, 47, 2, 2, 182, 183, 7, 64, 2, 2, 183, 184, 7, 64, 2, 2, 184, 84, 3, 2, 2, 2, 185, 186, 7, 97, 2, 2, 186, 86, 3, 2, 2, 2, 4, 2, 141, 2] \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Symbol.java b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Symbol.java deleted file mode 100644 index 6b500ecf..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Symbol.java +++ /dev/null @@ -1,184 +0,0 @@ -// Generated from /root/workspaces/golang/src/shardingsphere-on-cloud/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/Symbol.g4 by ANTLR 4.9.2 -import org.antlr.v4.runtime.Lexer; -import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.TokenStream; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.atn.*; -import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.misc.*; - -@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) -public class Symbol extends Lexer { - static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); } - - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - AND_=1, OR_=2, NOT_=3, TILDE_=4, VERTICALBAR_=5, AMPERSAND_=6, SIGNEDLEFTSHIFT_=7, - SIGNEDRIGHTSHIFT_=8, CARET_=9, MOD_=10, COLON_=11, PLUS_=12, MINUS_=13, - ASTERISK_=14, SLASH_=15, BACKSLASH_=16, DOT_=17, DOTASTERISK_=18, SAFEEQ_=19, - DEQ_=20, EQ_=21, NEQ_=22, GT_=23, GTE_=24, LT_=25, LTE_=26, POUND_=27, - LP_=28, RP_=29, LBE_=30, RBE_=31, LBT_=32, RBT_=33, COMMA_=34, DQ_=35, - SQ_=36, BQ_=37, QUESTION_=38, AT_=39, SEMI_=40, JSONSEPARATOR_=41, UL_=42; - public static String[] channelNames = { - "DEFAULT_TOKEN_CHANNEL", "HIDDEN" - }; - - public static String[] modeNames = { - "DEFAULT_MODE" - }; - - private static String[] makeRuleNames() { - return new String[] { - "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", "SIGNEDLEFTSHIFT_", - "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", - "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", "SAFEEQ_", "DEQ_", "EQ_", - "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", - "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", - "SEMI_", "JSONSEPARATOR_", "UL_" - }; - } - public static final String[] ruleNames = makeRuleNames(); - - private static String[] makeLiteralNames() { - return new String[] { - null, "'&&'", "'||'", "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", - "'%'", "':'", "'+'", "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", - "'=='", "'='", null, "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", - "'{'", "'}'", "'['", "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", - "';'", "'->>'", "'_'" - }; - } - private static final String[] _LITERAL_NAMES = makeLiteralNames(); - private static String[] makeSymbolicNames() { - return new String[] { - null, "AND_", "OR_", "NOT_", "TILDE_", "VERTICALBAR_", "AMPERSAND_", - "SIGNEDLEFTSHIFT_", "SIGNEDRIGHTSHIFT_", "CARET_", "MOD_", "COLON_", - "PLUS_", "MINUS_", "ASTERISK_", "SLASH_", "BACKSLASH_", "DOT_", "DOTASTERISK_", - "SAFEEQ_", "DEQ_", "EQ_", "NEQ_", "GT_", "GTE_", "LT_", "LTE_", "POUND_", - "LP_", "RP_", "LBE_", "RBE_", "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", - "BQ_", "QUESTION_", "AT_", "SEMI_", "JSONSEPARATOR_", "UL_" - }; - } - private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } - - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } - - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } - - @Override - - public Vocabulary getVocabulary() { - return VOCABULARY; - } - - - public Symbol(CharStream input) { - super(input); - _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - - @Override - public String getGrammarFileName() { return "Symbol.g4"; } - - @Override - public String[] getRuleNames() { return ruleNames; } - - @Override - public String getSerializedATN() { return _serializedATN; } - - @Override - public String[] getChannelNames() { return channelNames; } - - @Override - public String[] getModeNames() { return modeNames; } - - @Override - public ATN getATN() { return _ATN; } - - public static final String _serializedATN = - "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2,\u00bb\b\1\4\2\t"+ - "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ - "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ - "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ - "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ - "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\3"+ - "\2\3\2\3\2\3\3\3\3\3\3\3\4\3\4\3\5\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\t"+ - "\3\t\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3\17\3\17\3\20\3"+ - "\20\3\21\3\21\3\22\3\22\3\23\3\23\3\23\3\24\3\24\3\24\3\24\3\25\3\25\3"+ - "\25\3\26\3\26\3\27\3\27\3\27\3\27\5\27\u008e\n\27\3\30\3\30\3\31\3\31"+ - "\3\31\3\32\3\32\3\33\3\33\3\33\3\34\3\34\3\35\3\35\3\36\3\36\3\37\3\37"+ - "\3 \3 \3!\3!\3\"\3\"\3#\3#\3$\3$\3%\3%\3&\3&\3\'\3\'\3(\3(\3)\3)\3*\3"+ - "*\3*\3*\3+\3+\2\2,\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r"+ - "\31\16\33\17\35\20\37\21!\22#\23%\24\'\25)\26+\27-\30/\31\61\32\63\33"+ - "\65\34\67\359\36;\37= ?!A\"C#E$G%I&K\'M(O)Q*S+U,\3\2\2\2\u00bb\2\3\3\2"+ - "\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17"+ - "\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\31\3\2"+ - "\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2\2\2%\3"+ - "\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\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\29\3\2\2\2\2;\3\2\2\2\2"+ - "=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2\2I\3"+ - "\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2\2"+ - "\2\3W\3\2\2\2\5Z\3\2\2\2\7]\3\2\2\2\t_\3\2\2\2\13a\3\2\2\2\rc\3\2\2\2"+ - "\17e\3\2\2\2\21h\3\2\2\2\23k\3\2\2\2\25m\3\2\2\2\27o\3\2\2\2\31q\3\2\2"+ - "\2\33s\3\2\2\2\35u\3\2\2\2\37w\3\2\2\2!y\3\2\2\2#{\3\2\2\2%}\3\2\2\2\'"+ - "\u0080\3\2\2\2)\u0084\3\2\2\2+\u0087\3\2\2\2-\u008d\3\2\2\2/\u008f\3\2"+ - "\2\2\61\u0091\3\2\2\2\63\u0094\3\2\2\2\65\u0096\3\2\2\2\67\u0099\3\2\2"+ - "\29\u009b\3\2\2\2;\u009d\3\2\2\2=\u009f\3\2\2\2?\u00a1\3\2\2\2A\u00a3"+ - "\3\2\2\2C\u00a5\3\2\2\2E\u00a7\3\2\2\2G\u00a9\3\2\2\2I\u00ab\3\2\2\2K"+ - "\u00ad\3\2\2\2M\u00af\3\2\2\2O\u00b1\3\2\2\2Q\u00b3\3\2\2\2S\u00b5\3\2"+ - "\2\2U\u00b9\3\2\2\2WX\7(\2\2XY\7(\2\2Y\4\3\2\2\2Z[\7~\2\2[\\\7~\2\2\\"+ - "\6\3\2\2\2]^\7#\2\2^\b\3\2\2\2_`\7\u0080\2\2`\n\3\2\2\2ab\7~\2\2b\f\3"+ - "\2\2\2cd\7(\2\2d\16\3\2\2\2ef\7>\2\2fg\7>\2\2g\20\3\2\2\2hi\7@\2\2ij\7"+ - "@\2\2j\22\3\2\2\2kl\7`\2\2l\24\3\2\2\2mn\7\'\2\2n\26\3\2\2\2op\7<\2\2"+ - "p\30\3\2\2\2qr\7-\2\2r\32\3\2\2\2st\7/\2\2t\34\3\2\2\2uv\7,\2\2v\36\3"+ - "\2\2\2wx\7\61\2\2x \3\2\2\2yz\7^\2\2z\"\3\2\2\2{|\7\60\2\2|$\3\2\2\2}"+ - "~\7\60\2\2~\177\7,\2\2\177&\3\2\2\2\u0080\u0081\7>\2\2\u0081\u0082\7?"+ - "\2\2\u0082\u0083\7@\2\2\u0083(\3\2\2\2\u0084\u0085\7?\2\2\u0085\u0086"+ - "\7?\2\2\u0086*\3\2\2\2\u0087\u0088\7?\2\2\u0088,\3\2\2\2\u0089\u008a\7"+ - ">\2\2\u008a\u008e\7@\2\2\u008b\u008c\7#\2\2\u008c\u008e\7?\2\2\u008d\u0089"+ - "\3\2\2\2\u008d\u008b\3\2\2\2\u008e.\3\2\2\2\u008f\u0090\7@\2\2\u0090\60"+ - "\3\2\2\2\u0091\u0092\7@\2\2\u0092\u0093\7?\2\2\u0093\62\3\2\2\2\u0094"+ - "\u0095\7>\2\2\u0095\64\3\2\2\2\u0096\u0097\7>\2\2\u0097\u0098\7?\2\2\u0098"+ - "\66\3\2\2\2\u0099\u009a\7%\2\2\u009a8\3\2\2\2\u009b\u009c\7*\2\2\u009c"+ - ":\3\2\2\2\u009d\u009e\7+\2\2\u009e<\3\2\2\2\u009f\u00a0\7}\2\2\u00a0>"+ - "\3\2\2\2\u00a1\u00a2\7\177\2\2\u00a2@\3\2\2\2\u00a3\u00a4\7]\2\2\u00a4"+ - "B\3\2\2\2\u00a5\u00a6\7_\2\2\u00a6D\3\2\2\2\u00a7\u00a8\7.\2\2\u00a8F"+ - "\3\2\2\2\u00a9\u00aa\7$\2\2\u00aaH\3\2\2\2\u00ab\u00ac\7)\2\2\u00acJ\3"+ - "\2\2\2\u00ad\u00ae\7b\2\2\u00aeL\3\2\2\2\u00af\u00b0\7A\2\2\u00b0N\3\2"+ - "\2\2\u00b1\u00b2\7B\2\2\u00b2P\3\2\2\2\u00b3\u00b4\7=\2\2\u00b4R\3\2\2"+ - "\2\u00b5\u00b6\7/\2\2\u00b6\u00b7\7@\2\2\u00b7\u00b8\7@\2\2\u00b8T\3\2"+ - "\2\2\u00b9\u00ba\7a\2\2\u00baV\3\2\2\2\4\2\u008d\2"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file diff --git a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Symbol.tokens b/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Symbol.tokens deleted file mode 100644 index e2613cd6..00000000 --- a/shardingsphere-operator/pkg/distsql/antlr4/read_write_splitting/.antlr/Symbol.tokens +++ /dev/null @@ -1,83 +0,0 @@ -AND_=1 -OR_=2 -NOT_=3 -TILDE_=4 -VERTICALBAR_=5 -AMPERSAND_=6 -SIGNEDLEFTSHIFT_=7 -SIGNEDRIGHTSHIFT_=8 -CARET_=9 -MOD_=10 -COLON_=11 -PLUS_=12 -MINUS_=13 -ASTERISK_=14 -SLASH_=15 -BACKSLASH_=16 -DOT_=17 -DOTASTERISK_=18 -SAFEEQ_=19 -DEQ_=20 -EQ_=21 -NEQ_=22 -GT_=23 -GTE_=24 -LT_=25 -LTE_=26 -POUND_=27 -LP_=28 -RP_=29 -LBE_=30 -RBE_=31 -LBT_=32 -RBT_=33 -COMMA_=34 -DQ_=35 -SQ_=36 -BQ_=37 -QUESTION_=38 -AT_=39 -SEMI_=40 -JSONSEPARATOR_=41 -UL_=42 -'&&'=1 -'||'=2 -'!'=3 -'~'=4 -'|'=5 -'&'=6 -'<<'=7 -'>>'=8 -'^'=9 -'%'=10 -':'=11 -'+'=12 -'-'=13 -'*'=14 -'/'=15 -'\\'=16 -'.'=17 -'.*'=18 -'<=>'=19 -'=='=20 -'='=21 -'>'=23 -'>='=24 -'<'=25 -'<='=26 -'#'=27 -'('=28 -')'=29 -'{'=30 -'}'=31 -'['=32 -']'=33 -','=34 -'"'=35 -'\''=36 -'`'=37 -'?'=38 -'@'=39 -';'=40 -'->>'=41 -'_'=42 From 294346ce7cefa9d0131936673a7702b7e33e1199 Mon Sep 17 00:00:00 2001 From: wangbo <875818649@qq.com> Date: Wed, 31 May 2023 06:48:10 +0000 Subject: [PATCH 3/6] chore: add license --- .../mask/rdlstatement_base_visitor.go | 17 +++++++++++++++++ .../visitor_parser/mask/rdlstatement_lexer.go | 17 +++++++++++++++++ .../visitor_parser/mask/rdlstatement_parser.go | 17 +++++++++++++++++ .../visitor_parser/mask/rdlstatement_visitor.go | 17 +++++++++++++++++ .../rdlstatement_base_visitor.go | 17 +++++++++++++++++ .../read_write_splitting/rdlstatement_lexer.go | 17 +++++++++++++++++ .../read_write_splitting/rdlstatement_parser.go | 17 +++++++++++++++++ .../rdlstatement_visitor.go | 17 +++++++++++++++++ .../shadow/rdlstatement_base_visitor.go | 17 +++++++++++++++++ .../visitor_parser/shadow/rdlstatement_lexer.go | 17 +++++++++++++++++ .../shadow/rdlstatement_parser.go | 17 +++++++++++++++++ .../shadow/rdlstatement_visitor.go | 17 +++++++++++++++++ .../sharding/rdlstatement_base_visitor.go | 17 +++++++++++++++++ .../sharding/rdlstatement_lexer.go | 17 +++++++++++++++++ .../sharding/rdlstatement_parser.go | 17 +++++++++++++++++ .../sharding/rdlstatement_visitor.go | 17 +++++++++++++++++ 16 files changed, 272 insertions(+) diff --git a/shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_base_visitor.go b/shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_base_visitor.go index 13bb0100..394b61b1 100644 --- a/shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_base_visitor.go +++ b/shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_base_visitor.go @@ -1,5 +1,22 @@ // Code generated from RDLStatement.g4 by ANTLR 4.8. DO NOT EDIT. +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package parser // RDLStatement import "github.com/antlr/antlr4/runtime/Go/antlr" diff --git a/shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_lexer.go b/shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_lexer.go index b265bb5f..60f92fdb 100644 --- a/shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_lexer.go +++ b/shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_lexer.go @@ -1,5 +1,22 @@ // Code generated from RDLStatement.g4 by ANTLR 4.8. DO NOT EDIT. +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package parser import ( diff --git a/shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_parser.go b/shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_parser.go index fcb3d882..a423119d 100644 --- a/shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_parser.go +++ b/shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_parser.go @@ -1,5 +1,22 @@ // Code generated from RDLStatement.g4 by ANTLR 4.8. DO NOT EDIT. +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package parser // RDLStatement import ( diff --git a/shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_visitor.go b/shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_visitor.go index 92203c79..17a8d893 100644 --- a/shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_visitor.go +++ b/shardingsphere-operator/pkg/distsql/visitor_parser/mask/rdlstatement_visitor.go @@ -1,5 +1,22 @@ // Code generated from RDLStatement.g4 by ANTLR 4.8. DO NOT EDIT. +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package parser // RDLStatement import "github.com/antlr/antlr4/runtime/Go/antlr" diff --git a/shardingsphere-operator/pkg/distsql/visitor_parser/read_write_splitting/rdlstatement_base_visitor.go b/shardingsphere-operator/pkg/distsql/visitor_parser/read_write_splitting/rdlstatement_base_visitor.go index b7e2f00a..709e9a33 100644 --- a/shardingsphere-operator/pkg/distsql/visitor_parser/read_write_splitting/rdlstatement_base_visitor.go +++ b/shardingsphere-operator/pkg/distsql/visitor_parser/read_write_splitting/rdlstatement_base_visitor.go @@ -1,5 +1,22 @@ // Code generated from RDLStatement.g4 by ANTLR 4.8. DO NOT EDIT. +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package parser // RDLStatement import "github.com/antlr/antlr4/runtime/Go/antlr" diff --git a/shardingsphere-operator/pkg/distsql/visitor_parser/read_write_splitting/rdlstatement_lexer.go b/shardingsphere-operator/pkg/distsql/visitor_parser/read_write_splitting/rdlstatement_lexer.go index f867a675..57f0726f 100644 --- a/shardingsphere-operator/pkg/distsql/visitor_parser/read_write_splitting/rdlstatement_lexer.go +++ b/shardingsphere-operator/pkg/distsql/visitor_parser/read_write_splitting/rdlstatement_lexer.go @@ -1,5 +1,22 @@ // Code generated from RDLStatement.g4 by ANTLR 4.8. DO NOT EDIT. +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package parser import ( diff --git a/shardingsphere-operator/pkg/distsql/visitor_parser/read_write_splitting/rdlstatement_parser.go b/shardingsphere-operator/pkg/distsql/visitor_parser/read_write_splitting/rdlstatement_parser.go index b805a549..ad003cd7 100644 --- a/shardingsphere-operator/pkg/distsql/visitor_parser/read_write_splitting/rdlstatement_parser.go +++ b/shardingsphere-operator/pkg/distsql/visitor_parser/read_write_splitting/rdlstatement_parser.go @@ -1,5 +1,22 @@ // Code generated from RDLStatement.g4 by ANTLR 4.8. DO NOT EDIT. +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package parser // RDLStatement import ( diff --git a/shardingsphere-operator/pkg/distsql/visitor_parser/read_write_splitting/rdlstatement_visitor.go b/shardingsphere-operator/pkg/distsql/visitor_parser/read_write_splitting/rdlstatement_visitor.go index c67af4ec..679ef5ff 100644 --- a/shardingsphere-operator/pkg/distsql/visitor_parser/read_write_splitting/rdlstatement_visitor.go +++ b/shardingsphere-operator/pkg/distsql/visitor_parser/read_write_splitting/rdlstatement_visitor.go @@ -1,5 +1,22 @@ // Code generated from RDLStatement.g4 by ANTLR 4.8. DO NOT EDIT. +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package parser // RDLStatement import "github.com/antlr/antlr4/runtime/Go/antlr" diff --git a/shardingsphere-operator/pkg/distsql/visitor_parser/shadow/rdlstatement_base_visitor.go b/shardingsphere-operator/pkg/distsql/visitor_parser/shadow/rdlstatement_base_visitor.go index cc283e13..192e9042 100644 --- a/shardingsphere-operator/pkg/distsql/visitor_parser/shadow/rdlstatement_base_visitor.go +++ b/shardingsphere-operator/pkg/distsql/visitor_parser/shadow/rdlstatement_base_visitor.go @@ -1,5 +1,22 @@ // Code generated from RDLStatement.g4 by ANTLR 4.8. DO NOT EDIT. +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package parser // RDLStatement import "github.com/antlr/antlr4/runtime/Go/antlr" diff --git a/shardingsphere-operator/pkg/distsql/visitor_parser/shadow/rdlstatement_lexer.go b/shardingsphere-operator/pkg/distsql/visitor_parser/shadow/rdlstatement_lexer.go index 8998a509..7aec19e4 100644 --- a/shardingsphere-operator/pkg/distsql/visitor_parser/shadow/rdlstatement_lexer.go +++ b/shardingsphere-operator/pkg/distsql/visitor_parser/shadow/rdlstatement_lexer.go @@ -1,5 +1,22 @@ // Code generated from RDLStatement.g4 by ANTLR 4.8. DO NOT EDIT. +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package parser import ( diff --git a/shardingsphere-operator/pkg/distsql/visitor_parser/shadow/rdlstatement_parser.go b/shardingsphere-operator/pkg/distsql/visitor_parser/shadow/rdlstatement_parser.go index cb384585..887165a7 100644 --- a/shardingsphere-operator/pkg/distsql/visitor_parser/shadow/rdlstatement_parser.go +++ b/shardingsphere-operator/pkg/distsql/visitor_parser/shadow/rdlstatement_parser.go @@ -1,5 +1,22 @@ // Code generated from RDLStatement.g4 by ANTLR 4.8. DO NOT EDIT. +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package parser // RDLStatement import ( diff --git a/shardingsphere-operator/pkg/distsql/visitor_parser/shadow/rdlstatement_visitor.go b/shardingsphere-operator/pkg/distsql/visitor_parser/shadow/rdlstatement_visitor.go index f0d0da94..7316d5d9 100644 --- a/shardingsphere-operator/pkg/distsql/visitor_parser/shadow/rdlstatement_visitor.go +++ b/shardingsphere-operator/pkg/distsql/visitor_parser/shadow/rdlstatement_visitor.go @@ -1,5 +1,22 @@ // Code generated from RDLStatement.g4 by ANTLR 4.8. DO NOT EDIT. +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package parser // RDLStatement import "github.com/antlr/antlr4/runtime/Go/antlr" diff --git a/shardingsphere-operator/pkg/distsql/visitor_parser/sharding/rdlstatement_base_visitor.go b/shardingsphere-operator/pkg/distsql/visitor_parser/sharding/rdlstatement_base_visitor.go index baa641fd..679dff7d 100644 --- a/shardingsphere-operator/pkg/distsql/visitor_parser/sharding/rdlstatement_base_visitor.go +++ b/shardingsphere-operator/pkg/distsql/visitor_parser/sharding/rdlstatement_base_visitor.go @@ -1,5 +1,22 @@ // Code generated from RDLStatement.g4 by ANTLR 4.8. DO NOT EDIT. +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package parser // RDLStatement import "github.com/antlr/antlr4/runtime/Go/antlr" diff --git a/shardingsphere-operator/pkg/distsql/visitor_parser/sharding/rdlstatement_lexer.go b/shardingsphere-operator/pkg/distsql/visitor_parser/sharding/rdlstatement_lexer.go index 82c87754..2f34ae69 100644 --- a/shardingsphere-operator/pkg/distsql/visitor_parser/sharding/rdlstatement_lexer.go +++ b/shardingsphere-operator/pkg/distsql/visitor_parser/sharding/rdlstatement_lexer.go @@ -1,5 +1,22 @@ // Code generated from RDLStatement.g4 by ANTLR 4.8. DO NOT EDIT. +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package parser import ( diff --git a/shardingsphere-operator/pkg/distsql/visitor_parser/sharding/rdlstatement_parser.go b/shardingsphere-operator/pkg/distsql/visitor_parser/sharding/rdlstatement_parser.go index 506e0462..a52888ca 100644 --- a/shardingsphere-operator/pkg/distsql/visitor_parser/sharding/rdlstatement_parser.go +++ b/shardingsphere-operator/pkg/distsql/visitor_parser/sharding/rdlstatement_parser.go @@ -1,5 +1,22 @@ // Code generated from RDLStatement.g4 by ANTLR 4.8. DO NOT EDIT. +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package parser // RDLStatement import ( diff --git a/shardingsphere-operator/pkg/distsql/visitor_parser/sharding/rdlstatement_visitor.go b/shardingsphere-operator/pkg/distsql/visitor_parser/sharding/rdlstatement_visitor.go index 666b0d09..96ff1cd2 100644 --- a/shardingsphere-operator/pkg/distsql/visitor_parser/sharding/rdlstatement_visitor.go +++ b/shardingsphere-operator/pkg/distsql/visitor_parser/sharding/rdlstatement_visitor.go @@ -1,5 +1,22 @@ // Code generated from RDLStatement.g4 by ANTLR 4.8. DO NOT EDIT. +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package parser // RDLStatement import "github.com/antlr/antlr4/runtime/Go/antlr" From cf92b082407e8f2e8349e3f55e3c150bf05de81f Mon Sep 17 00:00:00 2001 From: wangbo <875818649@qq.com> Date: Wed, 31 May 2023 07:13:03 +0000 Subject: [PATCH 4/6] chore: add nolint --- .../pkg/distsql/visitor/encrypt_rdl_visitor.go | 1 + shardingsphere-operator/pkg/distsql/visitor/mask_rdl_visitor.go | 1 + 2 files changed, 2 insertions(+) diff --git a/shardingsphere-operator/pkg/distsql/visitor/encrypt_rdl_visitor.go b/shardingsphere-operator/pkg/distsql/visitor/encrypt_rdl_visitor.go index edf573f1..eea05eaa 100644 --- a/shardingsphere-operator/pkg/distsql/visitor/encrypt_rdl_visitor.go +++ b/shardingsphere-operator/pkg/distsql/visitor/encrypt_rdl_visitor.go @@ -319,6 +319,7 @@ func (v *EncryptVisitor) VisitResourceName(ctx *parser.ResourceNameContext) *ast return stmt } +// nolint:gocognit func (v *EncryptVisitor) VisitLiteral(ctx *parser.LiteralContext) *ast.Literal { stmt := &ast.Literal{} switch { diff --git a/shardingsphere-operator/pkg/distsql/visitor/mask_rdl_visitor.go b/shardingsphere-operator/pkg/distsql/visitor/mask_rdl_visitor.go index 7c372acf..5d90e8b3 100644 --- a/shardingsphere-operator/pkg/distsql/visitor/mask_rdl_visitor.go +++ b/shardingsphere-operator/pkg/distsql/visitor/mask_rdl_visitor.go @@ -109,6 +109,7 @@ func (v *MaskVisitor) VisitIfNotExists(ctx *parser.IfNotExistsContext) *ast.IfNo } } +// nolint:gocognit func (v *MaskVisitor) VisitLiteral(ctx *parser.LiteralContext) *ast.Literal { stmt := &ast.Literal{} switch { From d74d2d19d6f5afd05241974e6a8850e10b280e7a Mon Sep 17 00:00:00 2001 From: wangbo <875818649@qq.com> Date: Wed, 31 May 2023 07:28:44 +0000 Subject: [PATCH 5/6] chore: skip lint --- .../pkg/distsql/visitor/encrypt_rdl_visitor.go | 2 +- shardingsphere-operator/pkg/distsql/visitor/mask_rdl_visitor.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/shardingsphere-operator/pkg/distsql/visitor/encrypt_rdl_visitor.go b/shardingsphere-operator/pkg/distsql/visitor/encrypt_rdl_visitor.go index eea05eaa..ab999289 100644 --- a/shardingsphere-operator/pkg/distsql/visitor/encrypt_rdl_visitor.go +++ b/shardingsphere-operator/pkg/distsql/visitor/encrypt_rdl_visitor.go @@ -319,7 +319,7 @@ func (v *EncryptVisitor) VisitResourceName(ctx *parser.ResourceNameContext) *ast return stmt } -// nolint:gocognit +// nolint func (v *EncryptVisitor) VisitLiteral(ctx *parser.LiteralContext) *ast.Literal { stmt := &ast.Literal{} switch { diff --git a/shardingsphere-operator/pkg/distsql/visitor/mask_rdl_visitor.go b/shardingsphere-operator/pkg/distsql/visitor/mask_rdl_visitor.go index 5d90e8b3..c9bef0e8 100644 --- a/shardingsphere-operator/pkg/distsql/visitor/mask_rdl_visitor.go +++ b/shardingsphere-operator/pkg/distsql/visitor/mask_rdl_visitor.go @@ -109,7 +109,7 @@ func (v *MaskVisitor) VisitIfNotExists(ctx *parser.IfNotExistsContext) *ast.IfNo } } -// nolint:gocognit +// nolint func (v *MaskVisitor) VisitLiteral(ctx *parser.LiteralContext) *ast.Literal { stmt := &ast.Literal{} switch { From e52f0932c4256035ccc28cdd7fa10dafb6922513 Mon Sep 17 00:00:00 2001 From: wangbo <875818649@qq.com> Date: Wed, 31 May 2023 07:47:49 +0000 Subject: [PATCH 6/6] chore: update note --- shardingsphere-operator/pkg/distsql/ast/encrypt_rdl_ast.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shardingsphere-operator/pkg/distsql/ast/encrypt_rdl_ast.go b/shardingsphere-operator/pkg/distsql/ast/encrypt_rdl_ast.go index 8e6adca7..e1c2a4b6 100644 --- a/shardingsphere-operator/pkg/distsql/ast/encrypt_rdl_ast.go +++ b/shardingsphere-operator/pkg/distsql/ast/encrypt_rdl_ast.go @@ -22,7 +22,7 @@ import ( "strings" ) -// Define RDL AST +// Define Create Encrypt Rule AST type CreateEncryptRule struct { IfNotExists *IfNotExists EncryptRuleDefinition *EncryptRuleDefinition