cariboujs 2.0.4 → 2.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +8 -2
  2. package/ada/ada2012/AdaLexer.js +486 -316
  3. package/ada/ada2012/AdaLexerBase.js +25 -0
  4. package/ada/ada2012/AdaParser.js +4547 -3823
  5. package/ada/ada2012/AdaParserBase.js +682 -0
  6. package/ada/ada2012/AdaParserListener.js +36 -0
  7. package/ada/ada2012/AdaParserVisitor.js +24 -0
  8. package/ada/ada2012/Symbol.js +20 -0
  9. package/ada/ada2012/SymbolTable.js +144 -0
  10. package/ada/ada2012/TypeClassification.js +15 -0
  11. package/ada/ada2022/AdaLexer.js +699 -0
  12. package/ada/ada2022/AdaLexerBase.js +25 -0
  13. package/ada/ada2022/AdaParser.js +37818 -0
  14. package/ada/ada2022/AdaParserBase.js +686 -0
  15. package/ada/ada2022/AdaParserListener.js +3024 -0
  16. package/ada/ada2022/AdaParserVisitor.js +2020 -0
  17. package/ada/ada2022/Symbol.js +20 -0
  18. package/ada/ada2022/SymbolTable.js +144 -0
  19. package/ada/ada2022/TypeClassification.js +15 -0
  20. package/c/CLexer.js +919 -0
  21. package/c/CLexerBase.js +96 -0
  22. package/c/CParser.js +14878 -0
  23. package/c/CParserBase.js +591 -0
  24. package/c/CParserListener.js +1062 -0
  25. package/c/CParserVisitor.js +712 -0
  26. package/c/ErrorListener.js +50 -0
  27. package/c/Symbol.js +28 -0
  28. package/c/SymbolTable.js +215 -0
  29. package/c/TypeClassification.js +21 -0
  30. package/cpp/CPP14Parser.js +215 -215
  31. package/cpp/CPP14ParserListener.js +56 -56
  32. package/cpp/CPP14ParserVisitor.js +28 -28
  33. package/csharp/v7/CSharpLexer.js +1339 -0
  34. package/csharp/v7/CSharpLexerBase.js +332 -0
  35. package/csharp/v7/CSharpParser.js +29239 -0
  36. package/csharp/v7/CSharpParserBase.js +48 -0
  37. package/csharp/v7/CSharpParserListener.js +2304 -0
  38. package/csharp/v7/CSharpParserVisitor.js +1540 -0
  39. package/csharp/v8-spec/CSharpLexer.js +1549 -0
  40. package/csharp/v8-spec/CSharpLexerBase.js +296 -0
  41. package/csharp/v8-spec/CSharpParser.js +45044 -0
  42. package/csharp/v8-spec/CSharpParserBase.js +569 -0
  43. package/csharp/v8-spec/CSharpParserListener.js +3582 -0
  44. package/csharp/v8-spec/CSharpParserVisitor.js +2392 -0
  45. package/geekcode/geekcodeLexer.js +232 -0
  46. package/geekcode/geekcodeListener.js +81 -0
  47. package/geekcode/geekcodeParser.js +1516 -0
  48. package/geekcode/geekcodeVisitor.js +58 -0
  49. package/kotlin/kotlin/KotlinLexer.js +1257 -1247
  50. package/kotlin/kotlin/KotlinParser.js +3991 -3425
  51. package/kotlin/kotlin/KotlinParserListener.js +36 -0
  52. package/kotlin/kotlin/KotlinParserVisitor.js +24 -0
  53. package/package.json +1 -1
  54. package/plantUML/PlantUMLLexer.js +215 -316
  55. package/plantUML/PlantUMLParser.js +1045 -2393
  56. package/plantUML/PlantUMLParserListener.js +171 -0
  57. package/plantUML/PlantUMLParserVisitor.js +118 -0
  58. package/sql/plsql/PlSqlParser.js +27973 -43771
  59. package/sql/plsql/PlSqlParserBase.js +30 -0
  60. package/sql/plsql/PlSqlParserListener.js +0 -9
  61. package/sql/plsql/PlSqlParserVisitor.js +0 -6
  62. package/sql/snowflake/SnowflakeLexer.js +5675 -5497
  63. package/sql/snowflake/SnowflakeParser.js +27230 -22653
  64. package/sql/snowflake/SnowflakeParserListener.js +278 -8
  65. package/sql/snowflake/SnowflakeParserVisitor.js +184 -4
  66. package/sql/sqlite/SQLiteParser.js +1115 -1115
  67. package/sql/sqlite/SQLiteParserListener.js +9 -9
  68. package/sql/sqlite/SQLiteParserVisitor.js +6 -6
  69. package/sysml-v2/SysMLv2Lexer.js +1047 -0
  70. package/sysml-v2/SysMLv2Parser.js +51339 -0
  71. package/sysml-v2/SysMLv2ParserListener.js +4464 -0
  72. package/sysml-v2/SysMLv2ParserVisitor.js +2980 -0
  73. package/plantUML/PlantUMLListener.js +0 -279
  74. package/plantUML/PlantUMLVisitor.js +0 -190
@@ -67,35 +67,35 @@ const serializedATN = [4,1,188,1801,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,
67
67
  792,8,28,1,28,1,28,1,28,1,28,1,28,3,28,799,8,28,1,28,3,28,802,8,28,1,28,
68
68
  3,28,805,8,28,1,28,3,28,808,8,28,1,29,1,29,3,29,812,8,29,1,29,1,29,1,30,
69
69
  1,30,1,30,1,30,3,30,820,8,30,1,30,1,30,1,30,3,30,825,8,30,1,30,1,30,1,31,
70
- 1,31,1,32,1,32,1,32,3,32,834,8,32,1,32,1,32,1,32,5,32,839,8,32,10,32,12,
71
- 32,842,9,32,1,32,3,32,845,8,32,1,32,3,32,848,8,32,1,32,1,32,3,32,852,8,32,
72
- 1,32,3,32,855,8,32,1,32,3,32,858,8,32,1,32,1,32,1,32,1,32,5,32,864,8,32,
73
- 10,32,12,32,867,9,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,
74
- 32,3,32,880,8,32,1,32,1,32,1,32,1,32,1,32,4,32,887,8,32,11,32,12,32,888,
75
- 1,32,1,32,3,32,893,8,32,1,32,1,32,1,32,3,32,898,8,32,1,33,1,33,1,33,5,33,
76
- 903,8,33,10,33,12,33,906,9,33,1,34,1,34,1,34,5,34,911,8,34,10,34,12,34,914,
77
- 9,34,1,35,5,35,917,8,35,10,35,12,35,920,9,35,1,35,1,35,1,36,1,36,1,36,1,
78
- 36,1,36,3,36,929,8,36,1,36,1,36,3,36,933,8,36,1,36,1,36,3,36,937,8,36,1,
79
- 36,1,36,1,36,1,36,1,36,1,36,3,36,945,8,36,1,36,1,36,1,36,1,36,1,36,1,36,
80
- 5,36,953,8,36,10,36,12,36,956,9,36,3,36,958,8,36,1,36,1,36,1,36,1,36,3,36,
81
- 964,8,36,1,36,1,36,1,36,1,36,3,36,970,8,36,1,36,1,36,1,36,1,36,1,36,5,36,
82
- 977,8,36,10,36,12,36,980,9,36,3,36,982,8,36,1,36,1,36,3,36,986,8,36,1,36,
83
- 3,36,989,8,36,1,36,1,36,1,36,1,36,3,36,995,8,36,1,36,1,36,3,36,999,8,36,
84
- 1,36,1,36,1,36,1,36,5,36,1005,8,36,10,36,12,36,1008,9,36,1,37,1,37,1,37,
85
- 5,37,1013,8,37,10,37,12,37,1016,9,37,1,38,1,38,1,38,5,38,1021,8,38,10,38,
86
- 12,38,1024,9,38,1,39,1,39,1,39,5,39,1029,8,39,10,39,12,39,1032,9,39,1,40,
87
- 1,40,1,40,5,40,1037,8,40,10,40,12,40,1040,9,40,1,41,1,41,1,41,5,41,1045,
88
- 8,41,10,41,12,41,1048,9,41,1,42,1,42,1,42,5,42,1053,8,42,10,42,12,42,1056,
89
- 9,42,1,43,5,43,1059,8,43,10,43,12,43,1062,9,43,1,43,1,43,1,44,1,44,1,44,
90
- 1,44,1,44,3,44,1071,8,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,1079,8,44,1,
91
- 44,3,44,1082,8,44,1,44,1,44,1,44,1,44,1,44,3,44,1089,8,44,1,45,1,45,1,45,
92
- 1,45,1,45,1,45,3,45,1097,8,45,1,45,1,45,1,46,1,46,1,47,1,47,1,47,1,47,1,
93
- 47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,5,48,1115,8,48,10,48,12,48,1118,9,
94
- 48,1,48,1,48,1,49,1,49,1,49,1,49,5,49,1126,8,49,10,49,12,49,1129,9,49,1,
95
- 50,3,50,1132,8,50,1,50,1,50,1,50,1,50,1,50,3,50,1139,8,50,1,50,1,50,1,50,
96
- 1,50,3,50,1145,8,50,1,50,1,50,1,50,3,50,1150,8,50,1,50,1,50,1,50,1,50,5,
97
- 50,1156,8,50,10,50,12,50,1159,9,50,1,50,1,50,3,50,1163,8,50,1,50,1,50,5,
98
- 50,1167,8,50,10,50,12,50,1170,9,50,1,50,1,50,3,50,1174,8,50,1,50,3,50,1177,
70
+ 1,31,1,32,1,32,1,32,5,32,834,8,32,10,32,12,32,837,9,32,1,33,1,33,1,33,5,
71
+ 33,842,8,33,10,33,12,33,845,9,33,1,34,5,34,848,8,34,10,34,12,34,851,9,34,
72
+ 1,34,1,34,1,35,1,35,1,35,1,35,1,35,3,35,860,8,35,1,35,1,35,3,35,864,8,35,
73
+ 1,35,1,35,3,35,868,8,35,1,35,1,35,1,35,1,35,1,35,1,35,3,35,876,8,35,1,35,
74
+ 1,35,1,35,1,35,1,35,1,35,5,35,884,8,35,10,35,12,35,887,9,35,3,35,889,8,35,
75
+ 1,35,1,35,1,35,1,35,3,35,895,8,35,1,35,1,35,1,35,1,35,3,35,901,8,35,1,35,
76
+ 1,35,1,35,1,35,1,35,5,35,908,8,35,10,35,12,35,911,9,35,3,35,913,8,35,1,35,
77
+ 1,35,3,35,917,8,35,1,35,3,35,920,8,35,1,35,1,35,1,35,1,35,3,35,926,8,35,
78
+ 1,35,1,35,3,35,930,8,35,1,35,1,35,1,35,1,35,5,35,936,8,35,10,35,12,35,939,
79
+ 9,35,1,36,1,36,1,36,5,36,944,8,36,10,36,12,36,947,9,36,1,37,1,37,1,37,5,
80
+ 37,952,8,37,10,37,12,37,955,9,37,1,38,1,38,1,38,5,38,960,8,38,10,38,12,38,
81
+ 963,9,38,1,39,1,39,1,39,5,39,968,8,39,10,39,12,39,971,9,39,1,40,1,40,1,40,
82
+ 5,40,976,8,40,10,40,12,40,979,9,40,1,41,1,41,1,41,5,41,984,8,41,10,41,12,
83
+ 41,987,9,41,1,42,5,42,990,8,42,10,42,12,42,993,9,42,1,42,1,42,1,43,1,43,
84
+ 1,43,1,43,1,43,3,43,1002,8,43,1,43,1,43,1,43,1,43,1,43,1,43,3,43,1010,8,
85
+ 43,1,43,3,43,1013,8,43,1,43,1,43,1,43,1,43,1,43,1,43,3,43,1021,8,43,1,44,
86
+ 1,44,1,44,3,44,1026,8,44,1,44,1,44,1,44,5,44,1031,8,44,10,44,12,44,1034,
87
+ 9,44,1,44,3,44,1037,8,44,1,44,3,44,1040,8,44,1,44,1,44,3,44,1044,8,44,1,
88
+ 44,3,44,1047,8,44,1,44,3,44,1050,8,44,1,44,1,44,1,44,1,44,5,44,1056,8,44,
89
+ 10,44,12,44,1059,9,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,
90
+ 1,44,3,44,1072,8,44,1,44,1,44,1,44,1,44,1,44,4,44,1079,8,44,11,44,12,44,
91
+ 1080,1,44,1,44,3,44,1085,8,44,1,44,1,44,3,44,1089,8,44,1,45,1,45,1,45,1,
92
+ 45,1,45,1,45,3,45,1097,8,45,1,45,1,45,1,46,1,46,1,47,1,47,1,47,1,47,1,47,
93
+ 1,47,1,47,1,47,1,48,1,48,1,48,1,48,5,48,1115,8,48,10,48,12,48,1118,9,48,
94
+ 1,48,1,48,1,49,1,49,1,49,1,49,5,49,1126,8,49,10,49,12,49,1129,9,49,1,50,
95
+ 3,50,1132,8,50,1,50,1,50,1,50,1,50,1,50,3,50,1139,8,50,1,50,1,50,1,50,1,
96
+ 50,3,50,1145,8,50,1,50,1,50,1,50,3,50,1150,8,50,1,50,1,50,1,50,1,50,5,50,
97
+ 1156,8,50,10,50,12,50,1159,9,50,1,50,1,50,3,50,1163,8,50,1,50,1,50,5,50,
98
+ 1167,8,50,10,50,12,50,1170,9,50,1,50,1,50,3,50,1174,8,50,1,50,3,50,1177,
99
99
  8,50,1,51,1,51,1,51,1,51,3,51,1183,8,51,1,51,3,51,1186,8,51,3,51,1188,8,
100
100
  51,1,51,1,51,1,51,1,51,3,51,1194,8,51,1,51,3,51,1197,8,51,3,51,1199,8,51,
101
101
  5,51,1201,8,51,10,51,12,51,1204,9,51,1,52,1,52,1,52,1,52,1,52,1,52,5,52,
@@ -172,56 +172,56 @@ const serializedATN = [4,1,188,1801,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,
172
172
  1,0,0,0,28,438,1,0,0,0,30,451,1,0,0,0,32,462,1,0,0,0,34,480,1,0,0,0,36,534,
173
173
  1,0,0,0,38,540,1,0,0,0,40,581,1,0,0,0,42,623,1,0,0,0,44,627,1,0,0,0,46,691,
174
174
  1,0,0,0,48,723,1,0,0,0,50,752,1,0,0,0,52,764,1,0,0,0,54,776,1,0,0,0,56,791,
175
- 1,0,0,0,58,809,1,0,0,0,60,815,1,0,0,0,62,828,1,0,0,0,64,897,1,0,0,0,66,899,
176
- 1,0,0,0,68,907,1,0,0,0,70,918,1,0,0,0,72,923,1,0,0,0,74,1009,1,0,0,0,76,
177
- 1017,1,0,0,0,78,1025,1,0,0,0,80,1033,1,0,0,0,82,1041,1,0,0,0,84,1049,1,0,
178
- 0,0,86,1060,1,0,0,0,88,1088,1,0,0,0,90,1090,1,0,0,0,92,1100,1,0,0,0,94,1102,
179
- 1,0,0,0,96,1110,1,0,0,0,98,1121,1,0,0,0,100,1131,1,0,0,0,102,1178,1,0,0,
180
- 0,104,1205,1,0,0,0,106,1252,1,0,0,0,108,1270,1,0,0,0,110,1272,1,0,0,0,112,
181
- 1286,1,0,0,0,114,1303,1,0,0,0,116,1367,1,0,0,0,118,1422,1,0,0,0,120,1436,
182
- 1,0,0,0,122,1451,1,0,0,0,124,1467,1,0,0,0,126,1475,1,0,0,0,128,1478,1,0,
183
- 0,0,130,1523,1,0,0,0,132,1537,1,0,0,0,134,1551,1,0,0,0,136,1559,1,0,0,0,
184
- 138,1565,1,0,0,0,140,1589,1,0,0,0,142,1616,1,0,0,0,144,1628,1,0,0,0,146,
185
- 1637,1,0,0,0,148,1647,1,0,0,0,150,1653,1,0,0,0,152,1665,1,0,0,0,154,1675,
186
- 1,0,0,0,156,1685,1,0,0,0,158,1692,1,0,0,0,160,1694,1,0,0,0,162,1696,1,0,
187
- 0,0,164,1701,1,0,0,0,166,1713,1,0,0,0,168,1724,1,0,0,0,170,1726,1,0,0,0,
188
- 172,1728,1,0,0,0,174,1733,1,0,0,0,176,1735,1,0,0,0,178,1737,1,0,0,0,180,
189
- 1739,1,0,0,0,182,1741,1,0,0,0,184,1743,1,0,0,0,186,1745,1,0,0,0,188,1747,
190
- 1,0,0,0,190,1749,1,0,0,0,192,1751,1,0,0,0,194,1753,1,0,0,0,196,1755,1,0,
191
- 0,0,198,1757,1,0,0,0,200,1759,1,0,0,0,202,1761,1,0,0,0,204,1763,1,0,0,0,
192
- 206,1765,1,0,0,0,208,1767,1,0,0,0,210,1769,1,0,0,0,212,1771,1,0,0,0,214,
193
- 1773,1,0,0,0,216,1775,1,0,0,0,218,1777,1,0,0,0,220,1783,1,0,0,0,222,1789,
194
- 1,0,0,0,224,1793,1,0,0,0,226,1798,1,0,0,0,228,229,3,2,1,0,229,230,5,0,0,
195
- 1,230,1,1,0,0,0,231,233,3,4,2,0,232,231,1,0,0,0,232,233,1,0,0,0,233,240,
196
- 1,0,0,0,234,236,5,1,0,0,235,237,3,4,2,0,236,235,1,0,0,0,236,237,1,0,0,0,
197
- 237,239,1,0,0,0,238,234,1,0,0,0,239,242,1,0,0,0,240,238,1,0,0,0,240,241,
198
- 1,0,0,0,241,3,1,0,0,0,242,240,1,0,0,0,243,246,5,77,0,0,244,245,5,134,0,0,
199
- 245,247,5,130,0,0,246,244,1,0,0,0,246,247,1,0,0,0,247,249,1,0,0,0,248,243,
200
- 1,0,0,0,248,249,1,0,0,0,249,272,1,0,0,0,250,273,3,6,3,0,251,273,3,8,4,0,
201
- 252,273,3,10,5,0,253,273,3,12,6,0,254,273,3,14,7,0,255,273,3,22,11,0,256,
202
- 273,3,26,13,0,257,273,3,44,22,0,258,273,3,46,23,0,259,273,3,48,24,0,260,
203
- 273,3,56,28,0,261,273,3,58,29,0,262,273,3,60,30,0,263,273,3,100,50,0,264,
204
- 273,3,106,53,0,265,273,3,110,55,0,266,273,3,20,10,0,267,273,3,16,8,0,268,
205
- 273,3,18,9,0,269,273,3,112,56,0,270,273,3,128,64,0,271,273,3,134,67,0,272,
206
- 250,1,0,0,0,272,251,1,0,0,0,272,252,1,0,0,0,272,253,1,0,0,0,272,254,1,0,
207
- 0,0,272,255,1,0,0,0,272,256,1,0,0,0,272,257,1,0,0,0,272,258,1,0,0,0,272,
208
- 259,1,0,0,0,272,260,1,0,0,0,272,261,1,0,0,0,272,262,1,0,0,0,272,263,1,0,
209
- 0,0,272,264,1,0,0,0,272,265,1,0,0,0,272,266,1,0,0,0,272,267,1,0,0,0,272,
210
- 268,1,0,0,0,272,269,1,0,0,0,272,270,1,0,0,0,272,271,1,0,0,0,273,5,1,0,0,
211
- 0,274,275,5,32,0,0,275,279,5,156,0,0,276,277,3,180,90,0,277,278,5,2,0,0,
212
- 278,280,1,0,0,0,279,276,1,0,0,0,279,280,1,0,0,0,280,281,1,0,0,0,281,304,
213
- 3,182,91,0,282,292,5,142,0,0,283,284,5,161,0,0,284,293,3,182,91,0,285,287,
214
- 5,49,0,0,286,285,1,0,0,0,286,287,1,0,0,0,287,288,1,0,0,0,288,289,3,186,93,
215
- 0,289,290,5,161,0,0,290,291,3,186,93,0,291,293,1,0,0,0,292,283,1,0,0,0,292,
216
- 286,1,0,0,0,293,305,1,0,0,0,294,296,5,29,0,0,295,297,5,49,0,0,296,295,1,
217
- 0,0,0,296,297,1,0,0,0,297,298,1,0,0,0,298,305,3,30,15,0,299,301,5,68,0,0,
218
- 300,302,5,49,0,0,301,300,1,0,0,0,301,302,1,0,0,0,302,303,1,0,0,0,303,305,
219
- 3,186,93,0,304,282,1,0,0,0,304,294,1,0,0,0,304,299,1,0,0,0,305,7,1,0,0,0,
220
- 306,314,5,34,0,0,307,315,3,180,90,0,308,309,3,180,90,0,309,310,5,2,0,0,310,
221
- 312,1,0,0,0,311,308,1,0,0,0,311,312,1,0,0,0,312,313,1,0,0,0,313,315,3,184,
222
- 92,0,314,307,1,0,0,0,314,311,1,0,0,0,314,315,1,0,0,0,315,9,1,0,0,0,316,318,
223
- 5,38,0,0,317,319,5,59,0,0,318,317,1,0,0,0,318,319,1,0,0,0,319,320,1,0,0,
224
- 0,320,321,3,62,31,0,321,322,5,36,0,0,322,323,3,180,90,0,323,11,1,0,0,0,324,
175
+ 1,0,0,0,58,809,1,0,0,0,60,815,1,0,0,0,62,828,1,0,0,0,64,830,1,0,0,0,66,838,
176
+ 1,0,0,0,68,849,1,0,0,0,70,854,1,0,0,0,72,940,1,0,0,0,74,948,1,0,0,0,76,956,
177
+ 1,0,0,0,78,964,1,0,0,0,80,972,1,0,0,0,82,980,1,0,0,0,84,991,1,0,0,0,86,1020,
178
+ 1,0,0,0,88,1088,1,0,0,0,90,1090,1,0,0,0,92,1100,1,0,0,0,94,1102,1,0,0,0,
179
+ 96,1110,1,0,0,0,98,1121,1,0,0,0,100,1131,1,0,0,0,102,1178,1,0,0,0,104,1205,
180
+ 1,0,0,0,106,1252,1,0,0,0,108,1270,1,0,0,0,110,1272,1,0,0,0,112,1286,1,0,
181
+ 0,0,114,1303,1,0,0,0,116,1367,1,0,0,0,118,1422,1,0,0,0,120,1436,1,0,0,0,
182
+ 122,1451,1,0,0,0,124,1467,1,0,0,0,126,1475,1,0,0,0,128,1478,1,0,0,0,130,
183
+ 1523,1,0,0,0,132,1537,1,0,0,0,134,1551,1,0,0,0,136,1559,1,0,0,0,138,1565,
184
+ 1,0,0,0,140,1589,1,0,0,0,142,1616,1,0,0,0,144,1628,1,0,0,0,146,1637,1,0,
185
+ 0,0,148,1647,1,0,0,0,150,1653,1,0,0,0,152,1665,1,0,0,0,154,1675,1,0,0,0,
186
+ 156,1685,1,0,0,0,158,1692,1,0,0,0,160,1694,1,0,0,0,162,1696,1,0,0,0,164,
187
+ 1701,1,0,0,0,166,1713,1,0,0,0,168,1724,1,0,0,0,170,1726,1,0,0,0,172,1728,
188
+ 1,0,0,0,174,1733,1,0,0,0,176,1735,1,0,0,0,178,1737,1,0,0,0,180,1739,1,0,
189
+ 0,0,182,1741,1,0,0,0,184,1743,1,0,0,0,186,1745,1,0,0,0,188,1747,1,0,0,0,
190
+ 190,1749,1,0,0,0,192,1751,1,0,0,0,194,1753,1,0,0,0,196,1755,1,0,0,0,198,
191
+ 1757,1,0,0,0,200,1759,1,0,0,0,202,1761,1,0,0,0,204,1763,1,0,0,0,206,1765,
192
+ 1,0,0,0,208,1767,1,0,0,0,210,1769,1,0,0,0,212,1771,1,0,0,0,214,1773,1,0,
193
+ 0,0,216,1775,1,0,0,0,218,1777,1,0,0,0,220,1783,1,0,0,0,222,1789,1,0,0,0,
194
+ 224,1793,1,0,0,0,226,1798,1,0,0,0,228,229,3,2,1,0,229,230,5,0,0,1,230,1,
195
+ 1,0,0,0,231,233,3,4,2,0,232,231,1,0,0,0,232,233,1,0,0,0,233,240,1,0,0,0,
196
+ 234,236,5,1,0,0,235,237,3,4,2,0,236,235,1,0,0,0,236,237,1,0,0,0,237,239,
197
+ 1,0,0,0,238,234,1,0,0,0,239,242,1,0,0,0,240,238,1,0,0,0,240,241,1,0,0,0,
198
+ 241,3,1,0,0,0,242,240,1,0,0,0,243,246,5,77,0,0,244,245,5,134,0,0,245,247,
199
+ 5,130,0,0,246,244,1,0,0,0,246,247,1,0,0,0,247,249,1,0,0,0,248,243,1,0,0,
200
+ 0,248,249,1,0,0,0,249,272,1,0,0,0,250,273,3,6,3,0,251,273,3,8,4,0,252,273,
201
+ 3,10,5,0,253,273,3,12,6,0,254,273,3,14,7,0,255,273,3,22,11,0,256,273,3,26,
202
+ 13,0,257,273,3,44,22,0,258,273,3,46,23,0,259,273,3,48,24,0,260,273,3,56,
203
+ 28,0,261,273,3,58,29,0,262,273,3,60,30,0,263,273,3,100,50,0,264,273,3,106,
204
+ 53,0,265,273,3,110,55,0,266,273,3,20,10,0,267,273,3,16,8,0,268,273,3,18,
205
+ 9,0,269,273,3,112,56,0,270,273,3,128,64,0,271,273,3,134,67,0,272,250,1,0,
206
+ 0,0,272,251,1,0,0,0,272,252,1,0,0,0,272,253,1,0,0,0,272,254,1,0,0,0,272,
207
+ 255,1,0,0,0,272,256,1,0,0,0,272,257,1,0,0,0,272,258,1,0,0,0,272,259,1,0,
208
+ 0,0,272,260,1,0,0,0,272,261,1,0,0,0,272,262,1,0,0,0,272,263,1,0,0,0,272,
209
+ 264,1,0,0,0,272,265,1,0,0,0,272,266,1,0,0,0,272,267,1,0,0,0,272,268,1,0,
210
+ 0,0,272,269,1,0,0,0,272,270,1,0,0,0,272,271,1,0,0,0,273,5,1,0,0,0,274,275,
211
+ 5,32,0,0,275,279,5,156,0,0,276,277,3,180,90,0,277,278,5,2,0,0,278,280,1,
212
+ 0,0,0,279,276,1,0,0,0,279,280,1,0,0,0,280,281,1,0,0,0,281,304,3,182,91,0,
213
+ 282,292,5,142,0,0,283,284,5,161,0,0,284,293,3,182,91,0,285,287,5,49,0,0,
214
+ 286,285,1,0,0,0,286,287,1,0,0,0,287,288,1,0,0,0,288,289,3,186,93,0,289,290,
215
+ 5,161,0,0,290,291,3,186,93,0,291,293,1,0,0,0,292,283,1,0,0,0,292,286,1,0,
216
+ 0,0,293,305,1,0,0,0,294,296,5,29,0,0,295,297,5,49,0,0,296,295,1,0,0,0,296,
217
+ 297,1,0,0,0,297,298,1,0,0,0,298,305,3,30,15,0,299,301,5,68,0,0,300,302,5,
218
+ 49,0,0,301,300,1,0,0,0,301,302,1,0,0,0,302,303,1,0,0,0,303,305,3,186,93,
219
+ 0,304,282,1,0,0,0,304,294,1,0,0,0,304,299,1,0,0,0,305,7,1,0,0,0,306,314,
220
+ 5,34,0,0,307,315,3,180,90,0,308,309,3,180,90,0,309,310,5,2,0,0,310,312,1,
221
+ 0,0,0,311,308,1,0,0,0,311,312,1,0,0,0,312,313,1,0,0,0,313,315,3,184,92,0,
222
+ 314,307,1,0,0,0,314,311,1,0,0,0,314,315,1,0,0,0,315,9,1,0,0,0,316,318,5,
223
+ 38,0,0,317,319,5,59,0,0,318,317,1,0,0,0,318,319,1,0,0,0,319,320,1,0,0,0,
224
+ 320,321,3,62,31,0,321,322,5,36,0,0,322,323,3,180,90,0,323,11,1,0,0,0,324,
225
225
  326,5,41,0,0,325,327,7,0,0,0,326,325,1,0,0,0,326,327,1,0,0,0,327,329,1,0,
226
226
  0,0,328,330,5,162,0,0,329,328,1,0,0,0,329,330,1,0,0,0,330,13,1,0,0,0,331,
227
227
  333,7,1,0,0,332,334,5,162,0,0,333,332,1,0,0,0,333,334,1,0,0,0,334,15,1,0,
@@ -360,315 +360,315 @@ const serializedATN = [4,1,188,1801,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,
360
360
  9,0,0,817,818,5,92,0,0,818,820,5,76,0,0,819,817,1,0,0,0,819,820,1,0,0,0,
361
361
  820,824,1,0,0,0,821,822,3,180,90,0,822,823,5,2,0,0,823,825,1,0,0,0,824,821,
362
362
  1,0,0,0,824,825,1,0,0,0,825,826,1,0,0,0,826,827,3,226,113,0,827,61,1,0,0,
363
- 0,828,829,3,64,32,0,829,63,1,0,0,0,830,831,3,178,89,0,831,847,5,3,0,0,832,
364
- 834,5,66,0,0,833,832,1,0,0,0,833,834,1,0,0,0,834,835,1,0,0,0,835,840,3,62,
365
- 31,0,836,837,5,5,0,0,837,839,3,62,31,0,838,836,1,0,0,0,839,842,1,0,0,0,840,
366
- 838,1,0,0,0,840,841,1,0,0,0,841,844,1,0,0,0,842,840,1,0,0,0,843,845,3,146,
367
- 73,0,844,843,1,0,0,0,844,845,1,0,0,0,845,848,1,0,0,0,846,848,5,7,0,0,847,
368
- 833,1,0,0,0,847,846,1,0,0,0,847,848,1,0,0,0,848,849,1,0,0,0,849,851,5,4,
369
- 0,0,850,852,3,94,47,0,851,850,1,0,0,0,851,852,1,0,0,0,852,854,1,0,0,0,853,
370
- 855,3,136,68,0,854,853,1,0,0,0,854,855,1,0,0,0,855,857,1,0,0,0,856,858,3,
371
- 140,70,0,857,856,1,0,0,0,857,858,1,0,0,0,858,898,1,0,0,0,859,860,5,3,0,0,
372
- 860,865,3,62,31,0,861,862,5,5,0,0,862,864,3,62,31,0,863,861,1,0,0,0,864,
373
- 867,1,0,0,0,865,863,1,0,0,0,865,866,1,0,0,0,866,868,1,0,0,0,867,865,1,0,
374
- 0,0,868,869,5,4,0,0,869,898,1,0,0,0,870,871,5,46,0,0,871,872,5,3,0,0,872,
375
- 873,3,62,31,0,873,874,5,36,0,0,874,875,3,32,16,0,875,876,5,4,0,0,876,898,
376
- 1,0,0,0,877,879,5,45,0,0,878,880,3,62,31,0,879,878,1,0,0,0,879,880,1,0,0,
377
- 0,880,886,1,0,0,0,881,882,5,174,0,0,882,883,3,62,31,0,883,884,5,159,0,0,
378
- 884,885,3,62,31,0,885,887,1,0,0,0,886,881,1,0,0,0,887,888,1,0,0,0,888,886,
379
- 1,0,0,0,888,889,1,0,0,0,889,892,1,0,0,0,890,891,5,70,0,0,891,893,3,62,31,
380
- 0,892,890,1,0,0,0,892,893,1,0,0,0,893,894,1,0,0,0,894,895,5,71,0,0,895,898,
381
- 1,0,0,0,896,898,3,66,33,0,897,830,1,0,0,0,897,859,1,0,0,0,897,870,1,0,0,
382
- 0,897,877,1,0,0,0,897,896,1,0,0,0,898,65,1,0,0,0,899,904,3,68,34,0,900,901,
383
- 5,124,0,0,901,903,3,68,34,0,902,900,1,0,0,0,903,906,1,0,0,0,904,902,1,0,
384
- 0,0,904,905,1,0,0,0,905,67,1,0,0,0,906,904,1,0,0,0,907,912,3,70,35,0,908,
385
- 909,5,35,0,0,909,911,3,70,35,0,910,908,1,0,0,0,911,914,1,0,0,0,912,910,1,
386
- 0,0,0,912,913,1,0,0,0,913,69,1,0,0,0,914,912,1,0,0,0,915,917,5,116,0,0,916,
387
- 915,1,0,0,0,917,920,1,0,0,0,918,916,1,0,0,0,918,919,1,0,0,0,919,921,1,0,
388
- 0,0,920,918,1,0,0,0,921,922,3,72,36,0,922,71,1,0,0,0,923,1006,3,74,37,0,
389
- 924,925,7,10,0,0,925,1005,3,74,37,0,926,928,5,104,0,0,927,929,5,116,0,0,
390
- 928,927,1,0,0,0,928,929,1,0,0,0,929,932,1,0,0,0,930,931,5,66,0,0,931,933,
391
- 5,85,0,0,932,930,1,0,0,0,932,933,1,0,0,0,933,934,1,0,0,0,934,1005,3,74,37,
392
- 0,935,937,5,116,0,0,936,935,1,0,0,0,936,937,1,0,0,0,937,938,1,0,0,0,938,
393
- 939,5,42,0,0,939,940,3,74,37,0,940,941,5,35,0,0,941,942,3,74,37,0,942,1005,
394
- 1,0,0,0,943,945,5,116,0,0,944,943,1,0,0,0,944,945,1,0,0,0,945,946,1,0,0,
395
- 0,946,985,5,95,0,0,947,957,5,3,0,0,948,958,3,112,56,0,949,954,3,74,37,0,
396
- 950,951,5,5,0,0,951,953,3,74,37,0,952,950,1,0,0,0,953,956,1,0,0,0,954,952,
397
- 1,0,0,0,954,955,1,0,0,0,955,958,1,0,0,0,956,954,1,0,0,0,957,948,1,0,0,0,
398
- 957,949,1,0,0,0,957,958,1,0,0,0,958,959,1,0,0,0,959,986,5,4,0,0,960,961,
399
- 3,180,90,0,961,962,5,2,0,0,962,964,1,0,0,0,963,960,1,0,0,0,963,964,1,0,0,
400
- 0,964,965,1,0,0,0,965,986,3,182,91,0,966,967,3,180,90,0,967,968,5,2,0,0,
401
- 968,970,1,0,0,0,969,966,1,0,0,0,969,970,1,0,0,0,970,971,1,0,0,0,971,972,
402
- 3,218,109,0,972,981,5,3,0,0,973,978,3,74,37,0,974,975,5,5,0,0,975,977,3,
403
- 74,37,0,976,974,1,0,0,0,977,980,1,0,0,0,978,976,1,0,0,0,978,979,1,0,0,0,
404
- 979,982,1,0,0,0,980,978,1,0,0,0,981,973,1,0,0,0,981,982,1,0,0,0,982,983,
405
- 1,0,0,0,983,984,5,4,0,0,984,986,1,0,0,0,985,947,1,0,0,0,985,963,1,0,0,0,
406
- 985,969,1,0,0,0,986,1005,1,0,0,0,987,989,5,116,0,0,988,987,1,0,0,0,988,989,
407
- 1,0,0,0,989,998,1,0,0,0,990,991,5,110,0,0,991,994,3,74,37,0,992,993,5,72,
408
- 0,0,993,995,3,74,37,0,994,992,1,0,0,0,994,995,1,0,0,0,995,999,1,0,0,0,996,
409
- 997,7,11,0,0,997,999,3,74,37,0,998,990,1,0,0,0,998,996,1,0,0,0,999,1005,
410
- 1,0,0,0,1000,1005,5,105,0,0,1001,1005,5,118,0,0,1002,1003,5,116,0,0,1003,
411
- 1005,5,119,0,0,1004,924,1,0,0,0,1004,926,1,0,0,0,1004,936,1,0,0,0,1004,944,
412
- 1,0,0,0,1004,988,1,0,0,0,1004,1000,1,0,0,0,1004,1001,1,0,0,0,1004,1002,1,
413
- 0,0,0,1005,1008,1,0,0,0,1006,1004,1,0,0,0,1006,1007,1,0,0,0,1007,73,1,0,
414
- 0,0,1008,1006,1,0,0,0,1009,1014,3,76,38,0,1010,1011,7,12,0,0,1011,1013,3,
415
- 76,38,0,1012,1010,1,0,0,0,1013,1016,1,0,0,0,1014,1012,1,0,0,0,1014,1015,
416
- 1,0,0,0,1015,75,1,0,0,0,1016,1014,1,0,0,0,1017,1022,3,78,39,0,1018,1019,
417
- 7,13,0,0,1019,1021,3,78,39,0,1020,1018,1,0,0,0,1021,1024,1,0,0,0,1022,1020,
418
- 1,0,0,0,1022,1023,1,0,0,0,1023,77,1,0,0,0,1024,1022,1,0,0,0,1025,1030,3,
419
- 80,40,0,1026,1027,7,4,0,0,1027,1029,3,80,40,0,1028,1026,1,0,0,0,1029,1032,
420
- 1,0,0,0,1030,1028,1,0,0,0,1030,1031,1,0,0,0,1031,79,1,0,0,0,1032,1030,1,
421
- 0,0,0,1033,1038,3,82,41,0,1034,1035,7,14,0,0,1035,1037,3,82,41,0,1036,1034,
422
- 1,0,0,0,1037,1040,1,0,0,0,1038,1036,1,0,0,0,1038,1039,1,0,0,0,1039,81,1,
423
- 0,0,0,1040,1038,1,0,0,0,1041,1046,3,84,42,0,1042,1043,7,15,0,0,1043,1045,
424
- 3,84,42,0,1044,1042,1,0,0,0,1045,1048,1,0,0,0,1046,1044,1,0,0,0,1046,1047,
425
- 1,0,0,0,1047,83,1,0,0,0,1048,1046,1,0,0,0,1049,1054,3,86,43,0,1050,1051,
426
- 5,48,0,0,1051,1053,3,192,96,0,1052,1050,1,0,0,0,1053,1056,1,0,0,0,1054,1052,
427
- 1,0,0,0,1054,1055,1,0,0,0,1055,85,1,0,0,0,1056,1054,1,0,0,0,1057,1059,7,
428
- 16,0,0,1058,1057,1,0,0,0,1059,1062,1,0,0,0,1060,1058,1,0,0,0,1060,1061,1,
429
- 0,0,0,1061,1063,1,0,0,0,1062,1060,1,0,0,0,1063,1064,3,88,44,0,1064,87,1,
430
- 0,0,0,1065,1089,3,92,46,0,1066,1089,5,182,0,0,1067,1068,3,180,90,0,1068,
431
- 1069,5,2,0,0,1069,1071,1,0,0,0,1070,1067,1,0,0,0,1070,1071,1,0,0,0,1071,
432
- 1072,1,0,0,0,1072,1073,3,182,91,0,1073,1074,5,2,0,0,1074,1075,3,186,93,0,
433
- 1075,1089,1,0,0,0,1076,1089,3,188,94,0,1077,1079,5,116,0,0,1078,1077,1,0,
434
- 0,0,1078,1079,1,0,0,0,1079,1080,1,0,0,0,1080,1082,5,76,0,0,1081,1078,1,0,
435
- 0,0,1081,1082,1,0,0,0,1082,1083,1,0,0,0,1083,1084,5,3,0,0,1084,1085,3,112,
436
- 56,0,1085,1086,5,4,0,0,1086,1089,1,0,0,0,1087,1089,3,90,45,0,1088,1065,1,
437
- 0,0,0,1088,1066,1,0,0,0,1088,1070,1,0,0,0,1088,1076,1,0,0,0,1088,1081,1,
438
- 0,0,0,1088,1087,1,0,0,0,1089,89,1,0,0,0,1090,1091,5,135,0,0,1091,1096,5,
439
- 3,0,0,1092,1097,5,93,0,0,1093,1094,7,17,0,0,1094,1095,5,5,0,0,1095,1097,
440
- 3,160,80,0,1096,1092,1,0,0,0,1096,1093,1,0,0,0,1097,1098,1,0,0,0,1098,1099,
441
- 5,4,0,0,1099,91,1,0,0,0,1100,1101,7,18,0,0,1101,93,1,0,0,0,1102,1103,5,178,
442
- 0,0,1103,1104,5,89,0,0,1104,1105,5,3,0,0,1105,1106,5,125,0,0,1106,1107,5,
443
- 43,0,0,1107,1108,3,62,31,0,1108,1109,5,4,0,0,1109,95,1,0,0,0,1110,1111,5,
444
- 3,0,0,1111,1116,3,62,31,0,1112,1113,5,5,0,0,1113,1115,3,62,31,0,1114,1112,
445
- 1,0,0,0,1115,1118,1,0,0,0,1116,1114,1,0,0,0,1116,1117,1,0,0,0,1117,1119,
446
- 1,0,0,0,1118,1116,1,0,0,0,1119,1120,5,4,0,0,1120,97,1,0,0,0,1121,1122,5,
447
- 171,0,0,1122,1127,3,96,48,0,1123,1124,5,5,0,0,1124,1126,3,96,48,0,1125,1123,
448
- 1,0,0,0,1126,1129,1,0,0,0,1127,1125,1,0,0,0,1127,1128,1,0,0,0,1128,99,1,
449
- 0,0,0,1129,1127,1,0,0,0,1130,1132,3,50,25,0,1131,1130,1,0,0,0,1131,1132,
450
- 1,0,0,0,1132,1138,1,0,0,0,1133,1139,5,100,0,0,1134,1139,5,143,0,0,1135,1136,
451
- 5,100,0,0,1136,1137,5,124,0,0,1137,1139,7,8,0,0,1138,1133,1,0,0,0,1138,1134,
452
- 1,0,0,0,1138,1135,1,0,0,0,1139,1140,1,0,0,0,1140,1144,5,103,0,0,1141,1142,
453
- 3,180,90,0,1142,1143,5,2,0,0,1143,1145,1,0,0,0,1144,1141,1,0,0,0,1144,1145,
454
- 1,0,0,0,1145,1146,1,0,0,0,1146,1149,3,182,91,0,1147,1148,5,36,0,0,1148,1150,
455
- 3,208,104,0,1149,1147,1,0,0,0,1149,1150,1,0,0,0,1150,1162,1,0,0,0,1151,1152,
456
- 5,3,0,0,1152,1157,3,186,93,0,1153,1154,5,5,0,0,1154,1156,3,186,93,0,1155,
457
- 1153,1,0,0,0,1156,1159,1,0,0,0,1157,1155,1,0,0,0,1157,1158,1,0,0,0,1158,
458
- 1160,1,0,0,0,1159,1157,1,0,0,0,1160,1161,5,4,0,0,1161,1163,1,0,0,0,1162,
459
- 1151,1,0,0,0,1162,1163,1,0,0,0,1163,1173,1,0,0,0,1164,1168,3,112,56,0,1165,
460
- 1167,3,104,52,0,1166,1165,1,0,0,0,1167,1170,1,0,0,0,1168,1166,1,0,0,0,1168,
461
- 1169,1,0,0,0,1169,1174,1,0,0,0,1170,1168,1,0,0,0,1171,1172,5,60,0,0,1172,
462
- 1174,5,171,0,0,1173,1164,1,0,0,0,1173,1171,1,0,0,0,1174,1176,1,0,0,0,1175,
463
- 1177,3,102,51,0,1176,1175,1,0,0,0,1176,1177,1,0,0,0,1177,101,1,0,0,0,1178,
464
- 1187,5,145,0,0,1179,1188,5,7,0,0,1180,1185,3,62,31,0,1181,1183,5,36,0,0,
465
- 1182,1181,1,0,0,0,1182,1183,1,0,0,0,1183,1184,1,0,0,0,1184,1186,3,190,95,
466
- 0,1185,1182,1,0,0,0,1185,1186,1,0,0,0,1186,1188,1,0,0,0,1187,1179,1,0,0,
467
- 0,1187,1180,1,0,0,0,1188,1202,1,0,0,0,1189,1198,5,5,0,0,1190,1199,5,7,0,
468
- 0,1191,1196,3,62,31,0,1192,1194,5,36,0,0,1193,1192,1,0,0,0,1193,1194,1,0,
469
- 0,0,1194,1195,1,0,0,0,1195,1197,3,190,95,0,1196,1193,1,0,0,0,1196,1197,1,
470
- 0,0,0,1197,1199,1,0,0,0,1198,1190,1,0,0,0,1198,1191,1,0,0,0,1199,1201,1,
471
- 0,0,0,1200,1189,1,0,0,0,1201,1204,1,0,0,0,1202,1200,1,0,0,0,1202,1203,1,
472
- 0,0,0,1203,103,1,0,0,0,1204,1202,1,0,0,0,1205,1206,5,123,0,0,1206,1221,5,
473
- 51,0,0,1207,1208,5,3,0,0,1208,1213,3,24,12,0,1209,1210,5,5,0,0,1210,1212,
474
- 3,24,12,0,1211,1209,1,0,0,0,1212,1215,1,0,0,0,1213,1211,1,0,0,0,1213,1214,
475
- 1,0,0,0,1214,1216,1,0,0,0,1215,1213,1,0,0,0,1216,1219,5,4,0,0,1217,1218,
476
- 5,175,0,0,1218,1220,3,62,31,0,1219,1217,1,0,0,0,1219,1220,1,0,0,0,1220,1222,
477
- 1,0,0,0,1221,1207,1,0,0,0,1221,1222,1,0,0,0,1222,1223,1,0,0,0,1223,1250,
478
- 5,67,0,0,1224,1251,5,117,0,0,1225,1226,5,168,0,0,1226,1229,5,153,0,0,1227,
479
- 1230,3,186,93,0,1228,1230,3,130,65,0,1229,1227,1,0,0,0,1229,1228,1,0,0,0,
480
- 1230,1231,1,0,0,0,1231,1232,5,6,0,0,1232,1243,3,62,31,0,1233,1236,5,5,0,
481
- 0,1234,1237,3,186,93,0,1235,1237,3,130,65,0,1236,1234,1,0,0,0,1236,1235,
482
- 1,0,0,0,1237,1238,1,0,0,0,1238,1239,5,6,0,0,1239,1240,3,62,31,0,1240,1242,
483
- 1,0,0,0,1241,1233,1,0,0,0,1242,1245,1,0,0,0,1243,1241,1,0,0,0,1243,1244,
484
- 1,0,0,0,1244,1248,1,0,0,0,1245,1243,1,0,0,0,1246,1247,5,175,0,0,1247,1249,
485
- 3,62,31,0,1248,1246,1,0,0,0,1248,1249,1,0,0,0,1249,1251,1,0,0,0,1250,1224,
486
- 1,0,0,0,1250,1225,1,0,0,0,1251,105,1,0,0,0,1252,1256,5,131,0,0,1253,1254,
487
- 3,180,90,0,1254,1255,5,2,0,0,1255,1257,1,0,0,0,1256,1253,1,0,0,0,1256,1257,
488
- 1,0,0,0,1257,1258,1,0,0,0,1258,1265,3,204,102,0,1259,1260,5,6,0,0,1260,1266,
489
- 3,108,54,0,1261,1262,5,3,0,0,1262,1263,3,108,54,0,1263,1264,5,4,0,0,1264,
490
- 1266,1,0,0,0,1265,1259,1,0,0,0,1265,1261,1,0,0,0,1265,1266,1,0,0,0,1266,
491
- 107,1,0,0,0,1267,1271,3,36,18,0,1268,1271,3,176,88,0,1269,1271,5,183,0,0,
492
- 1270,1267,1,0,0,0,1270,1268,1,0,0,0,1270,1269,1,0,0,0,1271,109,1,0,0,0,1272,
493
- 1283,5,140,0,0,1273,1284,3,192,96,0,1274,1275,3,180,90,0,1275,1276,5,2,0,
494
- 0,1276,1278,1,0,0,0,1277,1274,1,0,0,0,1277,1278,1,0,0,0,1278,1281,1,0,0,
495
- 0,1279,1282,3,182,91,0,1280,1282,3,196,98,0,1281,1279,1,0,0,0,1281,1280,
496
- 1,0,0,0,1282,1284,1,0,0,0,1283,1273,1,0,0,0,1283,1277,1,0,0,0,1283,1284,
497
- 1,0,0,0,1284,111,1,0,0,0,1285,1287,3,50,25,0,1286,1285,1,0,0,0,1286,1287,
498
- 1,0,0,0,1287,1288,1,0,0,0,1288,1294,3,116,58,0,1289,1290,3,126,63,0,1290,
499
- 1291,3,116,58,0,1291,1293,1,0,0,0,1292,1289,1,0,0,0,1293,1296,1,0,0,0,1294,
500
- 1292,1,0,0,0,1294,1295,1,0,0,0,1295,1298,1,0,0,0,1296,1294,1,0,0,0,1297,
501
- 1299,3,146,73,0,1298,1297,1,0,0,0,1298,1299,1,0,0,0,1299,1301,1,0,0,0,1300,
502
- 1302,3,148,74,0,1301,1300,1,0,0,0,1301,1302,1,0,0,0,1302,113,1,0,0,0,1303,
503
- 1311,3,118,59,0,1304,1305,3,122,61,0,1305,1307,3,118,59,0,1306,1308,3,124,
504
- 62,0,1307,1306,1,0,0,0,1307,1308,1,0,0,0,1308,1310,1,0,0,0,1309,1304,1,0,
505
- 0,0,1310,1313,1,0,0,0,1311,1309,1,0,0,0,1311,1312,1,0,0,0,1312,115,1,0,0,
506
- 0,1313,1311,1,0,0,0,1314,1316,5,152,0,0,1315,1317,7,19,0,0,1316,1315,1,0,
507
- 0,0,1316,1317,1,0,0,0,1317,1318,1,0,0,0,1318,1323,3,120,60,0,1319,1320,5,
508
- 5,0,0,1320,1322,3,120,60,0,1321,1319,1,0,0,0,1322,1325,1,0,0,0,1323,1321,
509
- 1,0,0,0,1323,1324,1,0,0,0,1324,1328,1,0,0,0,1325,1323,1,0,0,0,1326,1327,
510
- 5,85,0,0,1327,1329,3,114,57,0,1328,1326,1,0,0,0,1328,1329,1,0,0,0,1329,1332,
511
- 1,0,0,0,1330,1331,5,175,0,0,1331,1333,3,62,31,0,1332,1330,1,0,0,0,1332,1333,
512
- 1,0,0,0,1333,1348,1,0,0,0,1334,1335,5,89,0,0,1335,1336,5,43,0,0,1336,1341,
513
- 3,62,31,0,1337,1338,5,5,0,0,1338,1340,3,62,31,0,1339,1337,1,0,0,0,1340,1343,
514
- 1,0,0,0,1341,1339,1,0,0,0,1341,1342,1,0,0,0,1342,1346,1,0,0,0,1343,1341,
515
- 1,0,0,0,1344,1345,5,91,0,0,1345,1347,3,62,31,0,1346,1344,1,0,0,0,1346,1347,
516
- 1,0,0,0,1347,1349,1,0,0,0,1348,1334,1,0,0,0,1348,1349,1,0,0,0,1349,1364,
517
- 1,0,0,0,1350,1351,5,176,0,0,1351,1352,3,212,106,0,1352,1353,5,36,0,0,1353,
518
- 1361,3,138,69,0,1354,1355,5,5,0,0,1355,1356,3,212,106,0,1356,1357,5,36,0,
519
- 0,1357,1358,3,138,69,0,1358,1360,1,0,0,0,1359,1354,1,0,0,0,1360,1363,1,0,
520
- 0,0,1361,1359,1,0,0,0,1361,1362,1,0,0,0,1362,1365,1,0,0,0,1363,1361,1,0,
521
- 0,0,1364,1350,1,0,0,0,1364,1365,1,0,0,0,1365,1368,1,0,0,0,1366,1368,3,98,
522
- 49,0,1367,1314,1,0,0,0,1367,1366,1,0,0,0,1368,117,1,0,0,0,1369,1370,3,180,
523
- 90,0,1370,1371,5,2,0,0,1371,1373,1,0,0,0,1372,1369,1,0,0,0,1372,1373,1,0,
524
- 0,0,1373,1374,1,0,0,0,1374,1378,3,182,91,0,1375,1376,5,36,0,0,1376,1379,
525
- 3,208,104,0,1377,1379,3,210,105,0,1378,1375,1,0,0,0,1378,1377,1,0,0,0,1378,
526
- 1379,1,0,0,0,1379,1385,1,0,0,0,1380,1381,5,97,0,0,1381,1382,5,43,0,0,1382,
527
- 1386,3,196,98,0,1383,1384,5,116,0,0,1384,1386,5,97,0,0,1385,1380,1,0,0,0,
528
- 1385,1383,1,0,0,0,1385,1386,1,0,0,0,1386,1423,1,0,0,0,1387,1388,3,180,90,
529
- 0,1388,1389,5,2,0,0,1389,1391,1,0,0,0,1390,1387,1,0,0,0,1390,1391,1,0,0,
530
- 0,1391,1392,1,0,0,0,1392,1393,3,218,109,0,1393,1394,5,3,0,0,1394,1399,3,
531
- 62,31,0,1395,1396,5,5,0,0,1396,1398,3,62,31,0,1397,1395,1,0,0,0,1398,1401,
532
- 1,0,0,0,1399,1397,1,0,0,0,1399,1400,1,0,0,0,1400,1402,1,0,0,0,1401,1399,
533
- 1,0,0,0,1402,1407,5,4,0,0,1403,1405,5,36,0,0,1404,1403,1,0,0,0,1404,1405,
534
- 1,0,0,0,1405,1406,1,0,0,0,1406,1408,3,208,104,0,1407,1404,1,0,0,0,1407,1408,
535
- 1,0,0,0,1408,1423,1,0,0,0,1409,1410,5,3,0,0,1410,1411,3,114,57,0,1411,1412,
536
- 5,4,0,0,1412,1423,1,0,0,0,1413,1414,5,3,0,0,1414,1415,3,112,56,0,1415,1420,
537
- 5,4,0,0,1416,1418,5,36,0,0,1417,1416,1,0,0,0,1417,1418,1,0,0,0,1418,1419,
538
- 1,0,0,0,1419,1421,3,208,104,0,1420,1417,1,0,0,0,1420,1421,1,0,0,0,1421,1423,
539
- 1,0,0,0,1422,1372,1,0,0,0,1422,1390,1,0,0,0,1422,1409,1,0,0,0,1422,1413,
540
- 1,0,0,0,1423,119,1,0,0,0,1424,1437,5,7,0,0,1425,1426,3,182,91,0,1426,1427,
541
- 5,2,0,0,1427,1428,5,7,0,0,1428,1437,1,0,0,0,1429,1434,3,62,31,0,1430,1432,
542
- 5,36,0,0,1431,1430,1,0,0,0,1431,1432,1,0,0,0,1432,1433,1,0,0,0,1433,1435,
543
- 3,190,95,0,1434,1431,1,0,0,0,1434,1435,1,0,0,0,1435,1437,1,0,0,0,1436,1424,
544
- 1,0,0,0,1436,1425,1,0,0,0,1436,1429,1,0,0,0,1437,121,1,0,0,0,1438,1452,5,
545
- 5,0,0,1439,1441,5,114,0,0,1440,1439,1,0,0,0,1440,1441,1,0,0,0,1441,1448,
546
- 1,0,0,0,1442,1444,7,20,0,0,1443,1445,5,127,0,0,1444,1443,1,0,0,0,1444,1445,
547
- 1,0,0,0,1445,1449,1,0,0,0,1446,1449,5,99,0,0,1447,1449,5,54,0,0,1448,1442,
548
- 1,0,0,0,1448,1446,1,0,0,0,1448,1447,1,0,0,0,1448,1449,1,0,0,0,1449,1450,
549
- 1,0,0,0,1450,1452,5,106,0,0,1451,1438,1,0,0,0,1451,1440,1,0,0,0,1452,123,
550
- 1,0,0,0,1453,1454,5,123,0,0,1454,1468,3,62,31,0,1455,1456,5,169,0,0,1456,
551
- 1457,5,3,0,0,1457,1462,3,186,93,0,1458,1459,5,5,0,0,1459,1461,3,186,93,0,
552
- 1460,1458,1,0,0,0,1461,1464,1,0,0,0,1462,1460,1,0,0,0,1462,1463,1,0,0,0,
553
- 1463,1465,1,0,0,0,1464,1462,1,0,0,0,1465,1466,5,4,0,0,1466,1468,1,0,0,0,
554
- 1467,1453,1,0,0,0,1467,1455,1,0,0,0,1468,125,1,0,0,0,1469,1471,5,166,0,0,
555
- 1470,1472,5,31,0,0,1471,1470,1,0,0,0,1471,1472,1,0,0,0,1472,1476,1,0,0,0,
556
- 1473,1476,5,102,0,0,1474,1476,5,73,0,0,1475,1469,1,0,0,0,1475,1473,1,0,0,
557
- 0,1475,1474,1,0,0,0,1476,127,1,0,0,0,1477,1479,3,50,25,0,1478,1477,1,0,0,
558
- 0,1478,1479,1,0,0,0,1479,1480,1,0,0,0,1480,1483,5,168,0,0,1481,1482,5,124,
559
- 0,0,1482,1484,7,8,0,0,1483,1481,1,0,0,0,1483,1484,1,0,0,0,1484,1485,1,0,
560
- 0,0,1485,1486,3,132,66,0,1486,1489,5,153,0,0,1487,1490,3,186,93,0,1488,1490,
561
- 3,130,65,0,1489,1487,1,0,0,0,1489,1488,1,0,0,0,1490,1491,1,0,0,0,1491,1492,
562
- 5,6,0,0,1492,1503,3,62,31,0,1493,1496,5,5,0,0,1494,1497,3,186,93,0,1495,
563
- 1497,3,130,65,0,1496,1494,1,0,0,0,1496,1495,1,0,0,0,1497,1498,1,0,0,0,1498,
564
- 1499,5,6,0,0,1499,1500,3,62,31,0,1500,1502,1,0,0,0,1501,1493,1,0,0,0,1502,
565
- 1505,1,0,0,0,1503,1501,1,0,0,0,1503,1504,1,0,0,0,1504,1508,1,0,0,0,1505,
566
- 1503,1,0,0,0,1506,1507,5,85,0,0,1507,1509,3,114,57,0,1508,1506,1,0,0,0,1508,
567
- 1509,1,0,0,0,1509,1512,1,0,0,0,1510,1511,5,175,0,0,1511,1513,3,62,31,0,1512,
568
- 1510,1,0,0,0,1512,1513,1,0,0,0,1513,1515,1,0,0,0,1514,1516,3,102,51,0,1515,
569
- 1514,1,0,0,0,1515,1516,1,0,0,0,1516,1518,1,0,0,0,1517,1519,3,146,73,0,1518,
570
- 1517,1,0,0,0,1518,1519,1,0,0,0,1519,1521,1,0,0,0,1520,1522,3,148,74,0,1521,
571
- 1520,1,0,0,0,1521,1522,1,0,0,0,1522,129,1,0,0,0,1523,1524,5,3,0,0,1524,1529,
572
- 3,186,93,0,1525,1526,5,5,0,0,1526,1528,3,186,93,0,1527,1525,1,0,0,0,1528,
573
- 1531,1,0,0,0,1529,1527,1,0,0,0,1529,1530,1,0,0,0,1530,1532,1,0,0,0,1531,
574
- 1529,1,0,0,0,1532,1533,5,4,0,0,1533,131,1,0,0,0,1534,1535,3,180,90,0,1535,
575
- 1536,5,2,0,0,1536,1538,1,0,0,0,1537,1534,1,0,0,0,1537,1538,1,0,0,0,1538,
576
- 1539,1,0,0,0,1539,1542,3,182,91,0,1540,1541,5,36,0,0,1541,1543,3,214,107,
577
- 0,1542,1540,1,0,0,0,1542,1543,1,0,0,0,1543,1549,1,0,0,0,1544,1545,5,97,0,
578
- 0,1545,1546,5,43,0,0,1546,1550,3,196,98,0,1547,1548,5,116,0,0,1548,1550,
579
- 5,97,0,0,1549,1544,1,0,0,0,1549,1547,1,0,0,0,1549,1550,1,0,0,0,1550,133,
580
- 1,0,0,0,1551,1553,5,170,0,0,1552,1554,3,180,90,0,1553,1552,1,0,0,0,1553,
581
- 1554,1,0,0,0,1554,1557,1,0,0,0,1555,1556,5,103,0,0,1556,1558,3,162,81,0,
582
- 1557,1555,1,0,0,0,1557,1558,1,0,0,0,1558,135,1,0,0,0,1559,1560,5,80,0,0,
583
- 1560,1561,5,3,0,0,1561,1562,5,175,0,0,1562,1563,3,62,31,0,1563,1564,5,4,
584
- 0,0,1564,137,1,0,0,0,1565,1567,5,3,0,0,1566,1568,3,216,108,0,1567,1566,1,
585
- 0,0,0,1567,1568,1,0,0,0,1568,1579,1,0,0,0,1569,1570,5,129,0,0,1570,1571,
586
- 5,43,0,0,1571,1576,3,62,31,0,1572,1573,5,5,0,0,1573,1575,3,62,31,0,1574,
587
- 1572,1,0,0,0,1575,1578,1,0,0,0,1576,1574,1,0,0,0,1576,1577,1,0,0,0,1577,
588
- 1580,1,0,0,0,1578,1576,1,0,0,0,1579,1569,1,0,0,0,1579,1580,1,0,0,0,1580,
589
- 1582,1,0,0,0,1581,1583,3,146,73,0,1582,1581,1,0,0,0,1582,1583,1,0,0,0,1583,
590
- 1585,1,0,0,0,1584,1586,3,142,71,0,1585,1584,1,0,0,0,1585,1586,1,0,0,0,1586,
591
- 1587,1,0,0,0,1587,1588,5,4,0,0,1588,139,1,0,0,0,1589,1614,5,128,0,0,1590,
592
- 1615,3,212,106,0,1591,1593,5,3,0,0,1592,1594,3,216,108,0,1593,1592,1,0,0,
593
- 0,1593,1594,1,0,0,0,1594,1605,1,0,0,0,1595,1596,5,129,0,0,1596,1597,5,43,
594
- 0,0,1597,1602,3,62,31,0,1598,1599,5,5,0,0,1599,1601,3,62,31,0,1600,1598,
595
- 1,0,0,0,1601,1604,1,0,0,0,1602,1600,1,0,0,0,1602,1603,1,0,0,0,1603,1606,
596
- 1,0,0,0,1604,1602,1,0,0,0,1605,1595,1,0,0,0,1605,1606,1,0,0,0,1606,1608,
597
- 1,0,0,0,1607,1609,3,146,73,0,1608,1607,1,0,0,0,1608,1609,1,0,0,0,1609,1611,
598
- 1,0,0,0,1610,1612,3,142,71,0,1611,1610,1,0,0,0,1611,1612,1,0,0,0,1612,1613,
599
- 1,0,0,0,1613,1615,5,4,0,0,1614,1590,1,0,0,0,1614,1591,1,0,0,0,1615,141,1,
600
- 0,0,0,1616,1626,3,144,72,0,1617,1624,5,74,0,0,1618,1619,5,115,0,0,1619,1625,
601
- 5,126,0,0,1620,1621,5,55,0,0,1621,1625,5,148,0,0,1622,1625,5,89,0,0,1623,
602
- 1625,5,160,0,0,1624,1618,1,0,0,0,1624,1620,1,0,0,0,1624,1622,1,0,0,0,1624,
603
- 1623,1,0,0,0,1625,1627,1,0,0,0,1626,1617,1,0,0,0,1626,1627,1,0,0,0,1627,
604
- 143,1,0,0,0,1628,1635,7,21,0,0,1629,1636,3,158,79,0,1630,1631,5,42,0,0,1631,
605
- 1632,3,154,77,0,1632,1633,5,35,0,0,1633,1634,3,156,78,0,1634,1636,1,0,0,
606
- 0,1635,1629,1,0,0,0,1635,1630,1,0,0,0,1636,145,1,0,0,0,1637,1638,5,125,0,
607
- 0,1638,1639,5,43,0,0,1639,1644,3,150,75,0,1640,1641,5,5,0,0,1641,1643,3,
608
- 150,75,0,1642,1640,1,0,0,0,1643,1646,1,0,0,0,1644,1642,1,0,0,0,1644,1645,
609
- 1,0,0,0,1645,147,1,0,0,0,1646,1644,1,0,0,0,1647,1648,5,111,0,0,1648,1651,
610
- 3,62,31,0,1649,1650,7,22,0,0,1650,1652,3,62,31,0,1651,1649,1,0,0,0,1651,
611
- 1652,1,0,0,0,1652,149,1,0,0,0,1653,1656,3,62,31,0,1654,1655,5,48,0,0,1655,
612
- 1657,3,192,96,0,1656,1654,1,0,0,0,1656,1657,1,0,0,0,1657,1659,1,0,0,0,1658,
613
- 1660,3,152,76,0,1659,1658,1,0,0,0,1659,1660,1,0,0,0,1660,1663,1,0,0,0,1661,
614
- 1662,5,120,0,0,1662,1664,7,23,0,0,1663,1661,1,0,0,0,1663,1664,1,0,0,0,1664,
615
- 151,1,0,0,0,1665,1666,7,24,0,0,1666,153,1,0,0,0,1667,1668,3,62,31,0,1668,
616
- 1669,5,132,0,0,1669,1676,1,0,0,0,1670,1671,3,62,31,0,1671,1672,5,82,0,0,
617
- 1672,1676,1,0,0,0,1673,1674,5,55,0,0,1674,1676,5,148,0,0,1675,1667,1,0,0,
618
- 0,1675,1670,1,0,0,0,1675,1673,1,0,0,0,1676,155,1,0,0,0,1677,1678,3,62,31,
619
- 0,1678,1679,5,132,0,0,1679,1686,1,0,0,0,1680,1681,3,62,31,0,1681,1682,5,
620
- 82,0,0,1682,1686,1,0,0,0,1683,1684,5,55,0,0,1684,1686,5,148,0,0,1685,1677,
621
- 1,0,0,0,1685,1680,1,0,0,0,1685,1683,1,0,0,0,1686,157,1,0,0,0,1687,1688,3,
622
- 62,31,0,1688,1689,5,132,0,0,1689,1693,1,0,0,0,1690,1691,5,55,0,0,1691,1693,
623
- 5,148,0,0,1692,1687,1,0,0,0,1692,1690,1,0,0,0,1693,159,1,0,0,0,1694,1695,
624
- 3,62,31,0,1695,161,1,0,0,0,1696,1697,3,62,31,0,1697,163,1,0,0,0,1698,1700,
625
- 3,166,83,0,1699,1698,1,0,0,0,1700,1703,1,0,0,0,1701,1699,1,0,0,0,1701,1702,
626
- 1,0,0,0,1702,165,1,0,0,0,1703,1701,1,0,0,0,1704,1714,8,25,0,0,1705,1709,
627
- 5,3,0,0,1706,1708,3,168,84,0,1707,1706,1,0,0,0,1708,1711,1,0,0,0,1709,1707,
628
- 1,0,0,0,1709,1710,1,0,0,0,1710,1712,1,0,0,0,1711,1709,1,0,0,0,1712,1714,
629
- 5,4,0,0,1713,1704,1,0,0,0,1713,1705,1,0,0,0,1714,167,1,0,0,0,1715,1725,8,
630
- 26,0,0,1716,1720,5,3,0,0,1717,1719,3,168,84,0,1718,1717,1,0,0,0,1719,1722,
631
- 1,0,0,0,1720,1718,1,0,0,0,1720,1721,1,0,0,0,1721,1723,1,0,0,0,1722,1720,
632
- 1,0,0,0,1723,1725,5,4,0,0,1724,1715,1,0,0,0,1724,1716,1,0,0,0,1725,169,1,
633
- 0,0,0,1726,1727,7,27,0,0,1727,171,1,0,0,0,1728,1729,7,28,0,0,1729,173,1,
634
- 0,0,0,1730,1734,3,170,85,0,1731,1734,3,172,86,0,1732,1734,5,135,0,0,1733,
635
- 1730,1,0,0,0,1733,1731,1,0,0,0,1733,1732,1,0,0,0,1734,175,1,0,0,0,1735,1736,
636
- 3,226,113,0,1736,177,1,0,0,0,1737,1738,3,220,110,0,1738,179,1,0,0,0,1739,
637
- 1740,3,226,113,0,1740,181,1,0,0,0,1741,1742,3,226,113,0,1742,183,1,0,0,0,
638
- 1743,1744,3,226,113,0,1744,185,1,0,0,0,1745,1746,3,226,113,0,1746,187,1,
639
- 0,0,0,1747,1748,3,224,112,0,1748,189,1,0,0,0,1749,1750,3,226,113,0,1750,
640
- 191,1,0,0,0,1751,1752,3,226,113,0,1752,193,1,0,0,0,1753,1754,3,226,113,0,
641
- 1754,195,1,0,0,0,1755,1756,3,226,113,0,1756,197,1,0,0,0,1757,1758,3,226,
642
- 113,0,1758,199,1,0,0,0,1759,1760,3,226,113,0,1760,201,1,0,0,0,1761,1762,
643
- 3,226,113,0,1762,203,1,0,0,0,1763,1764,3,226,113,0,1764,205,1,0,0,0,1765,
644
- 1766,3,226,113,0,1766,207,1,0,0,0,1767,1768,3,226,113,0,1768,209,1,0,0,0,
645
- 1769,1770,3,222,111,0,1770,211,1,0,0,0,1771,1772,3,226,113,0,1772,213,1,
646
- 0,0,0,1773,1774,3,226,113,0,1774,215,1,0,0,0,1775,1776,3,226,113,0,1776,
647
- 217,1,0,0,0,1777,1778,3,226,113,0,1778,219,1,0,0,0,1779,1784,5,180,0,0,1780,
648
- 1784,3,170,85,0,1781,1784,3,172,86,0,1782,1784,5,183,0,0,1783,1779,1,0,0,
649
- 0,1783,1780,1,0,0,0,1783,1781,1,0,0,0,1783,1782,1,0,0,0,1784,221,1,0,0,0,
650
- 1785,1790,5,180,0,0,1786,1790,3,170,85,0,1787,1790,5,135,0,0,1788,1790,5,
651
- 183,0,0,1789,1785,1,0,0,0,1789,1786,1,0,0,0,1789,1787,1,0,0,0,1789,1788,
652
- 1,0,0,0,1790,223,1,0,0,0,1791,1794,5,180,0,0,1792,1794,3,174,87,0,1793,1791,
653
- 1,0,0,0,1793,1792,1,0,0,0,1794,225,1,0,0,0,1795,1799,5,180,0,0,1796,1799,
654
- 3,174,87,0,1797,1799,5,183,0,0,1798,1795,1,0,0,0,1798,1796,1,0,0,0,1798,
655
- 1797,1,0,0,0,1799,227,1,0,0,0,263,232,236,240,246,248,272,279,286,292,296,
656
- 301,304,311,314,318,326,329,333,337,341,344,351,357,363,368,379,385,390,
657
- 393,397,403,408,417,424,429,433,438,444,448,453,458,464,476,480,485,488,
658
- 491,494,498,501,515,522,529,531,534,540,545,553,558,573,579,589,594,604,
659
- 608,610,614,619,621,629,635,640,647,658,661,663,670,674,681,687,693,699,
660
- 704,713,718,729,734,745,750,754,761,767,770,783,788,791,798,801,804,807,
661
- 811,819,824,833,840,844,847,851,854,857,865,879,888,892,897,904,912,918,
662
- 928,932,936,944,954,957,963,969,978,981,985,988,994,998,1004,1006,1014,1022,
663
- 1030,1038,1046,1054,1060,1070,1078,1081,1088,1096,1116,1127,1131,1138,1144,
664
- 1149,1157,1162,1168,1173,1176,1182,1185,1187,1193,1196,1198,1202,1213,1219,
665
- 1221,1229,1236,1243,1248,1250,1256,1265,1270,1277,1281,1283,1286,1294,1298,
666
- 1301,1307,1311,1316,1323,1328,1332,1341,1346,1348,1361,1364,1367,1372,1378,
667
- 1385,1390,1399,1404,1407,1417,1420,1422,1431,1434,1436,1440,1444,1448,1451,
668
- 1462,1467,1471,1475,1478,1483,1489,1496,1503,1508,1512,1515,1518,1521,1529,
669
- 1537,1542,1549,1553,1557,1567,1576,1579,1582,1585,1593,1602,1605,1608,1611,
670
- 1614,1624,1626,1635,1644,1651,1656,1659,1663,1675,1685,1692,1701,1709,1713,
671
- 1720,1724,1733,1783,1789,1793,1798];
363
+ 0,828,829,3,64,32,0,829,63,1,0,0,0,830,835,3,66,33,0,831,832,5,124,0,0,832,
364
+ 834,3,66,33,0,833,831,1,0,0,0,834,837,1,0,0,0,835,833,1,0,0,0,835,836,1,
365
+ 0,0,0,836,65,1,0,0,0,837,835,1,0,0,0,838,843,3,68,34,0,839,840,5,35,0,0,
366
+ 840,842,3,68,34,0,841,839,1,0,0,0,842,845,1,0,0,0,843,841,1,0,0,0,843,844,
367
+ 1,0,0,0,844,67,1,0,0,0,845,843,1,0,0,0,846,848,5,116,0,0,847,846,1,0,0,0,
368
+ 848,851,1,0,0,0,849,847,1,0,0,0,849,850,1,0,0,0,850,852,1,0,0,0,851,849,
369
+ 1,0,0,0,852,853,3,70,35,0,853,69,1,0,0,0,854,937,3,72,36,0,855,856,7,10,
370
+ 0,0,856,936,3,72,36,0,857,859,5,104,0,0,858,860,5,116,0,0,859,858,1,0,0,
371
+ 0,859,860,1,0,0,0,860,863,1,0,0,0,861,862,5,66,0,0,862,864,5,85,0,0,863,
372
+ 861,1,0,0,0,863,864,1,0,0,0,864,865,1,0,0,0,865,936,3,72,36,0,866,868,5,
373
+ 116,0,0,867,866,1,0,0,0,867,868,1,0,0,0,868,869,1,0,0,0,869,870,5,42,0,0,
374
+ 870,871,3,72,36,0,871,872,5,35,0,0,872,873,3,72,36,0,873,936,1,0,0,0,874,
375
+ 876,5,116,0,0,875,874,1,0,0,0,875,876,1,0,0,0,876,877,1,0,0,0,877,916,5,
376
+ 95,0,0,878,888,5,3,0,0,879,889,3,112,56,0,880,885,3,72,36,0,881,882,5,5,
377
+ 0,0,882,884,3,72,36,0,883,881,1,0,0,0,884,887,1,0,0,0,885,883,1,0,0,0,885,
378
+ 886,1,0,0,0,886,889,1,0,0,0,887,885,1,0,0,0,888,879,1,0,0,0,888,880,1,0,
379
+ 0,0,888,889,1,0,0,0,889,890,1,0,0,0,890,917,5,4,0,0,891,892,3,180,90,0,892,
380
+ 893,5,2,0,0,893,895,1,0,0,0,894,891,1,0,0,0,894,895,1,0,0,0,895,896,1,0,
381
+ 0,0,896,917,3,182,91,0,897,898,3,180,90,0,898,899,5,2,0,0,899,901,1,0,0,
382
+ 0,900,897,1,0,0,0,900,901,1,0,0,0,901,902,1,0,0,0,902,903,3,218,109,0,903,
383
+ 912,5,3,0,0,904,909,3,72,36,0,905,906,5,5,0,0,906,908,3,72,36,0,907,905,
384
+ 1,0,0,0,908,911,1,0,0,0,909,907,1,0,0,0,909,910,1,0,0,0,910,913,1,0,0,0,
385
+ 911,909,1,0,0,0,912,904,1,0,0,0,912,913,1,0,0,0,913,914,1,0,0,0,914,915,
386
+ 5,4,0,0,915,917,1,0,0,0,916,878,1,0,0,0,916,894,1,0,0,0,916,900,1,0,0,0,
387
+ 917,936,1,0,0,0,918,920,5,116,0,0,919,918,1,0,0,0,919,920,1,0,0,0,920,929,
388
+ 1,0,0,0,921,922,5,110,0,0,922,925,3,72,36,0,923,924,5,72,0,0,924,926,3,72,
389
+ 36,0,925,923,1,0,0,0,925,926,1,0,0,0,926,930,1,0,0,0,927,928,7,11,0,0,928,
390
+ 930,3,72,36,0,929,921,1,0,0,0,929,927,1,0,0,0,930,936,1,0,0,0,931,936,5,
391
+ 105,0,0,932,936,5,118,0,0,933,934,5,116,0,0,934,936,5,119,0,0,935,855,1,
392
+ 0,0,0,935,857,1,0,0,0,935,867,1,0,0,0,935,875,1,0,0,0,935,919,1,0,0,0,935,
393
+ 931,1,0,0,0,935,932,1,0,0,0,935,933,1,0,0,0,936,939,1,0,0,0,937,935,1,0,
394
+ 0,0,937,938,1,0,0,0,938,71,1,0,0,0,939,937,1,0,0,0,940,945,3,74,37,0,941,
395
+ 942,7,12,0,0,942,944,3,74,37,0,943,941,1,0,0,0,944,947,1,0,0,0,945,943,1,
396
+ 0,0,0,945,946,1,0,0,0,946,73,1,0,0,0,947,945,1,0,0,0,948,953,3,76,38,0,949,
397
+ 950,7,13,0,0,950,952,3,76,38,0,951,949,1,0,0,0,952,955,1,0,0,0,953,951,1,
398
+ 0,0,0,953,954,1,0,0,0,954,75,1,0,0,0,955,953,1,0,0,0,956,961,3,78,39,0,957,
399
+ 958,7,4,0,0,958,960,3,78,39,0,959,957,1,0,0,0,960,963,1,0,0,0,961,959,1,
400
+ 0,0,0,961,962,1,0,0,0,962,77,1,0,0,0,963,961,1,0,0,0,964,969,3,80,40,0,965,
401
+ 966,7,14,0,0,966,968,3,80,40,0,967,965,1,0,0,0,968,971,1,0,0,0,969,967,1,
402
+ 0,0,0,969,970,1,0,0,0,970,79,1,0,0,0,971,969,1,0,0,0,972,977,3,82,41,0,973,
403
+ 974,7,15,0,0,974,976,3,82,41,0,975,973,1,0,0,0,976,979,1,0,0,0,977,975,1,
404
+ 0,0,0,977,978,1,0,0,0,978,81,1,0,0,0,979,977,1,0,0,0,980,985,3,84,42,0,981,
405
+ 982,5,48,0,0,982,984,3,192,96,0,983,981,1,0,0,0,984,987,1,0,0,0,985,983,
406
+ 1,0,0,0,985,986,1,0,0,0,986,83,1,0,0,0,987,985,1,0,0,0,988,990,7,16,0,0,
407
+ 989,988,1,0,0,0,990,993,1,0,0,0,991,989,1,0,0,0,991,992,1,0,0,0,992,994,
408
+ 1,0,0,0,993,991,1,0,0,0,994,995,3,86,43,0,995,85,1,0,0,0,996,1021,3,92,46,
409
+ 0,997,1021,5,182,0,0,998,999,3,180,90,0,999,1000,5,2,0,0,1000,1002,1,0,0,
410
+ 0,1001,998,1,0,0,0,1001,1002,1,0,0,0,1002,1003,1,0,0,0,1003,1004,3,182,91,
411
+ 0,1004,1005,5,2,0,0,1005,1006,3,186,93,0,1006,1021,1,0,0,0,1007,1021,3,188,
412
+ 94,0,1008,1010,5,116,0,0,1009,1008,1,0,0,0,1009,1010,1,0,0,0,1010,1011,1,
413
+ 0,0,0,1011,1013,5,76,0,0,1012,1009,1,0,0,0,1012,1013,1,0,0,0,1013,1014,1,
414
+ 0,0,0,1014,1015,5,3,0,0,1015,1016,3,112,56,0,1016,1017,5,4,0,0,1017,1021,
415
+ 1,0,0,0,1018,1021,3,90,45,0,1019,1021,3,88,44,0,1020,996,1,0,0,0,1020,997,
416
+ 1,0,0,0,1020,1001,1,0,0,0,1020,1007,1,0,0,0,1020,1012,1,0,0,0,1020,1018,
417
+ 1,0,0,0,1020,1019,1,0,0,0,1021,87,1,0,0,0,1022,1023,3,178,89,0,1023,1039,
418
+ 5,3,0,0,1024,1026,5,66,0,0,1025,1024,1,0,0,0,1025,1026,1,0,0,0,1026,1027,
419
+ 1,0,0,0,1027,1032,3,62,31,0,1028,1029,5,5,0,0,1029,1031,3,62,31,0,1030,1028,
420
+ 1,0,0,0,1031,1034,1,0,0,0,1032,1030,1,0,0,0,1032,1033,1,0,0,0,1033,1036,
421
+ 1,0,0,0,1034,1032,1,0,0,0,1035,1037,3,146,73,0,1036,1035,1,0,0,0,1036,1037,
422
+ 1,0,0,0,1037,1040,1,0,0,0,1038,1040,5,7,0,0,1039,1025,1,0,0,0,1039,1038,
423
+ 1,0,0,0,1039,1040,1,0,0,0,1040,1041,1,0,0,0,1041,1043,5,4,0,0,1042,1044,
424
+ 3,94,47,0,1043,1042,1,0,0,0,1043,1044,1,0,0,0,1044,1046,1,0,0,0,1045,1047,
425
+ 3,136,68,0,1046,1045,1,0,0,0,1046,1047,1,0,0,0,1047,1049,1,0,0,0,1048,1050,
426
+ 3,140,70,0,1049,1048,1,0,0,0,1049,1050,1,0,0,0,1050,1089,1,0,0,0,1051,1052,
427
+ 5,3,0,0,1052,1057,3,62,31,0,1053,1054,5,5,0,0,1054,1056,3,62,31,0,1055,1053,
428
+ 1,0,0,0,1056,1059,1,0,0,0,1057,1055,1,0,0,0,1057,1058,1,0,0,0,1058,1060,
429
+ 1,0,0,0,1059,1057,1,0,0,0,1060,1061,5,4,0,0,1061,1089,1,0,0,0,1062,1063,
430
+ 5,46,0,0,1063,1064,5,3,0,0,1064,1065,3,62,31,0,1065,1066,5,36,0,0,1066,1067,
431
+ 3,32,16,0,1067,1068,5,4,0,0,1068,1089,1,0,0,0,1069,1071,5,45,0,0,1070,1072,
432
+ 3,62,31,0,1071,1070,1,0,0,0,1071,1072,1,0,0,0,1072,1078,1,0,0,0,1073,1074,
433
+ 5,174,0,0,1074,1075,3,62,31,0,1075,1076,5,159,0,0,1076,1077,3,62,31,0,1077,
434
+ 1079,1,0,0,0,1078,1073,1,0,0,0,1079,1080,1,0,0,0,1080,1078,1,0,0,0,1080,
435
+ 1081,1,0,0,0,1081,1084,1,0,0,0,1082,1083,5,70,0,0,1083,1085,3,62,31,0,1084,
436
+ 1082,1,0,0,0,1084,1085,1,0,0,0,1085,1086,1,0,0,0,1086,1087,5,71,0,0,1087,
437
+ 1089,1,0,0,0,1088,1022,1,0,0,0,1088,1051,1,0,0,0,1088,1062,1,0,0,0,1088,
438
+ 1069,1,0,0,0,1089,89,1,0,0,0,1090,1091,5,135,0,0,1091,1096,5,3,0,0,1092,
439
+ 1097,5,93,0,0,1093,1094,7,17,0,0,1094,1095,5,5,0,0,1095,1097,3,160,80,0,
440
+ 1096,1092,1,0,0,0,1096,1093,1,0,0,0,1097,1098,1,0,0,0,1098,1099,5,4,0,0,
441
+ 1099,91,1,0,0,0,1100,1101,7,18,0,0,1101,93,1,0,0,0,1102,1103,5,178,0,0,1103,
442
+ 1104,5,89,0,0,1104,1105,5,3,0,0,1105,1106,5,125,0,0,1106,1107,5,43,0,0,1107,
443
+ 1108,3,62,31,0,1108,1109,5,4,0,0,1109,95,1,0,0,0,1110,1111,5,3,0,0,1111,
444
+ 1116,3,62,31,0,1112,1113,5,5,0,0,1113,1115,3,62,31,0,1114,1112,1,0,0,0,1115,
445
+ 1118,1,0,0,0,1116,1114,1,0,0,0,1116,1117,1,0,0,0,1117,1119,1,0,0,0,1118,
446
+ 1116,1,0,0,0,1119,1120,5,4,0,0,1120,97,1,0,0,0,1121,1122,5,171,0,0,1122,
447
+ 1127,3,96,48,0,1123,1124,5,5,0,0,1124,1126,3,96,48,0,1125,1123,1,0,0,0,1126,
448
+ 1129,1,0,0,0,1127,1125,1,0,0,0,1127,1128,1,0,0,0,1128,99,1,0,0,0,1129,1127,
449
+ 1,0,0,0,1130,1132,3,50,25,0,1131,1130,1,0,0,0,1131,1132,1,0,0,0,1132,1138,
450
+ 1,0,0,0,1133,1139,5,100,0,0,1134,1139,5,143,0,0,1135,1136,5,100,0,0,1136,
451
+ 1137,5,124,0,0,1137,1139,7,8,0,0,1138,1133,1,0,0,0,1138,1134,1,0,0,0,1138,
452
+ 1135,1,0,0,0,1139,1140,1,0,0,0,1140,1144,5,103,0,0,1141,1142,3,180,90,0,
453
+ 1142,1143,5,2,0,0,1143,1145,1,0,0,0,1144,1141,1,0,0,0,1144,1145,1,0,0,0,
454
+ 1145,1146,1,0,0,0,1146,1149,3,182,91,0,1147,1148,5,36,0,0,1148,1150,3,208,
455
+ 104,0,1149,1147,1,0,0,0,1149,1150,1,0,0,0,1150,1162,1,0,0,0,1151,1152,5,
456
+ 3,0,0,1152,1157,3,186,93,0,1153,1154,5,5,0,0,1154,1156,3,186,93,0,1155,1153,
457
+ 1,0,0,0,1156,1159,1,0,0,0,1157,1155,1,0,0,0,1157,1158,1,0,0,0,1158,1160,
458
+ 1,0,0,0,1159,1157,1,0,0,0,1160,1161,5,4,0,0,1161,1163,1,0,0,0,1162,1151,
459
+ 1,0,0,0,1162,1163,1,0,0,0,1163,1173,1,0,0,0,1164,1168,3,112,56,0,1165,1167,
460
+ 3,104,52,0,1166,1165,1,0,0,0,1167,1170,1,0,0,0,1168,1166,1,0,0,0,1168,1169,
461
+ 1,0,0,0,1169,1174,1,0,0,0,1170,1168,1,0,0,0,1171,1172,5,60,0,0,1172,1174,
462
+ 5,171,0,0,1173,1164,1,0,0,0,1173,1171,1,0,0,0,1174,1176,1,0,0,0,1175,1177,
463
+ 3,102,51,0,1176,1175,1,0,0,0,1176,1177,1,0,0,0,1177,101,1,0,0,0,1178,1187,
464
+ 5,145,0,0,1179,1188,5,7,0,0,1180,1185,3,62,31,0,1181,1183,5,36,0,0,1182,
465
+ 1181,1,0,0,0,1182,1183,1,0,0,0,1183,1184,1,0,0,0,1184,1186,3,190,95,0,1185,
466
+ 1182,1,0,0,0,1185,1186,1,0,0,0,1186,1188,1,0,0,0,1187,1179,1,0,0,0,1187,
467
+ 1180,1,0,0,0,1188,1202,1,0,0,0,1189,1198,5,5,0,0,1190,1199,5,7,0,0,1191,
468
+ 1196,3,62,31,0,1192,1194,5,36,0,0,1193,1192,1,0,0,0,1193,1194,1,0,0,0,1194,
469
+ 1195,1,0,0,0,1195,1197,3,190,95,0,1196,1193,1,0,0,0,1196,1197,1,0,0,0,1197,
470
+ 1199,1,0,0,0,1198,1190,1,0,0,0,1198,1191,1,0,0,0,1199,1201,1,0,0,0,1200,
471
+ 1189,1,0,0,0,1201,1204,1,0,0,0,1202,1200,1,0,0,0,1202,1203,1,0,0,0,1203,
472
+ 103,1,0,0,0,1204,1202,1,0,0,0,1205,1206,5,123,0,0,1206,1221,5,51,0,0,1207,
473
+ 1208,5,3,0,0,1208,1213,3,24,12,0,1209,1210,5,5,0,0,1210,1212,3,24,12,0,1211,
474
+ 1209,1,0,0,0,1212,1215,1,0,0,0,1213,1211,1,0,0,0,1213,1214,1,0,0,0,1214,
475
+ 1216,1,0,0,0,1215,1213,1,0,0,0,1216,1219,5,4,0,0,1217,1218,5,175,0,0,1218,
476
+ 1220,3,62,31,0,1219,1217,1,0,0,0,1219,1220,1,0,0,0,1220,1222,1,0,0,0,1221,
477
+ 1207,1,0,0,0,1221,1222,1,0,0,0,1222,1223,1,0,0,0,1223,1250,5,67,0,0,1224,
478
+ 1251,5,117,0,0,1225,1226,5,168,0,0,1226,1229,5,153,0,0,1227,1230,3,186,93,
479
+ 0,1228,1230,3,130,65,0,1229,1227,1,0,0,0,1229,1228,1,0,0,0,1230,1231,1,0,
480
+ 0,0,1231,1232,5,6,0,0,1232,1243,3,62,31,0,1233,1236,5,5,0,0,1234,1237,3,
481
+ 186,93,0,1235,1237,3,130,65,0,1236,1234,1,0,0,0,1236,1235,1,0,0,0,1237,1238,
482
+ 1,0,0,0,1238,1239,5,6,0,0,1239,1240,3,62,31,0,1240,1242,1,0,0,0,1241,1233,
483
+ 1,0,0,0,1242,1245,1,0,0,0,1243,1241,1,0,0,0,1243,1244,1,0,0,0,1244,1248,
484
+ 1,0,0,0,1245,1243,1,0,0,0,1246,1247,5,175,0,0,1247,1249,3,62,31,0,1248,1246,
485
+ 1,0,0,0,1248,1249,1,0,0,0,1249,1251,1,0,0,0,1250,1224,1,0,0,0,1250,1225,
486
+ 1,0,0,0,1251,105,1,0,0,0,1252,1256,5,131,0,0,1253,1254,3,180,90,0,1254,1255,
487
+ 5,2,0,0,1255,1257,1,0,0,0,1256,1253,1,0,0,0,1256,1257,1,0,0,0,1257,1258,
488
+ 1,0,0,0,1258,1265,3,204,102,0,1259,1260,5,6,0,0,1260,1266,3,108,54,0,1261,
489
+ 1262,5,3,0,0,1262,1263,3,108,54,0,1263,1264,5,4,0,0,1264,1266,1,0,0,0,1265,
490
+ 1259,1,0,0,0,1265,1261,1,0,0,0,1265,1266,1,0,0,0,1266,107,1,0,0,0,1267,1271,
491
+ 3,36,18,0,1268,1271,3,176,88,0,1269,1271,5,183,0,0,1270,1267,1,0,0,0,1270,
492
+ 1268,1,0,0,0,1270,1269,1,0,0,0,1271,109,1,0,0,0,1272,1283,5,140,0,0,1273,
493
+ 1284,3,192,96,0,1274,1275,3,180,90,0,1275,1276,5,2,0,0,1276,1278,1,0,0,0,
494
+ 1277,1274,1,0,0,0,1277,1278,1,0,0,0,1278,1281,1,0,0,0,1279,1282,3,182,91,
495
+ 0,1280,1282,3,196,98,0,1281,1279,1,0,0,0,1281,1280,1,0,0,0,1282,1284,1,0,
496
+ 0,0,1283,1273,1,0,0,0,1283,1277,1,0,0,0,1283,1284,1,0,0,0,1284,111,1,0,0,
497
+ 0,1285,1287,3,50,25,0,1286,1285,1,0,0,0,1286,1287,1,0,0,0,1287,1288,1,0,
498
+ 0,0,1288,1294,3,116,58,0,1289,1290,3,126,63,0,1290,1291,3,116,58,0,1291,
499
+ 1293,1,0,0,0,1292,1289,1,0,0,0,1293,1296,1,0,0,0,1294,1292,1,0,0,0,1294,
500
+ 1295,1,0,0,0,1295,1298,1,0,0,0,1296,1294,1,0,0,0,1297,1299,3,146,73,0,1298,
501
+ 1297,1,0,0,0,1298,1299,1,0,0,0,1299,1301,1,0,0,0,1300,1302,3,148,74,0,1301,
502
+ 1300,1,0,0,0,1301,1302,1,0,0,0,1302,113,1,0,0,0,1303,1311,3,118,59,0,1304,
503
+ 1305,3,122,61,0,1305,1307,3,118,59,0,1306,1308,3,124,62,0,1307,1306,1,0,
504
+ 0,0,1307,1308,1,0,0,0,1308,1310,1,0,0,0,1309,1304,1,0,0,0,1310,1313,1,0,
505
+ 0,0,1311,1309,1,0,0,0,1311,1312,1,0,0,0,1312,115,1,0,0,0,1313,1311,1,0,0,
506
+ 0,1314,1316,5,152,0,0,1315,1317,7,19,0,0,1316,1315,1,0,0,0,1316,1317,1,0,
507
+ 0,0,1317,1318,1,0,0,0,1318,1323,3,120,60,0,1319,1320,5,5,0,0,1320,1322,3,
508
+ 120,60,0,1321,1319,1,0,0,0,1322,1325,1,0,0,0,1323,1321,1,0,0,0,1323,1324,
509
+ 1,0,0,0,1324,1328,1,0,0,0,1325,1323,1,0,0,0,1326,1327,5,85,0,0,1327,1329,
510
+ 3,114,57,0,1328,1326,1,0,0,0,1328,1329,1,0,0,0,1329,1332,1,0,0,0,1330,1331,
511
+ 5,175,0,0,1331,1333,3,62,31,0,1332,1330,1,0,0,0,1332,1333,1,0,0,0,1333,1348,
512
+ 1,0,0,0,1334,1335,5,89,0,0,1335,1336,5,43,0,0,1336,1341,3,62,31,0,1337,1338,
513
+ 5,5,0,0,1338,1340,3,62,31,0,1339,1337,1,0,0,0,1340,1343,1,0,0,0,1341,1339,
514
+ 1,0,0,0,1341,1342,1,0,0,0,1342,1346,1,0,0,0,1343,1341,1,0,0,0,1344,1345,
515
+ 5,91,0,0,1345,1347,3,62,31,0,1346,1344,1,0,0,0,1346,1347,1,0,0,0,1347,1349,
516
+ 1,0,0,0,1348,1334,1,0,0,0,1348,1349,1,0,0,0,1349,1364,1,0,0,0,1350,1351,
517
+ 5,176,0,0,1351,1352,3,212,106,0,1352,1353,5,36,0,0,1353,1361,3,138,69,0,
518
+ 1354,1355,5,5,0,0,1355,1356,3,212,106,0,1356,1357,5,36,0,0,1357,1358,3,138,
519
+ 69,0,1358,1360,1,0,0,0,1359,1354,1,0,0,0,1360,1363,1,0,0,0,1361,1359,1,0,
520
+ 0,0,1361,1362,1,0,0,0,1362,1365,1,0,0,0,1363,1361,1,0,0,0,1364,1350,1,0,
521
+ 0,0,1364,1365,1,0,0,0,1365,1368,1,0,0,0,1366,1368,3,98,49,0,1367,1314,1,
522
+ 0,0,0,1367,1366,1,0,0,0,1368,117,1,0,0,0,1369,1370,3,180,90,0,1370,1371,
523
+ 5,2,0,0,1371,1373,1,0,0,0,1372,1369,1,0,0,0,1372,1373,1,0,0,0,1373,1374,
524
+ 1,0,0,0,1374,1378,3,182,91,0,1375,1376,5,36,0,0,1376,1379,3,208,104,0,1377,
525
+ 1379,3,210,105,0,1378,1375,1,0,0,0,1378,1377,1,0,0,0,1378,1379,1,0,0,0,1379,
526
+ 1385,1,0,0,0,1380,1381,5,97,0,0,1381,1382,5,43,0,0,1382,1386,3,196,98,0,
527
+ 1383,1384,5,116,0,0,1384,1386,5,97,0,0,1385,1380,1,0,0,0,1385,1383,1,0,0,
528
+ 0,1385,1386,1,0,0,0,1386,1423,1,0,0,0,1387,1388,3,180,90,0,1388,1389,5,2,
529
+ 0,0,1389,1391,1,0,0,0,1390,1387,1,0,0,0,1390,1391,1,0,0,0,1391,1392,1,0,
530
+ 0,0,1392,1393,3,218,109,0,1393,1394,5,3,0,0,1394,1399,3,62,31,0,1395,1396,
531
+ 5,5,0,0,1396,1398,3,62,31,0,1397,1395,1,0,0,0,1398,1401,1,0,0,0,1399,1397,
532
+ 1,0,0,0,1399,1400,1,0,0,0,1400,1402,1,0,0,0,1401,1399,1,0,0,0,1402,1407,
533
+ 5,4,0,0,1403,1405,5,36,0,0,1404,1403,1,0,0,0,1404,1405,1,0,0,0,1405,1406,
534
+ 1,0,0,0,1406,1408,3,208,104,0,1407,1404,1,0,0,0,1407,1408,1,0,0,0,1408,1423,
535
+ 1,0,0,0,1409,1410,5,3,0,0,1410,1411,3,114,57,0,1411,1412,5,4,0,0,1412,1423,
536
+ 1,0,0,0,1413,1414,5,3,0,0,1414,1415,3,112,56,0,1415,1420,5,4,0,0,1416,1418,
537
+ 5,36,0,0,1417,1416,1,0,0,0,1417,1418,1,0,0,0,1418,1419,1,0,0,0,1419,1421,
538
+ 3,208,104,0,1420,1417,1,0,0,0,1420,1421,1,0,0,0,1421,1423,1,0,0,0,1422,1372,
539
+ 1,0,0,0,1422,1390,1,0,0,0,1422,1409,1,0,0,0,1422,1413,1,0,0,0,1423,119,1,
540
+ 0,0,0,1424,1437,5,7,0,0,1425,1426,3,182,91,0,1426,1427,5,2,0,0,1427,1428,
541
+ 5,7,0,0,1428,1437,1,0,0,0,1429,1434,3,62,31,0,1430,1432,5,36,0,0,1431,1430,
542
+ 1,0,0,0,1431,1432,1,0,0,0,1432,1433,1,0,0,0,1433,1435,3,190,95,0,1434,1431,
543
+ 1,0,0,0,1434,1435,1,0,0,0,1435,1437,1,0,0,0,1436,1424,1,0,0,0,1436,1425,
544
+ 1,0,0,0,1436,1429,1,0,0,0,1437,121,1,0,0,0,1438,1452,5,5,0,0,1439,1441,5,
545
+ 114,0,0,1440,1439,1,0,0,0,1440,1441,1,0,0,0,1441,1448,1,0,0,0,1442,1444,
546
+ 7,20,0,0,1443,1445,5,127,0,0,1444,1443,1,0,0,0,1444,1445,1,0,0,0,1445,1449,
547
+ 1,0,0,0,1446,1449,5,99,0,0,1447,1449,5,54,0,0,1448,1442,1,0,0,0,1448,1446,
548
+ 1,0,0,0,1448,1447,1,0,0,0,1448,1449,1,0,0,0,1449,1450,1,0,0,0,1450,1452,
549
+ 5,106,0,0,1451,1438,1,0,0,0,1451,1440,1,0,0,0,1452,123,1,0,0,0,1453,1454,
550
+ 5,123,0,0,1454,1468,3,62,31,0,1455,1456,5,169,0,0,1456,1457,5,3,0,0,1457,
551
+ 1462,3,186,93,0,1458,1459,5,5,0,0,1459,1461,3,186,93,0,1460,1458,1,0,0,0,
552
+ 1461,1464,1,0,0,0,1462,1460,1,0,0,0,1462,1463,1,0,0,0,1463,1465,1,0,0,0,
553
+ 1464,1462,1,0,0,0,1465,1466,5,4,0,0,1466,1468,1,0,0,0,1467,1453,1,0,0,0,
554
+ 1467,1455,1,0,0,0,1468,125,1,0,0,0,1469,1471,5,166,0,0,1470,1472,5,31,0,
555
+ 0,1471,1470,1,0,0,0,1471,1472,1,0,0,0,1472,1476,1,0,0,0,1473,1476,5,102,
556
+ 0,0,1474,1476,5,73,0,0,1475,1469,1,0,0,0,1475,1473,1,0,0,0,1475,1474,1,0,
557
+ 0,0,1476,127,1,0,0,0,1477,1479,3,50,25,0,1478,1477,1,0,0,0,1478,1479,1,0,
558
+ 0,0,1479,1480,1,0,0,0,1480,1483,5,168,0,0,1481,1482,5,124,0,0,1482,1484,
559
+ 7,8,0,0,1483,1481,1,0,0,0,1483,1484,1,0,0,0,1484,1485,1,0,0,0,1485,1486,
560
+ 3,132,66,0,1486,1489,5,153,0,0,1487,1490,3,186,93,0,1488,1490,3,130,65,0,
561
+ 1489,1487,1,0,0,0,1489,1488,1,0,0,0,1490,1491,1,0,0,0,1491,1492,5,6,0,0,
562
+ 1492,1503,3,62,31,0,1493,1496,5,5,0,0,1494,1497,3,186,93,0,1495,1497,3,130,
563
+ 65,0,1496,1494,1,0,0,0,1496,1495,1,0,0,0,1497,1498,1,0,0,0,1498,1499,5,6,
564
+ 0,0,1499,1500,3,62,31,0,1500,1502,1,0,0,0,1501,1493,1,0,0,0,1502,1505,1,
565
+ 0,0,0,1503,1501,1,0,0,0,1503,1504,1,0,0,0,1504,1508,1,0,0,0,1505,1503,1,
566
+ 0,0,0,1506,1507,5,85,0,0,1507,1509,3,114,57,0,1508,1506,1,0,0,0,1508,1509,
567
+ 1,0,0,0,1509,1512,1,0,0,0,1510,1511,5,175,0,0,1511,1513,3,62,31,0,1512,1510,
568
+ 1,0,0,0,1512,1513,1,0,0,0,1513,1515,1,0,0,0,1514,1516,3,102,51,0,1515,1514,
569
+ 1,0,0,0,1515,1516,1,0,0,0,1516,1518,1,0,0,0,1517,1519,3,146,73,0,1518,1517,
570
+ 1,0,0,0,1518,1519,1,0,0,0,1519,1521,1,0,0,0,1520,1522,3,148,74,0,1521,1520,
571
+ 1,0,0,0,1521,1522,1,0,0,0,1522,129,1,0,0,0,1523,1524,5,3,0,0,1524,1529,3,
572
+ 186,93,0,1525,1526,5,5,0,0,1526,1528,3,186,93,0,1527,1525,1,0,0,0,1528,1531,
573
+ 1,0,0,0,1529,1527,1,0,0,0,1529,1530,1,0,0,0,1530,1532,1,0,0,0,1531,1529,
574
+ 1,0,0,0,1532,1533,5,4,0,0,1533,131,1,0,0,0,1534,1535,3,180,90,0,1535,1536,
575
+ 5,2,0,0,1536,1538,1,0,0,0,1537,1534,1,0,0,0,1537,1538,1,0,0,0,1538,1539,
576
+ 1,0,0,0,1539,1542,3,182,91,0,1540,1541,5,36,0,0,1541,1543,3,214,107,0,1542,
577
+ 1540,1,0,0,0,1542,1543,1,0,0,0,1543,1549,1,0,0,0,1544,1545,5,97,0,0,1545,
578
+ 1546,5,43,0,0,1546,1550,3,196,98,0,1547,1548,5,116,0,0,1548,1550,5,97,0,
579
+ 0,1549,1544,1,0,0,0,1549,1547,1,0,0,0,1549,1550,1,0,0,0,1550,133,1,0,0,0,
580
+ 1551,1553,5,170,0,0,1552,1554,3,180,90,0,1553,1552,1,0,0,0,1553,1554,1,0,
581
+ 0,0,1554,1557,1,0,0,0,1555,1556,5,103,0,0,1556,1558,3,162,81,0,1557,1555,
582
+ 1,0,0,0,1557,1558,1,0,0,0,1558,135,1,0,0,0,1559,1560,5,80,0,0,1560,1561,
583
+ 5,3,0,0,1561,1562,5,175,0,0,1562,1563,3,62,31,0,1563,1564,5,4,0,0,1564,137,
584
+ 1,0,0,0,1565,1567,5,3,0,0,1566,1568,3,216,108,0,1567,1566,1,0,0,0,1567,1568,
585
+ 1,0,0,0,1568,1579,1,0,0,0,1569,1570,5,129,0,0,1570,1571,5,43,0,0,1571,1576,
586
+ 3,62,31,0,1572,1573,5,5,0,0,1573,1575,3,62,31,0,1574,1572,1,0,0,0,1575,1578,
587
+ 1,0,0,0,1576,1574,1,0,0,0,1576,1577,1,0,0,0,1577,1580,1,0,0,0,1578,1576,
588
+ 1,0,0,0,1579,1569,1,0,0,0,1579,1580,1,0,0,0,1580,1582,1,0,0,0,1581,1583,
589
+ 3,146,73,0,1582,1581,1,0,0,0,1582,1583,1,0,0,0,1583,1585,1,0,0,0,1584,1586,
590
+ 3,142,71,0,1585,1584,1,0,0,0,1585,1586,1,0,0,0,1586,1587,1,0,0,0,1587,1588,
591
+ 5,4,0,0,1588,139,1,0,0,0,1589,1614,5,128,0,0,1590,1615,3,212,106,0,1591,
592
+ 1593,5,3,0,0,1592,1594,3,216,108,0,1593,1592,1,0,0,0,1593,1594,1,0,0,0,1594,
593
+ 1605,1,0,0,0,1595,1596,5,129,0,0,1596,1597,5,43,0,0,1597,1602,3,62,31,0,
594
+ 1598,1599,5,5,0,0,1599,1601,3,62,31,0,1600,1598,1,0,0,0,1601,1604,1,0,0,
595
+ 0,1602,1600,1,0,0,0,1602,1603,1,0,0,0,1603,1606,1,0,0,0,1604,1602,1,0,0,
596
+ 0,1605,1595,1,0,0,0,1605,1606,1,0,0,0,1606,1608,1,0,0,0,1607,1609,3,146,
597
+ 73,0,1608,1607,1,0,0,0,1608,1609,1,0,0,0,1609,1611,1,0,0,0,1610,1612,3,142,
598
+ 71,0,1611,1610,1,0,0,0,1611,1612,1,0,0,0,1612,1613,1,0,0,0,1613,1615,5,4,
599
+ 0,0,1614,1590,1,0,0,0,1614,1591,1,0,0,0,1615,141,1,0,0,0,1616,1626,3,144,
600
+ 72,0,1617,1624,5,74,0,0,1618,1619,5,115,0,0,1619,1625,5,126,0,0,1620,1621,
601
+ 5,55,0,0,1621,1625,5,148,0,0,1622,1625,5,89,0,0,1623,1625,5,160,0,0,1624,
602
+ 1618,1,0,0,0,1624,1620,1,0,0,0,1624,1622,1,0,0,0,1624,1623,1,0,0,0,1625,
603
+ 1627,1,0,0,0,1626,1617,1,0,0,0,1626,1627,1,0,0,0,1627,143,1,0,0,0,1628,1635,
604
+ 7,21,0,0,1629,1636,3,158,79,0,1630,1631,5,42,0,0,1631,1632,3,154,77,0,1632,
605
+ 1633,5,35,0,0,1633,1634,3,156,78,0,1634,1636,1,0,0,0,1635,1629,1,0,0,0,1635,
606
+ 1630,1,0,0,0,1636,145,1,0,0,0,1637,1638,5,125,0,0,1638,1639,5,43,0,0,1639,
607
+ 1644,3,150,75,0,1640,1641,5,5,0,0,1641,1643,3,150,75,0,1642,1640,1,0,0,0,
608
+ 1643,1646,1,0,0,0,1644,1642,1,0,0,0,1644,1645,1,0,0,0,1645,147,1,0,0,0,1646,
609
+ 1644,1,0,0,0,1647,1648,5,111,0,0,1648,1651,3,62,31,0,1649,1650,7,22,0,0,
610
+ 1650,1652,3,62,31,0,1651,1649,1,0,0,0,1651,1652,1,0,0,0,1652,149,1,0,0,0,
611
+ 1653,1656,3,62,31,0,1654,1655,5,48,0,0,1655,1657,3,192,96,0,1656,1654,1,
612
+ 0,0,0,1656,1657,1,0,0,0,1657,1659,1,0,0,0,1658,1660,3,152,76,0,1659,1658,
613
+ 1,0,0,0,1659,1660,1,0,0,0,1660,1663,1,0,0,0,1661,1662,5,120,0,0,1662,1664,
614
+ 7,23,0,0,1663,1661,1,0,0,0,1663,1664,1,0,0,0,1664,151,1,0,0,0,1665,1666,
615
+ 7,24,0,0,1666,153,1,0,0,0,1667,1668,3,62,31,0,1668,1669,5,132,0,0,1669,1676,
616
+ 1,0,0,0,1670,1671,3,62,31,0,1671,1672,5,82,0,0,1672,1676,1,0,0,0,1673,1674,
617
+ 5,55,0,0,1674,1676,5,148,0,0,1675,1667,1,0,0,0,1675,1670,1,0,0,0,1675,1673,
618
+ 1,0,0,0,1676,155,1,0,0,0,1677,1678,3,62,31,0,1678,1679,5,132,0,0,1679,1686,
619
+ 1,0,0,0,1680,1681,3,62,31,0,1681,1682,5,82,0,0,1682,1686,1,0,0,0,1683,1684,
620
+ 5,55,0,0,1684,1686,5,148,0,0,1685,1677,1,0,0,0,1685,1680,1,0,0,0,1685,1683,
621
+ 1,0,0,0,1686,157,1,0,0,0,1687,1688,3,62,31,0,1688,1689,5,132,0,0,1689,1693,
622
+ 1,0,0,0,1690,1691,5,55,0,0,1691,1693,5,148,0,0,1692,1687,1,0,0,0,1692,1690,
623
+ 1,0,0,0,1693,159,1,0,0,0,1694,1695,3,62,31,0,1695,161,1,0,0,0,1696,1697,
624
+ 3,62,31,0,1697,163,1,0,0,0,1698,1700,3,166,83,0,1699,1698,1,0,0,0,1700,1703,
625
+ 1,0,0,0,1701,1699,1,0,0,0,1701,1702,1,0,0,0,1702,165,1,0,0,0,1703,1701,1,
626
+ 0,0,0,1704,1714,8,25,0,0,1705,1709,5,3,0,0,1706,1708,3,168,84,0,1707,1706,
627
+ 1,0,0,0,1708,1711,1,0,0,0,1709,1707,1,0,0,0,1709,1710,1,0,0,0,1710,1712,
628
+ 1,0,0,0,1711,1709,1,0,0,0,1712,1714,5,4,0,0,1713,1704,1,0,0,0,1713,1705,
629
+ 1,0,0,0,1714,167,1,0,0,0,1715,1725,8,26,0,0,1716,1720,5,3,0,0,1717,1719,
630
+ 3,168,84,0,1718,1717,1,0,0,0,1719,1722,1,0,0,0,1720,1718,1,0,0,0,1720,1721,
631
+ 1,0,0,0,1721,1723,1,0,0,0,1722,1720,1,0,0,0,1723,1725,5,4,0,0,1724,1715,
632
+ 1,0,0,0,1724,1716,1,0,0,0,1725,169,1,0,0,0,1726,1727,7,27,0,0,1727,171,1,
633
+ 0,0,0,1728,1729,7,28,0,0,1729,173,1,0,0,0,1730,1734,3,170,85,0,1731,1734,
634
+ 3,172,86,0,1732,1734,5,135,0,0,1733,1730,1,0,0,0,1733,1731,1,0,0,0,1733,
635
+ 1732,1,0,0,0,1734,175,1,0,0,0,1735,1736,3,226,113,0,1736,177,1,0,0,0,1737,
636
+ 1738,3,220,110,0,1738,179,1,0,0,0,1739,1740,3,226,113,0,1740,181,1,0,0,0,
637
+ 1741,1742,3,226,113,0,1742,183,1,0,0,0,1743,1744,3,226,113,0,1744,185,1,
638
+ 0,0,0,1745,1746,3,226,113,0,1746,187,1,0,0,0,1747,1748,3,224,112,0,1748,
639
+ 189,1,0,0,0,1749,1750,3,226,113,0,1750,191,1,0,0,0,1751,1752,3,226,113,0,
640
+ 1752,193,1,0,0,0,1753,1754,3,226,113,0,1754,195,1,0,0,0,1755,1756,3,226,
641
+ 113,0,1756,197,1,0,0,0,1757,1758,3,226,113,0,1758,199,1,0,0,0,1759,1760,
642
+ 3,226,113,0,1760,201,1,0,0,0,1761,1762,3,226,113,0,1762,203,1,0,0,0,1763,
643
+ 1764,3,226,113,0,1764,205,1,0,0,0,1765,1766,3,226,113,0,1766,207,1,0,0,0,
644
+ 1767,1768,3,226,113,0,1768,209,1,0,0,0,1769,1770,3,222,111,0,1770,211,1,
645
+ 0,0,0,1771,1772,3,226,113,0,1772,213,1,0,0,0,1773,1774,3,226,113,0,1774,
646
+ 215,1,0,0,0,1775,1776,3,226,113,0,1776,217,1,0,0,0,1777,1778,3,226,113,0,
647
+ 1778,219,1,0,0,0,1779,1784,5,180,0,0,1780,1784,3,170,85,0,1781,1784,3,172,
648
+ 86,0,1782,1784,5,183,0,0,1783,1779,1,0,0,0,1783,1780,1,0,0,0,1783,1781,1,
649
+ 0,0,0,1783,1782,1,0,0,0,1784,221,1,0,0,0,1785,1790,5,180,0,0,1786,1790,3,
650
+ 170,85,0,1787,1790,5,135,0,0,1788,1790,5,183,0,0,1789,1785,1,0,0,0,1789,
651
+ 1786,1,0,0,0,1789,1787,1,0,0,0,1789,1788,1,0,0,0,1790,223,1,0,0,0,1791,1794,
652
+ 5,180,0,0,1792,1794,3,174,87,0,1793,1791,1,0,0,0,1793,1792,1,0,0,0,1794,
653
+ 225,1,0,0,0,1795,1799,5,180,0,0,1796,1799,3,174,87,0,1797,1799,5,183,0,0,
654
+ 1798,1795,1,0,0,0,1798,1796,1,0,0,0,1798,1797,1,0,0,0,1799,227,1,0,0,0,263,
655
+ 232,236,240,246,248,272,279,286,292,296,301,304,311,314,318,326,329,333,
656
+ 337,341,344,351,357,363,368,379,385,390,393,397,403,408,417,424,429,433,
657
+ 438,444,448,453,458,464,476,480,485,488,491,494,498,501,515,522,529,531,
658
+ 534,540,545,553,558,573,579,589,594,604,608,610,614,619,621,629,635,640,
659
+ 647,658,661,663,670,674,681,687,693,699,704,713,718,729,734,745,750,754,
660
+ 761,767,770,783,788,791,798,801,804,807,811,819,824,835,843,849,859,863,
661
+ 867,875,885,888,894,900,909,912,916,919,925,929,935,937,945,953,961,969,
662
+ 977,985,991,1001,1009,1012,1020,1025,1032,1036,1039,1043,1046,1049,1057,
663
+ 1071,1080,1084,1088,1096,1116,1127,1131,1138,1144,1149,1157,1162,1168,1173,
664
+ 1176,1182,1185,1187,1193,1196,1198,1202,1213,1219,1221,1229,1236,1243,1248,
665
+ 1250,1256,1265,1270,1277,1281,1283,1286,1294,1298,1301,1307,1311,1316,1323,
666
+ 1328,1332,1341,1346,1348,1361,1364,1367,1372,1378,1385,1390,1399,1404,1407,
667
+ 1417,1420,1422,1431,1434,1436,1440,1444,1448,1451,1462,1467,1471,1475,1478,
668
+ 1483,1489,1496,1503,1508,1512,1515,1518,1521,1529,1537,1542,1549,1553,1557,
669
+ 1567,1576,1579,1582,1585,1593,1602,1605,1608,1611,1614,1624,1626,1635,1644,
670
+ 1651,1656,1659,1663,1675,1685,1692,1701,1709,1713,1720,1724,1733,1783,1789,
671
+ 1793,1798];
672
672
 
673
673
 
674
674
  const atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN);
@@ -772,10 +772,10 @@ export default class SQLiteParser extends antlr4.Parser {
772
772
  "conflict_clause", "create_trigger_stmt", "create_view_stmt",
773
773
  "create_virtual_table_stmt", "with_clause", "common_table_expression",
774
774
  "cte_table_name", "delete_stmt", "detach_stmt",
775
- "drop_stmt", "expr", "expr_recursive", "expr_or",
776
- "expr_and", "expr_not", "expr_binary", "expr_comparison",
777
- "expr_bitwise", "expr_addition", "expr_multiplication",
778
- "expr_string", "expr_collate", "expr_unary", "expr_base",
775
+ "drop_stmt", "expr", "expr_or", "expr_and", "expr_not",
776
+ "expr_binary", "expr_comparison", "expr_bitwise",
777
+ "expr_addition", "expr_multiplication", "expr_string",
778
+ "expr_collate", "expr_unary", "expr_base", "expr_recursive",
779
779
  "raise_function", "literal_value", "percentile_clause",
780
780
  "value_row", "values_clause", "insert_stmt", "returning_clause",
781
781
  "upsert_clause", "pragma_stmt", "pragma_value",
@@ -3134,305 +3134,7 @@ export default class SQLiteParser extends antlr4.Parser {
3134
3134
  try {
3135
3135
  this.enterOuterAlt(localctx, 1);
3136
3136
  this.state = 828;
3137
- this.expr_recursive();
3138
- } catch (re) {
3139
- if(re instanceof antlr4.error.RecognitionException) {
3140
- localctx.exception = re;
3141
- this._errHandler.reportError(this, re);
3142
- this._errHandler.recover(this, re);
3143
- } else {
3144
- throw re;
3145
- }
3146
- } finally {
3147
- this.exitRule();
3148
- }
3149
- return localctx;
3150
- }
3151
-
3152
-
3153
-
3154
- expr_recursive() {
3155
- let localctx = new Expr_recursiveContext(this, this._ctx, this.state);
3156
- this.enterRule(localctx, 64, SQLiteParser.RULE_expr_recursive);
3157
- var _la = 0;
3158
- try {
3159
- this.state = 897;
3160
- this._errHandler.sync(this);
3161
- var la_ = this._interp.adaptivePredict(this._input,114,this._ctx);
3162
- switch(la_) {
3163
- case 1:
3164
- this.enterOuterAlt(localctx, 1);
3165
- this.state = 830;
3166
- this.function_name();
3167
- this.state = 831;
3168
- this.match(SQLiteParser.OPEN_PAR);
3169
- this.state = 847;
3170
- this._errHandler.sync(this);
3171
- switch (this._input.LA(1)) {
3172
- case 3:
3173
- case 8:
3174
- case 9:
3175
- case 10:
3176
- case 27:
3177
- case 28:
3178
- case 30:
3179
- case 33:
3180
- case 34:
3181
- case 37:
3182
- case 38:
3183
- case 40:
3184
- case 41:
3185
- case 43:
3186
- case 44:
3187
- case 45:
3188
- case 46:
3189
- case 49:
3190
- case 51:
3191
- case 54:
3192
- case 55:
3193
- case 56:
3194
- case 57:
3195
- case 58:
3196
- case 59:
3197
- case 62:
3198
- case 64:
3199
- case 65:
3200
- case 66:
3201
- case 67:
3202
- case 69:
3203
- case 71:
3204
- case 73:
3205
- case 74:
3206
- case 75:
3207
- case 76:
3208
- case 77:
3209
- case 78:
3210
- case 79:
3211
- case 81:
3212
- case 82:
3213
- case 83:
3214
- case 86:
3215
- case 87:
3216
- case 88:
3217
- case 90:
3218
- case 92:
3219
- case 93:
3220
- case 94:
3221
- case 97:
3222
- case 98:
3223
- case 99:
3224
- case 101:
3225
- case 102:
3226
- case 107:
3227
- case 108:
3228
- case 109:
3229
- case 110:
3230
- case 112:
3231
- case 113:
3232
- case 114:
3233
- case 115:
3234
- case 116:
3235
- case 119:
3236
- case 120:
3237
- case 121:
3238
- case 122:
3239
- case 126:
3240
- case 127:
3241
- case 129:
3242
- case 130:
3243
- case 131:
3244
- case 132:
3245
- case 134:
3246
- case 135:
3247
- case 136:
3248
- case 137:
3249
- case 139:
3250
- case 140:
3251
- case 141:
3252
- case 142:
3253
- case 143:
3254
- case 144:
3255
- case 146:
3256
- case 147:
3257
- case 148:
3258
- case 149:
3259
- case 150:
3260
- case 151:
3261
- case 154:
3262
- case 155:
3263
- case 157:
3264
- case 158:
3265
- case 160:
3266
- case 163:
3267
- case 164:
3268
- case 165:
3269
- case 166:
3270
- case 170:
3271
- case 172:
3272
- case 173:
3273
- case 177:
3274
- case 178:
3275
- case 179:
3276
- case 180:
3277
- case 181:
3278
- case 182:
3279
- case 183:
3280
- case 184:
3281
- this.state = 833;
3282
- this._errHandler.sync(this);
3283
- _la = this._input.LA(1);
3284
- if(_la===66) {
3285
- this.state = 832;
3286
- this.match(SQLiteParser.DISTINCT_);
3287
- }
3288
-
3289
- this.state = 835;
3290
- this.expr();
3291
- this.state = 840;
3292
- this._errHandler.sync(this);
3293
- _la = this._input.LA(1);
3294
- while(_la===5) {
3295
- this.state = 836;
3296
- this.match(SQLiteParser.COMMA);
3297
- this.state = 837;
3298
- this.expr();
3299
- this.state = 842;
3300
- this._errHandler.sync(this);
3301
- _la = this._input.LA(1);
3302
- }
3303
- this.state = 844;
3304
- this._errHandler.sync(this);
3305
- _la = this._input.LA(1);
3306
- if(_la===125) {
3307
- this.state = 843;
3308
- this.order_clause();
3309
- }
3310
-
3311
- break;
3312
- case 7:
3313
- this.state = 846;
3314
- this.match(SQLiteParser.STAR);
3315
- break;
3316
- case 4:
3317
- break;
3318
- default:
3319
- break;
3320
- }
3321
- this.state = 849;
3322
- this.match(SQLiteParser.CLOSE_PAR);
3323
- this.state = 851;
3324
- this._errHandler.sync(this);
3325
- var la_ = this._interp.adaptivePredict(this._input,107,this._ctx);
3326
- if(la_===1) {
3327
- this.state = 850;
3328
- this.percentile_clause();
3329
-
3330
- }
3331
- this.state = 854;
3332
- this._errHandler.sync(this);
3333
- _la = this._input.LA(1);
3334
- if(_la===80) {
3335
- this.state = 853;
3336
- this.filter_clause();
3337
- }
3338
-
3339
- this.state = 857;
3340
- this._errHandler.sync(this);
3341
- _la = this._input.LA(1);
3342
- if(_la===128) {
3343
- this.state = 856;
3344
- this.over_clause();
3345
- }
3346
-
3347
- break;
3348
-
3349
- case 2:
3350
- this.enterOuterAlt(localctx, 2);
3351
- this.state = 859;
3352
- this.match(SQLiteParser.OPEN_PAR);
3353
- this.state = 860;
3354
- this.expr();
3355
- this.state = 865;
3356
- this._errHandler.sync(this);
3357
- _la = this._input.LA(1);
3358
- while(_la===5) {
3359
- this.state = 861;
3360
- this.match(SQLiteParser.COMMA);
3361
- this.state = 862;
3362
- this.expr();
3363
- this.state = 867;
3364
- this._errHandler.sync(this);
3365
- _la = this._input.LA(1);
3366
- }
3367
- this.state = 868;
3368
- this.match(SQLiteParser.CLOSE_PAR);
3369
- break;
3370
-
3371
- case 3:
3372
- this.enterOuterAlt(localctx, 3);
3373
- this.state = 870;
3374
- this.match(SQLiteParser.CAST_);
3375
- this.state = 871;
3376
- this.match(SQLiteParser.OPEN_PAR);
3377
- this.state = 872;
3378
- this.expr();
3379
- this.state = 873;
3380
- this.match(SQLiteParser.AS_);
3381
- this.state = 874;
3382
- this.type_name();
3383
- this.state = 875;
3384
- this.match(SQLiteParser.CLOSE_PAR);
3385
- break;
3386
-
3387
- case 4:
3388
- this.enterOuterAlt(localctx, 4);
3389
- this.state = 877;
3390
- this.match(SQLiteParser.CASE_);
3391
- this.state = 879;
3392
- this._errHandler.sync(this);
3393
- _la = this._input.LA(1);
3394
- if((((_la) & ~0x1f) === 0 && ((1 << _la) & 1476396808) !== 0) || ((((_la - 33)) & ~0x1f) === 0 && ((1 << (_la - 33)) & 2816818611) !== 0) || ((((_la - 65)) & ~0x1f) === 0 && ((1 << (_la - 65)) & 988249941) !== 0) || ((((_la - 97)) & ~0x1f) === 0 && ((1 << (_la - 97)) & 1674558519) !== 0) || ((((_la - 129)) & ~0x1f) === 0 && ((1 << (_la - 129)) & 3061775855) !== 0) || ((((_la - 163)) & ~0x1f) === 0 && ((1 << (_la - 163)) & 4179599) !== 0)) {
3395
- this.state = 878;
3396
- this.expr();
3397
- }
3398
-
3399
- this.state = 886;
3400
- this._errHandler.sync(this);
3401
- _la = this._input.LA(1);
3402
- do {
3403
- this.state = 881;
3404
- this.match(SQLiteParser.WHEN_);
3405
- this.state = 882;
3406
- this.expr();
3407
- this.state = 883;
3408
- this.match(SQLiteParser.THEN_);
3409
- this.state = 884;
3410
- this.expr();
3411
- this.state = 888;
3412
- this._errHandler.sync(this);
3413
- _la = this._input.LA(1);
3414
- } while(_la===174);
3415
- this.state = 892;
3416
- this._errHandler.sync(this);
3417
- _la = this._input.LA(1);
3418
- if(_la===70) {
3419
- this.state = 890;
3420
- this.match(SQLiteParser.ELSE_);
3421
- this.state = 891;
3422
- this.expr();
3423
- }
3424
-
3425
- this.state = 894;
3426
- this.match(SQLiteParser.END_);
3427
- break;
3428
-
3429
- case 5:
3430
- this.enterOuterAlt(localctx, 5);
3431
- this.state = 896;
3432
- this.expr_or();
3433
- break;
3434
-
3435
- }
3137
+ this.expr_or();
3436
3138
  } catch (re) {
3437
3139
  if(re instanceof antlr4.error.RecognitionException) {
3438
3140
  localctx.exception = re;
@@ -3451,21 +3153,21 @@ export default class SQLiteParser extends antlr4.Parser {
3451
3153
 
3452
3154
  expr_or() {
3453
3155
  let localctx = new Expr_orContext(this, this._ctx, this.state);
3454
- this.enterRule(localctx, 66, SQLiteParser.RULE_expr_or);
3156
+ this.enterRule(localctx, 64, SQLiteParser.RULE_expr_or);
3455
3157
  var _la = 0;
3456
3158
  try {
3457
3159
  this.enterOuterAlt(localctx, 1);
3458
- this.state = 899;
3160
+ this.state = 830;
3459
3161
  this.expr_and();
3460
- this.state = 904;
3162
+ this.state = 835;
3461
3163
  this._errHandler.sync(this);
3462
3164
  _la = this._input.LA(1);
3463
3165
  while(_la===124) {
3464
- this.state = 900;
3166
+ this.state = 831;
3465
3167
  this.match(SQLiteParser.OR_);
3466
- this.state = 901;
3168
+ this.state = 832;
3467
3169
  this.expr_and();
3468
- this.state = 906;
3170
+ this.state = 837;
3469
3171
  this._errHandler.sync(this);
3470
3172
  _la = this._input.LA(1);
3471
3173
  }
@@ -3487,21 +3189,21 @@ export default class SQLiteParser extends antlr4.Parser {
3487
3189
 
3488
3190
  expr_and() {
3489
3191
  let localctx = new Expr_andContext(this, this._ctx, this.state);
3490
- this.enterRule(localctx, 68, SQLiteParser.RULE_expr_and);
3192
+ this.enterRule(localctx, 66, SQLiteParser.RULE_expr_and);
3491
3193
  var _la = 0;
3492
3194
  try {
3493
3195
  this.enterOuterAlt(localctx, 1);
3494
- this.state = 907;
3196
+ this.state = 838;
3495
3197
  this.expr_not();
3496
- this.state = 912;
3198
+ this.state = 843;
3497
3199
  this._errHandler.sync(this);
3498
3200
  _la = this._input.LA(1);
3499
3201
  while(_la===35) {
3500
- this.state = 908;
3202
+ this.state = 839;
3501
3203
  this.match(SQLiteParser.AND_);
3502
- this.state = 909;
3204
+ this.state = 840;
3503
3205
  this.expr_not();
3504
- this.state = 914;
3206
+ this.state = 845;
3505
3207
  this._errHandler.sync(this);
3506
3208
  _la = this._input.LA(1);
3507
3209
  }
@@ -3523,23 +3225,23 @@ export default class SQLiteParser extends antlr4.Parser {
3523
3225
 
3524
3226
  expr_not() {
3525
3227
  let localctx = new Expr_notContext(this, this._ctx, this.state);
3526
- this.enterRule(localctx, 70, SQLiteParser.RULE_expr_not);
3228
+ this.enterRule(localctx, 68, SQLiteParser.RULE_expr_not);
3527
3229
  try {
3528
3230
  this.enterOuterAlt(localctx, 1);
3529
- this.state = 918;
3231
+ this.state = 849;
3530
3232
  this._errHandler.sync(this);
3531
- var _alt = this._interp.adaptivePredict(this._input,117,this._ctx)
3233
+ var _alt = this._interp.adaptivePredict(this._input,105,this._ctx)
3532
3234
  while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) {
3533
3235
  if(_alt===1) {
3534
- this.state = 915;
3236
+ this.state = 846;
3535
3237
  this.match(SQLiteParser.NOT_);
3536
3238
  }
3537
- this.state = 920;
3239
+ this.state = 851;
3538
3240
  this._errHandler.sync(this);
3539
- _alt = this._interp.adaptivePredict(this._input,117,this._ctx);
3241
+ _alt = this._interp.adaptivePredict(this._input,105,this._ctx);
3540
3242
  }
3541
3243
 
3542
- this.state = 921;
3244
+ this.state = 852;
3543
3245
  this.expr_binary();
3544
3246
  } catch (re) {
3545
3247
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3559,23 +3261,23 @@ export default class SQLiteParser extends antlr4.Parser {
3559
3261
 
3560
3262
  expr_binary() {
3561
3263
  let localctx = new Expr_binaryContext(this, this._ctx, this.state);
3562
- this.enterRule(localctx, 72, SQLiteParser.RULE_expr_binary);
3264
+ this.enterRule(localctx, 70, SQLiteParser.RULE_expr_binary);
3563
3265
  var _la = 0;
3564
3266
  try {
3565
3267
  this.enterOuterAlt(localctx, 1);
3566
- this.state = 923;
3268
+ this.state = 854;
3567
3269
  this.expr_comparison();
3568
- this.state = 1006;
3270
+ this.state = 937;
3569
3271
  this._errHandler.sync(this);
3570
- var _alt = this._interp.adaptivePredict(this._input,133,this._ctx)
3272
+ var _alt = this._interp.adaptivePredict(this._input,121,this._ctx)
3571
3273
  while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) {
3572
3274
  if(_alt===1) {
3573
- this.state = 1004;
3275
+ this.state = 935;
3574
3276
  this._errHandler.sync(this);
3575
- var la_ = this._interp.adaptivePredict(this._input,132,this._ctx);
3277
+ var la_ = this._interp.adaptivePredict(this._input,120,this._ctx);
3576
3278
  switch(la_) {
3577
3279
  case 1:
3578
- this.state = 924;
3280
+ this.state = 855;
3579
3281
  _la = this._input.LA(1);
3580
3282
  if(!((((_la) & ~0x1f) === 0 && ((1 << _la) & 29360192) !== 0))) {
3581
3283
  this._errHandler.recoverInline(this);
@@ -3584,151 +3286,151 @@ export default class SQLiteParser extends antlr4.Parser {
3584
3286
  this._errHandler.reportMatch(this);
3585
3287
  this.consume();
3586
3288
  }
3587
- this.state = 925;
3289
+ this.state = 856;
3588
3290
  this.expr_comparison();
3589
3291
  break;
3590
3292
 
3591
3293
  case 2:
3592
- this.state = 926;
3294
+ this.state = 857;
3593
3295
  this.match(SQLiteParser.IS_);
3594
- this.state = 928;
3296
+ this.state = 859;
3595
3297
  this._errHandler.sync(this);
3596
- var la_ = this._interp.adaptivePredict(this._input,118,this._ctx);
3298
+ var la_ = this._interp.adaptivePredict(this._input,106,this._ctx);
3597
3299
  if(la_===1) {
3598
- this.state = 927;
3300
+ this.state = 858;
3599
3301
  this.match(SQLiteParser.NOT_);
3600
3302
 
3601
3303
  }
3602
- this.state = 932;
3304
+ this.state = 863;
3603
3305
  this._errHandler.sync(this);
3604
3306
  _la = this._input.LA(1);
3605
3307
  if(_la===66) {
3606
- this.state = 930;
3308
+ this.state = 861;
3607
3309
  this.match(SQLiteParser.DISTINCT_);
3608
- this.state = 931;
3310
+ this.state = 862;
3609
3311
  this.match(SQLiteParser.FROM_);
3610
3312
  }
3611
3313
 
3612
- this.state = 934;
3314
+ this.state = 865;
3613
3315
  this.expr_comparison();
3614
3316
  break;
3615
3317
 
3616
3318
  case 3:
3617
- this.state = 936;
3319
+ this.state = 867;
3618
3320
  this._errHandler.sync(this);
3619
3321
  _la = this._input.LA(1);
3620
3322
  if(_la===116) {
3621
- this.state = 935;
3323
+ this.state = 866;
3622
3324
  this.match(SQLiteParser.NOT_);
3623
3325
  }
3624
3326
 
3625
- this.state = 938;
3327
+ this.state = 869;
3626
3328
  this.match(SQLiteParser.BETWEEN_);
3627
- this.state = 939;
3329
+ this.state = 870;
3628
3330
  this.expr_comparison();
3629
- this.state = 940;
3331
+ this.state = 871;
3630
3332
  this.match(SQLiteParser.AND_);
3631
- this.state = 941;
3333
+ this.state = 872;
3632
3334
  this.expr_comparison();
3633
3335
  break;
3634
3336
 
3635
3337
  case 4:
3636
- this.state = 944;
3338
+ this.state = 875;
3637
3339
  this._errHandler.sync(this);
3638
3340
  _la = this._input.LA(1);
3639
3341
  if(_la===116) {
3640
- this.state = 943;
3342
+ this.state = 874;
3641
3343
  this.match(SQLiteParser.NOT_);
3642
3344
  }
3643
3345
 
3644
- this.state = 946;
3346
+ this.state = 877;
3645
3347
  this.match(SQLiteParser.IN_);
3646
- this.state = 985;
3348
+ this.state = 916;
3647
3349
  this._errHandler.sync(this);
3648
- var la_ = this._interp.adaptivePredict(this._input,128,this._ctx);
3350
+ var la_ = this._interp.adaptivePredict(this._input,116,this._ctx);
3649
3351
  switch(la_) {
3650
3352
  case 1:
3651
- this.state = 947;
3353
+ this.state = 878;
3652
3354
  this.match(SQLiteParser.OPEN_PAR);
3653
- this.state = 957;
3355
+ this.state = 888;
3654
3356
  this._errHandler.sync(this);
3655
- var la_ = this._interp.adaptivePredict(this._input,123,this._ctx);
3357
+ var la_ = this._interp.adaptivePredict(this._input,111,this._ctx);
3656
3358
  if(la_===1) {
3657
- this.state = 948;
3359
+ this.state = 879;
3658
3360
  this.select_stmt();
3659
3361
 
3660
3362
  } else if(la_===2) {
3661
- this.state = 949;
3363
+ this.state = 880;
3662
3364
  this.expr_comparison();
3663
- this.state = 954;
3365
+ this.state = 885;
3664
3366
  this._errHandler.sync(this);
3665
3367
  _la = this._input.LA(1);
3666
3368
  while(_la===5) {
3667
- this.state = 950;
3369
+ this.state = 881;
3668
3370
  this.match(SQLiteParser.COMMA);
3669
- this.state = 951;
3371
+ this.state = 882;
3670
3372
  this.expr_comparison();
3671
- this.state = 956;
3373
+ this.state = 887;
3672
3374
  this._errHandler.sync(this);
3673
3375
  _la = this._input.LA(1);
3674
3376
  }
3675
3377
 
3676
3378
  }
3677
- this.state = 959;
3379
+ this.state = 890;
3678
3380
  this.match(SQLiteParser.CLOSE_PAR);
3679
3381
  break;
3680
3382
 
3681
3383
  case 2:
3682
- this.state = 963;
3384
+ this.state = 894;
3683
3385
  this._errHandler.sync(this);
3684
- var la_ = this._interp.adaptivePredict(this._input,124,this._ctx);
3386
+ var la_ = this._interp.adaptivePredict(this._input,112,this._ctx);
3685
3387
  if(la_===1) {
3686
- this.state = 960;
3388
+ this.state = 891;
3687
3389
  this.schema_name();
3688
- this.state = 961;
3390
+ this.state = 892;
3689
3391
  this.match(SQLiteParser.DOT);
3690
3392
 
3691
3393
  }
3692
- this.state = 965;
3394
+ this.state = 896;
3693
3395
  this.table_name();
3694
3396
  break;
3695
3397
 
3696
3398
  case 3:
3697
- this.state = 969;
3399
+ this.state = 900;
3698
3400
  this._errHandler.sync(this);
3699
- var la_ = this._interp.adaptivePredict(this._input,125,this._ctx);
3401
+ var la_ = this._interp.adaptivePredict(this._input,113,this._ctx);
3700
3402
  if(la_===1) {
3701
- this.state = 966;
3403
+ this.state = 897;
3702
3404
  this.schema_name();
3703
- this.state = 967;
3405
+ this.state = 898;
3704
3406
  this.match(SQLiteParser.DOT);
3705
3407
 
3706
3408
  }
3707
- this.state = 971;
3409
+ this.state = 902;
3708
3410
  this.table_function_name();
3709
- this.state = 972;
3411
+ this.state = 903;
3710
3412
  this.match(SQLiteParser.OPEN_PAR);
3711
- this.state = 981;
3413
+ this.state = 912;
3712
3414
  this._errHandler.sync(this);
3713
3415
  _la = this._input.LA(1);
3714
- if((((_la) & ~0x1f) === 0 && ((1 << _la) & 1476396808) !== 0) || ((((_la - 33)) & ~0x1f) === 0 && ((1 << (_la - 33)) & 2816814515) !== 0) || ((((_la - 65)) & ~0x1f) === 0 && ((1 << (_la - 65)) & 988249941) !== 0) || ((((_la - 97)) & ~0x1f) === 0 && ((1 << (_la - 97)) & 1674558519) !== 0) || ((((_la - 129)) & ~0x1f) === 0 && ((1 << (_la - 129)) & 3061775855) !== 0) || ((((_la - 163)) & ~0x1f) === 0 && ((1 << (_la - 163)) & 4179599) !== 0)) {
3715
- this.state = 973;
3416
+ if((((_la) & ~0x1f) === 0 && ((1 << _la) & 1476396808) !== 0) || ((((_la - 33)) & ~0x1f) === 0 && ((1 << (_la - 33)) & 2816818611) !== 0) || ((((_la - 65)) & ~0x1f) === 0 && ((1 << (_la - 65)) & 988249941) !== 0) || ((((_la - 97)) & ~0x1f) === 0 && ((1 << (_la - 97)) & 1674558519) !== 0) || ((((_la - 129)) & ~0x1f) === 0 && ((1 << (_la - 129)) & 3061775855) !== 0) || ((((_la - 163)) & ~0x1f) === 0 && ((1 << (_la - 163)) & 4179599) !== 0)) {
3417
+ this.state = 904;
3716
3418
  this.expr_comparison();
3717
- this.state = 978;
3419
+ this.state = 909;
3718
3420
  this._errHandler.sync(this);
3719
3421
  _la = this._input.LA(1);
3720
3422
  while(_la===5) {
3721
- this.state = 974;
3423
+ this.state = 905;
3722
3424
  this.match(SQLiteParser.COMMA);
3723
- this.state = 975;
3425
+ this.state = 906;
3724
3426
  this.expr_comparison();
3725
- this.state = 980;
3427
+ this.state = 911;
3726
3428
  this._errHandler.sync(this);
3727
3429
  _la = this._input.LA(1);
3728
3430
  }
3729
3431
  }
3730
3432
 
3731
- this.state = 983;
3433
+ this.state = 914;
3732
3434
  this.match(SQLiteParser.CLOSE_PAR);
3733
3435
  break;
3734
3436
 
@@ -3736,29 +3438,29 @@ export default class SQLiteParser extends antlr4.Parser {
3736
3438
  break;
3737
3439
 
3738
3440
  case 5:
3739
- this.state = 988;
3441
+ this.state = 919;
3740
3442
  this._errHandler.sync(this);
3741
3443
  _la = this._input.LA(1);
3742
3444
  if(_la===116) {
3743
- this.state = 987;
3445
+ this.state = 918;
3744
3446
  this.match(SQLiteParser.NOT_);
3745
3447
  }
3746
3448
 
3747
- this.state = 998;
3449
+ this.state = 929;
3748
3450
  this._errHandler.sync(this);
3749
3451
  switch(this._input.LA(1)) {
3750
3452
  case 110:
3751
- this.state = 990;
3453
+ this.state = 921;
3752
3454
  this.match(SQLiteParser.LIKE_);
3753
- this.state = 991;
3455
+ this.state = 922;
3754
3456
  this.expr_comparison();
3755
- this.state = 994;
3457
+ this.state = 925;
3756
3458
  this._errHandler.sync(this);
3757
3459
  _la = this._input.LA(1);
3758
3460
  if(_la===72) {
3759
- this.state = 992;
3461
+ this.state = 923;
3760
3462
  this.match(SQLiteParser.ESCAPE_);
3761
- this.state = 993;
3463
+ this.state = 924;
3762
3464
  this.expr_comparison();
3763
3465
  }
3764
3466
 
@@ -3766,7 +3468,7 @@ export default class SQLiteParser extends antlr4.Parser {
3766
3468
  case 88:
3767
3469
  case 112:
3768
3470
  case 139:
3769
- this.state = 996;
3471
+ this.state = 927;
3770
3472
  _la = this._input.LA(1);
3771
3473
  if(!(_la===88 || _la===112 || _la===139)) {
3772
3474
  this._errHandler.recoverInline(this);
@@ -3775,7 +3477,7 @@ export default class SQLiteParser extends antlr4.Parser {
3775
3477
  this._errHandler.reportMatch(this);
3776
3478
  this.consume();
3777
3479
  }
3778
- this.state = 997;
3480
+ this.state = 928;
3779
3481
  this.expr_comparison();
3780
3482
  break;
3781
3483
  default:
@@ -3784,27 +3486,27 @@ export default class SQLiteParser extends antlr4.Parser {
3784
3486
  break;
3785
3487
 
3786
3488
  case 6:
3787
- this.state = 1000;
3489
+ this.state = 931;
3788
3490
  this.match(SQLiteParser.ISNULL_);
3789
3491
  break;
3790
3492
 
3791
3493
  case 7:
3792
- this.state = 1001;
3494
+ this.state = 932;
3793
3495
  this.match(SQLiteParser.NOTNULL_);
3794
3496
  break;
3795
3497
 
3796
3498
  case 8:
3797
- this.state = 1002;
3499
+ this.state = 933;
3798
3500
  this.match(SQLiteParser.NOT_);
3799
- this.state = 1003;
3501
+ this.state = 934;
3800
3502
  this.match(SQLiteParser.NULL_);
3801
3503
  break;
3802
3504
 
3803
3505
  }
3804
3506
  }
3805
- this.state = 1008;
3507
+ this.state = 939;
3806
3508
  this._errHandler.sync(this);
3807
- _alt = this._interp.adaptivePredict(this._input,133,this._ctx);
3509
+ _alt = this._interp.adaptivePredict(this._input,121,this._ctx);
3808
3510
  }
3809
3511
 
3810
3512
  } catch (re) {
@@ -3825,17 +3527,17 @@ export default class SQLiteParser extends antlr4.Parser {
3825
3527
 
3826
3528
  expr_comparison() {
3827
3529
  let localctx = new Expr_comparisonContext(this, this._ctx, this.state);
3828
- this.enterRule(localctx, 74, SQLiteParser.RULE_expr_comparison);
3530
+ this.enterRule(localctx, 72, SQLiteParser.RULE_expr_comparison);
3829
3531
  var _la = 0;
3830
3532
  try {
3831
3533
  this.enterOuterAlt(localctx, 1);
3832
- this.state = 1009;
3534
+ this.state = 940;
3833
3535
  this.expr_bitwise();
3834
- this.state = 1014;
3536
+ this.state = 945;
3835
3537
  this._errHandler.sync(this);
3836
3538
  _la = this._input.LA(1);
3837
3539
  while((((_la) & ~0x1f) === 0 && ((1 << _la) & 3932160) !== 0)) {
3838
- this.state = 1010;
3540
+ this.state = 941;
3839
3541
  _la = this._input.LA(1);
3840
3542
  if(!((((_la) & ~0x1f) === 0 && ((1 << _la) & 3932160) !== 0))) {
3841
3543
  this._errHandler.recoverInline(this);
@@ -3844,9 +3546,9 @@ export default class SQLiteParser extends antlr4.Parser {
3844
3546
  this._errHandler.reportMatch(this);
3845
3547
  this.consume();
3846
3548
  }
3847
- this.state = 1011;
3549
+ this.state = 942;
3848
3550
  this.expr_bitwise();
3849
- this.state = 1016;
3551
+ this.state = 947;
3850
3552
  this._errHandler.sync(this);
3851
3553
  _la = this._input.LA(1);
3852
3554
  }
@@ -3868,17 +3570,17 @@ export default class SQLiteParser extends antlr4.Parser {
3868
3570
 
3869
3571
  expr_bitwise() {
3870
3572
  let localctx = new Expr_bitwiseContext(this, this._ctx, this.state);
3871
- this.enterRule(localctx, 76, SQLiteParser.RULE_expr_bitwise);
3573
+ this.enterRule(localctx, 74, SQLiteParser.RULE_expr_bitwise);
3872
3574
  var _la = 0;
3873
3575
  try {
3874
3576
  this.enterOuterAlt(localctx, 1);
3875
- this.state = 1017;
3577
+ this.state = 948;
3876
3578
  this.expr_addition();
3877
- this.state = 1022;
3579
+ this.state = 953;
3878
3580
  this._errHandler.sync(this);
3879
3581
  _la = this._input.LA(1);
3880
3582
  while((((_la) & ~0x1f) === 0 && ((1 << _la) & 245760) !== 0)) {
3881
- this.state = 1018;
3583
+ this.state = 949;
3882
3584
  _la = this._input.LA(1);
3883
3585
  if(!((((_la) & ~0x1f) === 0 && ((1 << _la) & 245760) !== 0))) {
3884
3586
  this._errHandler.recoverInline(this);
@@ -3887,9 +3589,9 @@ export default class SQLiteParser extends antlr4.Parser {
3887
3589
  this._errHandler.reportMatch(this);
3888
3590
  this.consume();
3889
3591
  }
3890
- this.state = 1019;
3592
+ this.state = 950;
3891
3593
  this.expr_addition();
3892
- this.state = 1024;
3594
+ this.state = 955;
3893
3595
  this._errHandler.sync(this);
3894
3596
  _la = this._input.LA(1);
3895
3597
  }
@@ -3911,17 +3613,17 @@ export default class SQLiteParser extends antlr4.Parser {
3911
3613
 
3912
3614
  expr_addition() {
3913
3615
  let localctx = new Expr_additionContext(this, this._ctx, this.state);
3914
- this.enterRule(localctx, 78, SQLiteParser.RULE_expr_addition);
3616
+ this.enterRule(localctx, 76, SQLiteParser.RULE_expr_addition);
3915
3617
  var _la = 0;
3916
3618
  try {
3917
3619
  this.enterOuterAlt(localctx, 1);
3918
- this.state = 1025;
3620
+ this.state = 956;
3919
3621
  this.expr_multiplication();
3920
- this.state = 1030;
3622
+ this.state = 961;
3921
3623
  this._errHandler.sync(this);
3922
3624
  _la = this._input.LA(1);
3923
3625
  while(_la===8 || _la===9) {
3924
- this.state = 1026;
3626
+ this.state = 957;
3925
3627
  _la = this._input.LA(1);
3926
3628
  if(!(_la===8 || _la===9)) {
3927
3629
  this._errHandler.recoverInline(this);
@@ -3930,9 +3632,9 @@ export default class SQLiteParser extends antlr4.Parser {
3930
3632
  this._errHandler.reportMatch(this);
3931
3633
  this.consume();
3932
3634
  }
3933
- this.state = 1027;
3635
+ this.state = 958;
3934
3636
  this.expr_multiplication();
3935
- this.state = 1032;
3637
+ this.state = 963;
3936
3638
  this._errHandler.sync(this);
3937
3639
  _la = this._input.LA(1);
3938
3640
  }
@@ -3954,17 +3656,17 @@ export default class SQLiteParser extends antlr4.Parser {
3954
3656
 
3955
3657
  expr_multiplication() {
3956
3658
  let localctx = new Expr_multiplicationContext(this, this._ctx, this.state);
3957
- this.enterRule(localctx, 80, SQLiteParser.RULE_expr_multiplication);
3659
+ this.enterRule(localctx, 78, SQLiteParser.RULE_expr_multiplication);
3958
3660
  var _la = 0;
3959
3661
  try {
3960
3662
  this.enterOuterAlt(localctx, 1);
3961
- this.state = 1033;
3663
+ this.state = 964;
3962
3664
  this.expr_string();
3963
- this.state = 1038;
3665
+ this.state = 969;
3964
3666
  this._errHandler.sync(this);
3965
3667
  _la = this._input.LA(1);
3966
3668
  while((((_la) & ~0x1f) === 0 && ((1 << _la) & 12416) !== 0)) {
3967
- this.state = 1034;
3669
+ this.state = 965;
3968
3670
  _la = this._input.LA(1);
3969
3671
  if(!((((_la) & ~0x1f) === 0 && ((1 << _la) & 12416) !== 0))) {
3970
3672
  this._errHandler.recoverInline(this);
@@ -3973,9 +3675,9 @@ export default class SQLiteParser extends antlr4.Parser {
3973
3675
  this._errHandler.reportMatch(this);
3974
3676
  this.consume();
3975
3677
  }
3976
- this.state = 1035;
3678
+ this.state = 966;
3977
3679
  this.expr_string();
3978
- this.state = 1040;
3680
+ this.state = 971;
3979
3681
  this._errHandler.sync(this);
3980
3682
  _la = this._input.LA(1);
3981
3683
  }
@@ -3997,17 +3699,17 @@ export default class SQLiteParser extends antlr4.Parser {
3997
3699
 
3998
3700
  expr_string() {
3999
3701
  let localctx = new Expr_stringContext(this, this._ctx, this.state);
4000
- this.enterRule(localctx, 82, SQLiteParser.RULE_expr_string);
3702
+ this.enterRule(localctx, 80, SQLiteParser.RULE_expr_string);
4001
3703
  var _la = 0;
4002
3704
  try {
4003
3705
  this.enterOuterAlt(localctx, 1);
4004
- this.state = 1041;
3706
+ this.state = 972;
4005
3707
  this.expr_collate();
4006
- this.state = 1046;
3708
+ this.state = 977;
4007
3709
  this._errHandler.sync(this);
4008
3710
  _la = this._input.LA(1);
4009
3711
  while((((_la) & ~0x1f) === 0 && ((1 << _la) & 100665344) !== 0)) {
4010
- this.state = 1042;
3712
+ this.state = 973;
4011
3713
  _la = this._input.LA(1);
4012
3714
  if(!((((_la) & ~0x1f) === 0 && ((1 << _la) & 100665344) !== 0))) {
4013
3715
  this._errHandler.recoverInline(this);
@@ -4016,9 +3718,9 @@ export default class SQLiteParser extends antlr4.Parser {
4016
3718
  this._errHandler.reportMatch(this);
4017
3719
  this.consume();
4018
3720
  }
4019
- this.state = 1043;
3721
+ this.state = 974;
4020
3722
  this.expr_collate();
4021
- this.state = 1048;
3723
+ this.state = 979;
4022
3724
  this._errHandler.sync(this);
4023
3725
  _la = this._input.LA(1);
4024
3726
  }
@@ -4040,24 +3742,24 @@ export default class SQLiteParser extends antlr4.Parser {
4040
3742
 
4041
3743
  expr_collate() {
4042
3744
  let localctx = new Expr_collateContext(this, this._ctx, this.state);
4043
- this.enterRule(localctx, 84, SQLiteParser.RULE_expr_collate);
3745
+ this.enterRule(localctx, 82, SQLiteParser.RULE_expr_collate);
4044
3746
  try {
4045
3747
  this.enterOuterAlt(localctx, 1);
4046
- this.state = 1049;
3748
+ this.state = 980;
4047
3749
  this.expr_unary();
4048
- this.state = 1054;
3750
+ this.state = 985;
4049
3751
  this._errHandler.sync(this);
4050
- var _alt = this._interp.adaptivePredict(this._input,139,this._ctx)
3752
+ var _alt = this._interp.adaptivePredict(this._input,127,this._ctx)
4051
3753
  while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) {
4052
3754
  if(_alt===1) {
4053
- this.state = 1050;
3755
+ this.state = 981;
4054
3756
  this.match(SQLiteParser.COLLATE_);
4055
- this.state = 1051;
3757
+ this.state = 982;
4056
3758
  this.collation_name();
4057
3759
  }
4058
- this.state = 1056;
3760
+ this.state = 987;
4059
3761
  this._errHandler.sync(this);
4060
- _alt = this._interp.adaptivePredict(this._input,139,this._ctx);
3762
+ _alt = this._interp.adaptivePredict(this._input,127,this._ctx);
4061
3763
  }
4062
3764
 
4063
3765
  } catch (re) {
@@ -4078,15 +3780,15 @@ export default class SQLiteParser extends antlr4.Parser {
4078
3780
 
4079
3781
  expr_unary() {
4080
3782
  let localctx = new Expr_unaryContext(this, this._ctx, this.state);
4081
- this.enterRule(localctx, 86, SQLiteParser.RULE_expr_unary);
3783
+ this.enterRule(localctx, 84, SQLiteParser.RULE_expr_unary);
4082
3784
  var _la = 0;
4083
3785
  try {
4084
3786
  this.enterOuterAlt(localctx, 1);
4085
- this.state = 1060;
3787
+ this.state = 991;
4086
3788
  this._errHandler.sync(this);
4087
3789
  _la = this._input.LA(1);
4088
3790
  while((((_la) & ~0x1f) === 0 && ((1 << _la) & 1792) !== 0)) {
4089
- this.state = 1057;
3791
+ this.state = 988;
4090
3792
  _la = this._input.LA(1);
4091
3793
  if(!((((_la) & ~0x1f) === 0 && ((1 << _la) & 1792) !== 0))) {
4092
3794
  this._errHandler.recoverInline(this);
@@ -4095,105 +3797,403 @@ export default class SQLiteParser extends antlr4.Parser {
4095
3797
  this._errHandler.reportMatch(this);
4096
3798
  this.consume();
4097
3799
  }
4098
- this.state = 1062;
3800
+ this.state = 993;
3801
+ this._errHandler.sync(this);
3802
+ _la = this._input.LA(1);
3803
+ }
3804
+ this.state = 994;
3805
+ this.expr_base();
3806
+ } catch (re) {
3807
+ if(re instanceof antlr4.error.RecognitionException) {
3808
+ localctx.exception = re;
3809
+ this._errHandler.reportError(this, re);
3810
+ this._errHandler.recover(this, re);
3811
+ } else {
3812
+ throw re;
3813
+ }
3814
+ } finally {
3815
+ this.exitRule();
3816
+ }
3817
+ return localctx;
3818
+ }
3819
+
3820
+
3821
+
3822
+ expr_base() {
3823
+ let localctx = new Expr_baseContext(this, this._ctx, this.state);
3824
+ this.enterRule(localctx, 86, SQLiteParser.RULE_expr_base);
3825
+ var _la = 0;
3826
+ try {
3827
+ this.state = 1020;
3828
+ this._errHandler.sync(this);
3829
+ var la_ = this._interp.adaptivePredict(this._input,132,this._ctx);
3830
+ switch(la_) {
3831
+ case 1:
3832
+ this.enterOuterAlt(localctx, 1);
3833
+ this.state = 996;
3834
+ this.literal_value();
3835
+ break;
3836
+
3837
+ case 2:
3838
+ this.enterOuterAlt(localctx, 2);
3839
+ this.state = 997;
3840
+ this.match(SQLiteParser.BIND_PARAMETER);
3841
+ break;
3842
+
3843
+ case 3:
3844
+ this.enterOuterAlt(localctx, 3);
3845
+ this.state = 1001;
3846
+ this._errHandler.sync(this);
3847
+ var la_ = this._interp.adaptivePredict(this._input,129,this._ctx);
3848
+ if(la_===1) {
3849
+ this.state = 998;
3850
+ this.schema_name();
3851
+ this.state = 999;
3852
+ this.match(SQLiteParser.DOT);
3853
+
3854
+ }
3855
+ this.state = 1003;
3856
+ this.table_name();
3857
+ this.state = 1004;
3858
+ this.match(SQLiteParser.DOT);
3859
+ this.state = 1005;
3860
+ this.column_name();
3861
+ break;
3862
+
3863
+ case 4:
3864
+ this.enterOuterAlt(localctx, 4);
3865
+ this.state = 1007;
3866
+ this.column_name_excluding_string();
3867
+ break;
3868
+
3869
+ case 5:
3870
+ this.enterOuterAlt(localctx, 5);
3871
+ this.state = 1012;
3872
+ this._errHandler.sync(this);
3873
+ _la = this._input.LA(1);
3874
+ if(_la===76 || _la===116) {
3875
+ this.state = 1009;
3876
+ this._errHandler.sync(this);
3877
+ _la = this._input.LA(1);
3878
+ if(_la===116) {
3879
+ this.state = 1008;
3880
+ this.match(SQLiteParser.NOT_);
3881
+ }
3882
+
3883
+ this.state = 1011;
3884
+ this.match(SQLiteParser.EXISTS_);
3885
+ }
3886
+
3887
+ this.state = 1014;
3888
+ this.match(SQLiteParser.OPEN_PAR);
3889
+ this.state = 1015;
3890
+ this.select_stmt();
3891
+ this.state = 1016;
3892
+ this.match(SQLiteParser.CLOSE_PAR);
3893
+ break;
3894
+
3895
+ case 6:
3896
+ this.enterOuterAlt(localctx, 6);
3897
+ this.state = 1018;
3898
+ this.raise_function();
3899
+ break;
3900
+
3901
+ case 7:
3902
+ this.enterOuterAlt(localctx, 7);
3903
+ this.state = 1019;
3904
+ this.expr_recursive();
3905
+ break;
3906
+
3907
+ }
3908
+ } catch (re) {
3909
+ if(re instanceof antlr4.error.RecognitionException) {
3910
+ localctx.exception = re;
3911
+ this._errHandler.reportError(this, re);
3912
+ this._errHandler.recover(this, re);
3913
+ } else {
3914
+ throw re;
3915
+ }
3916
+ } finally {
3917
+ this.exitRule();
3918
+ }
3919
+ return localctx;
3920
+ }
3921
+
3922
+
3923
+
3924
+ expr_recursive() {
3925
+ let localctx = new Expr_recursiveContext(this, this._ctx, this.state);
3926
+ this.enterRule(localctx, 88, SQLiteParser.RULE_expr_recursive);
3927
+ var _la = 0;
3928
+ try {
3929
+ this.state = 1088;
3930
+ this._errHandler.sync(this);
3931
+ var la_ = this._interp.adaptivePredict(this._input,144,this._ctx);
3932
+ switch(la_) {
3933
+ case 1:
3934
+ this.enterOuterAlt(localctx, 1);
3935
+ this.state = 1022;
3936
+ this.function_name();
3937
+ this.state = 1023;
3938
+ this.match(SQLiteParser.OPEN_PAR);
3939
+ this.state = 1039;
3940
+ this._errHandler.sync(this);
3941
+ switch (this._input.LA(1)) {
3942
+ case 3:
3943
+ case 8:
3944
+ case 9:
3945
+ case 10:
3946
+ case 27:
3947
+ case 28:
3948
+ case 30:
3949
+ case 33:
3950
+ case 34:
3951
+ case 37:
3952
+ case 38:
3953
+ case 40:
3954
+ case 41:
3955
+ case 43:
3956
+ case 44:
3957
+ case 45:
3958
+ case 46:
3959
+ case 49:
3960
+ case 51:
3961
+ case 54:
3962
+ case 55:
3963
+ case 56:
3964
+ case 57:
3965
+ case 58:
3966
+ case 59:
3967
+ case 62:
3968
+ case 64:
3969
+ case 65:
3970
+ case 66:
3971
+ case 67:
3972
+ case 69:
3973
+ case 71:
3974
+ case 73:
3975
+ case 74:
3976
+ case 75:
3977
+ case 76:
3978
+ case 77:
3979
+ case 78:
3980
+ case 79:
3981
+ case 81:
3982
+ case 82:
3983
+ case 83:
3984
+ case 86:
3985
+ case 87:
3986
+ case 88:
3987
+ case 90:
3988
+ case 92:
3989
+ case 93:
3990
+ case 94:
3991
+ case 97:
3992
+ case 98:
3993
+ case 99:
3994
+ case 101:
3995
+ case 102:
3996
+ case 107:
3997
+ case 108:
3998
+ case 109:
3999
+ case 110:
4000
+ case 112:
4001
+ case 113:
4002
+ case 114:
4003
+ case 115:
4004
+ case 116:
4005
+ case 119:
4006
+ case 120:
4007
+ case 121:
4008
+ case 122:
4009
+ case 126:
4010
+ case 127:
4011
+ case 129:
4012
+ case 130:
4013
+ case 131:
4014
+ case 132:
4015
+ case 134:
4016
+ case 135:
4017
+ case 136:
4018
+ case 137:
4019
+ case 139:
4020
+ case 140:
4021
+ case 141:
4022
+ case 142:
4023
+ case 143:
4024
+ case 144:
4025
+ case 146:
4026
+ case 147:
4027
+ case 148:
4028
+ case 149:
4029
+ case 150:
4030
+ case 151:
4031
+ case 154:
4032
+ case 155:
4033
+ case 157:
4034
+ case 158:
4035
+ case 160:
4036
+ case 163:
4037
+ case 164:
4038
+ case 165:
4039
+ case 166:
4040
+ case 170:
4041
+ case 172:
4042
+ case 173:
4043
+ case 177:
4044
+ case 178:
4045
+ case 179:
4046
+ case 180:
4047
+ case 181:
4048
+ case 182:
4049
+ case 183:
4050
+ case 184:
4051
+ this.state = 1025;
4052
+ this._errHandler.sync(this);
4053
+ _la = this._input.LA(1);
4054
+ if(_la===66) {
4055
+ this.state = 1024;
4056
+ this.match(SQLiteParser.DISTINCT_);
4057
+ }
4058
+
4059
+ this.state = 1027;
4060
+ this.expr();
4061
+ this.state = 1032;
4062
+ this._errHandler.sync(this);
4063
+ _la = this._input.LA(1);
4064
+ while(_la===5) {
4065
+ this.state = 1028;
4066
+ this.match(SQLiteParser.COMMA);
4067
+ this.state = 1029;
4068
+ this.expr();
4069
+ this.state = 1034;
4070
+ this._errHandler.sync(this);
4071
+ _la = this._input.LA(1);
4072
+ }
4073
+ this.state = 1036;
4074
+ this._errHandler.sync(this);
4075
+ _la = this._input.LA(1);
4076
+ if(_la===125) {
4077
+ this.state = 1035;
4078
+ this.order_clause();
4079
+ }
4080
+
4081
+ break;
4082
+ case 7:
4083
+ this.state = 1038;
4084
+ this.match(SQLiteParser.STAR);
4085
+ break;
4086
+ case 4:
4087
+ break;
4088
+ default:
4089
+ break;
4090
+ }
4091
+ this.state = 1041;
4092
+ this.match(SQLiteParser.CLOSE_PAR);
4093
+ this.state = 1043;
4094
+ this._errHandler.sync(this);
4095
+ var la_ = this._interp.adaptivePredict(this._input,137,this._ctx);
4096
+ if(la_===1) {
4097
+ this.state = 1042;
4098
+ this.percentile_clause();
4099
+
4100
+ }
4101
+ this.state = 1046;
4099
4102
  this._errHandler.sync(this);
4100
4103
  _la = this._input.LA(1);
4101
- }
4102
- this.state = 1063;
4103
- this.expr_base();
4104
- } catch (re) {
4105
- if(re instanceof antlr4.error.RecognitionException) {
4106
- localctx.exception = re;
4107
- this._errHandler.reportError(this, re);
4108
- this._errHandler.recover(this, re);
4109
- } else {
4110
- throw re;
4111
- }
4112
- } finally {
4113
- this.exitRule();
4114
- }
4115
- return localctx;
4116
- }
4117
-
4104
+ if(_la===80) {
4105
+ this.state = 1045;
4106
+ this.filter_clause();
4107
+ }
4118
4108
 
4109
+ this.state = 1049;
4110
+ this._errHandler.sync(this);
4111
+ _la = this._input.LA(1);
4112
+ if(_la===128) {
4113
+ this.state = 1048;
4114
+ this.over_clause();
4115
+ }
4119
4116
 
4120
- expr_base() {
4121
- let localctx = new Expr_baseContext(this, this._ctx, this.state);
4122
- this.enterRule(localctx, 88, SQLiteParser.RULE_expr_base);
4123
- var _la = 0;
4124
- try {
4125
- this.state = 1088;
4126
- this._errHandler.sync(this);
4127
- var la_ = this._interp.adaptivePredict(this._input,144,this._ctx);
4128
- switch(la_) {
4129
- case 1:
4130
- this.enterOuterAlt(localctx, 1);
4131
- this.state = 1065;
4132
- this.literal_value();
4133
4117
  break;
4134
4118
 
4135
4119
  case 2:
4136
4120
  this.enterOuterAlt(localctx, 2);
4137
- this.state = 1066;
4138
- this.match(SQLiteParser.BIND_PARAMETER);
4121
+ this.state = 1051;
4122
+ this.match(SQLiteParser.OPEN_PAR);
4123
+ this.state = 1052;
4124
+ this.expr();
4125
+ this.state = 1057;
4126
+ this._errHandler.sync(this);
4127
+ _la = this._input.LA(1);
4128
+ while(_la===5) {
4129
+ this.state = 1053;
4130
+ this.match(SQLiteParser.COMMA);
4131
+ this.state = 1054;
4132
+ this.expr();
4133
+ this.state = 1059;
4134
+ this._errHandler.sync(this);
4135
+ _la = this._input.LA(1);
4136
+ }
4137
+ this.state = 1060;
4138
+ this.match(SQLiteParser.CLOSE_PAR);
4139
4139
  break;
4140
4140
 
4141
4141
  case 3:
4142
4142
  this.enterOuterAlt(localctx, 3);
4143
- this.state = 1070;
4144
- this._errHandler.sync(this);
4145
- var la_ = this._interp.adaptivePredict(this._input,141,this._ctx);
4146
- if(la_===1) {
4147
- this.state = 1067;
4148
- this.schema_name();
4149
- this.state = 1068;
4150
- this.match(SQLiteParser.DOT);
4151
-
4152
- }
4153
- this.state = 1072;
4154
- this.table_name();
4155
- this.state = 1073;
4156
- this.match(SQLiteParser.DOT);
4157
- this.state = 1074;
4158
- this.column_name();
4143
+ this.state = 1062;
4144
+ this.match(SQLiteParser.CAST_);
4145
+ this.state = 1063;
4146
+ this.match(SQLiteParser.OPEN_PAR);
4147
+ this.state = 1064;
4148
+ this.expr();
4149
+ this.state = 1065;
4150
+ this.match(SQLiteParser.AS_);
4151
+ this.state = 1066;
4152
+ this.type_name();
4153
+ this.state = 1067;
4154
+ this.match(SQLiteParser.CLOSE_PAR);
4159
4155
  break;
4160
4156
 
4161
4157
  case 4:
4162
4158
  this.enterOuterAlt(localctx, 4);
4163
- this.state = 1076;
4164
- this.column_name_excluding_string();
4165
- break;
4159
+ this.state = 1069;
4160
+ this.match(SQLiteParser.CASE_);
4161
+ this.state = 1071;
4162
+ this._errHandler.sync(this);
4163
+ _la = this._input.LA(1);
4164
+ if((((_la) & ~0x1f) === 0 && ((1 << _la) & 1476396808) !== 0) || ((((_la - 33)) & ~0x1f) === 0 && ((1 << (_la - 33)) & 2816818611) !== 0) || ((((_la - 65)) & ~0x1f) === 0 && ((1 << (_la - 65)) & 988249941) !== 0) || ((((_la - 97)) & ~0x1f) === 0 && ((1 << (_la - 97)) & 1674558519) !== 0) || ((((_la - 129)) & ~0x1f) === 0 && ((1 << (_la - 129)) & 3061775855) !== 0) || ((((_la - 163)) & ~0x1f) === 0 && ((1 << (_la - 163)) & 4179599) !== 0)) {
4165
+ this.state = 1070;
4166
+ this.expr();
4167
+ }
4166
4168
 
4167
- case 5:
4168
- this.enterOuterAlt(localctx, 5);
4169
- this.state = 1081;
4169
+ this.state = 1078;
4170
4170
  this._errHandler.sync(this);
4171
4171
  _la = this._input.LA(1);
4172
- if(_la===76 || _la===116) {
4173
- this.state = 1078;
4172
+ do {
4173
+ this.state = 1073;
4174
+ this.match(SQLiteParser.WHEN_);
4175
+ this.state = 1074;
4176
+ this.expr();
4177
+ this.state = 1075;
4178
+ this.match(SQLiteParser.THEN_);
4179
+ this.state = 1076;
4180
+ this.expr();
4181
+ this.state = 1080;
4174
4182
  this._errHandler.sync(this);
4175
4183
  _la = this._input.LA(1);
4176
- if(_la===116) {
4177
- this.state = 1077;
4178
- this.match(SQLiteParser.NOT_);
4179
- }
4180
-
4181
- this.state = 1080;
4182
- this.match(SQLiteParser.EXISTS_);
4183
- }
4184
-
4185
- this.state = 1083;
4186
- this.match(SQLiteParser.OPEN_PAR);
4184
+ } while(_la===174);
4187
4185
  this.state = 1084;
4188
- this.select_stmt();
4189
- this.state = 1085;
4190
- this.match(SQLiteParser.CLOSE_PAR);
4191
- break;
4186
+ this._errHandler.sync(this);
4187
+ _la = this._input.LA(1);
4188
+ if(_la===70) {
4189
+ this.state = 1082;
4190
+ this.match(SQLiteParser.ELSE_);
4191
+ this.state = 1083;
4192
+ this.expr();
4193
+ }
4192
4194
 
4193
- case 6:
4194
- this.enterOuterAlt(localctx, 6);
4195
- this.state = 1087;
4196
- this.raise_function();
4195
+ this.state = 1086;
4196
+ this.match(SQLiteParser.END_);
4197
4197
  break;
4198
4198
 
4199
4199
  }
@@ -9371,19 +9371,19 @@ SQLiteParser.RULE_delete_stmt = 28;
9371
9371
  SQLiteParser.RULE_detach_stmt = 29;
9372
9372
  SQLiteParser.RULE_drop_stmt = 30;
9373
9373
  SQLiteParser.RULE_expr = 31;
9374
- SQLiteParser.RULE_expr_recursive = 32;
9375
- SQLiteParser.RULE_expr_or = 33;
9376
- SQLiteParser.RULE_expr_and = 34;
9377
- SQLiteParser.RULE_expr_not = 35;
9378
- SQLiteParser.RULE_expr_binary = 36;
9379
- SQLiteParser.RULE_expr_comparison = 37;
9380
- SQLiteParser.RULE_expr_bitwise = 38;
9381
- SQLiteParser.RULE_expr_addition = 39;
9382
- SQLiteParser.RULE_expr_multiplication = 40;
9383
- SQLiteParser.RULE_expr_string = 41;
9384
- SQLiteParser.RULE_expr_collate = 42;
9385
- SQLiteParser.RULE_expr_unary = 43;
9386
- SQLiteParser.RULE_expr_base = 44;
9374
+ SQLiteParser.RULE_expr_or = 32;
9375
+ SQLiteParser.RULE_expr_and = 33;
9376
+ SQLiteParser.RULE_expr_not = 34;
9377
+ SQLiteParser.RULE_expr_binary = 35;
9378
+ SQLiteParser.RULE_expr_comparison = 36;
9379
+ SQLiteParser.RULE_expr_bitwise = 37;
9380
+ SQLiteParser.RULE_expr_addition = 38;
9381
+ SQLiteParser.RULE_expr_multiplication = 39;
9382
+ SQLiteParser.RULE_expr_string = 40;
9383
+ SQLiteParser.RULE_expr_collate = 41;
9384
+ SQLiteParser.RULE_expr_unary = 42;
9385
+ SQLiteParser.RULE_expr_base = 43;
9386
+ SQLiteParser.RULE_expr_recursive = 44;
9387
9387
  SQLiteParser.RULE_raise_function = 45;
9388
9388
  SQLiteParser.RULE_literal_value = 46;
9389
9389
  SQLiteParser.RULE_percentile_clause = 47;
@@ -12149,233 +12149,83 @@ class Drop_stmtContext extends antlr4.ParserRuleContext {
12149
12149
  }
12150
12150
 
12151
12151
  DROP_() {
12152
- return this.getToken(SQLiteParser.DROP_, 0);
12153
- };
12154
-
12155
- any_name() {
12156
- return this.getTypedRuleContext(Any_nameContext,0);
12157
- };
12158
-
12159
- INDEX_() {
12160
- return this.getToken(SQLiteParser.INDEX_, 0);
12161
- };
12162
-
12163
- TABLE_() {
12164
- return this.getToken(SQLiteParser.TABLE_, 0);
12165
- };
12166
-
12167
- TRIGGER_() {
12168
- return this.getToken(SQLiteParser.TRIGGER_, 0);
12169
- };
12170
-
12171
- VIEW_() {
12172
- return this.getToken(SQLiteParser.VIEW_, 0);
12173
- };
12174
-
12175
- IF_() {
12176
- return this.getToken(SQLiteParser.IF_, 0);
12177
- };
12178
-
12179
- EXISTS_() {
12180
- return this.getToken(SQLiteParser.EXISTS_, 0);
12181
- };
12182
-
12183
- schema_name() {
12184
- return this.getTypedRuleContext(Schema_nameContext,0);
12185
- };
12186
-
12187
- DOT() {
12188
- return this.getToken(SQLiteParser.DOT, 0);
12189
- };
12190
-
12191
- enterRule(listener) {
12192
- if(listener instanceof SQLiteParserListener ) {
12193
- listener.enterDrop_stmt(this);
12194
- }
12195
- }
12196
-
12197
- exitRule(listener) {
12198
- if(listener instanceof SQLiteParserListener ) {
12199
- listener.exitDrop_stmt(this);
12200
- }
12201
- }
12202
-
12203
- accept(visitor) {
12204
- if ( visitor instanceof SQLiteParserVisitor ) {
12205
- return visitor.visitDrop_stmt(this);
12206
- } else {
12207
- return visitor.visitChildren(this);
12208
- }
12209
- }
12210
-
12211
-
12212
- }
12213
-
12214
-
12215
-
12216
- class ExprContext extends antlr4.ParserRuleContext {
12217
-
12218
- constructor(parser, parent, invokingState) {
12219
- if(parent===undefined) {
12220
- parent = null;
12221
- }
12222
- if(invokingState===undefined || invokingState===null) {
12223
- invokingState = -1;
12224
- }
12225
- super(parent, invokingState);
12226
- this.parser = parser;
12227
- this.ruleIndex = SQLiteParser.RULE_expr;
12228
- }
12229
-
12230
- expr_recursive() {
12231
- return this.getTypedRuleContext(Expr_recursiveContext,0);
12232
- };
12233
-
12234
- enterRule(listener) {
12235
- if(listener instanceof SQLiteParserListener ) {
12236
- listener.enterExpr(this);
12237
- }
12238
- }
12239
-
12240
- exitRule(listener) {
12241
- if(listener instanceof SQLiteParserListener ) {
12242
- listener.exitExpr(this);
12243
- }
12244
- }
12245
-
12246
- accept(visitor) {
12247
- if ( visitor instanceof SQLiteParserVisitor ) {
12248
- return visitor.visitExpr(this);
12249
- } else {
12250
- return visitor.visitChildren(this);
12251
- }
12252
- }
12253
-
12254
-
12255
- }
12256
-
12257
-
12258
-
12259
- class Expr_recursiveContext extends antlr4.ParserRuleContext {
12260
-
12261
- constructor(parser, parent, invokingState) {
12262
- if(parent===undefined) {
12263
- parent = null;
12264
- }
12265
- if(invokingState===undefined || invokingState===null) {
12266
- invokingState = -1;
12267
- }
12268
- super(parent, invokingState);
12269
- this.parser = parser;
12270
- this.ruleIndex = SQLiteParser.RULE_expr_recursive;
12271
- }
12272
-
12273
- function_name() {
12274
- return this.getTypedRuleContext(Function_nameContext,0);
12275
- };
12276
-
12277
- OPEN_PAR() {
12278
- return this.getToken(SQLiteParser.OPEN_PAR, 0);
12279
- };
12280
-
12281
- CLOSE_PAR() {
12282
- return this.getToken(SQLiteParser.CLOSE_PAR, 0);
12283
- };
12284
-
12285
- expr = function(i) {
12286
- if(i===undefined) {
12287
- i = null;
12288
- }
12289
- if(i===null) {
12290
- return this.getTypedRuleContexts(ExprContext);
12291
- } else {
12292
- return this.getTypedRuleContext(ExprContext,i);
12293
- }
12294
- };
12295
-
12296
- STAR() {
12297
- return this.getToken(SQLiteParser.STAR, 0);
12298
- };
12299
-
12300
- percentile_clause() {
12301
- return this.getTypedRuleContext(Percentile_clauseContext,0);
12152
+ return this.getToken(SQLiteParser.DROP_, 0);
12302
12153
  };
12303
12154
 
12304
- filter_clause() {
12305
- return this.getTypedRuleContext(Filter_clauseContext,0);
12155
+ any_name() {
12156
+ return this.getTypedRuleContext(Any_nameContext,0);
12306
12157
  };
12307
12158
 
12308
- over_clause() {
12309
- return this.getTypedRuleContext(Over_clauseContext,0);
12159
+ INDEX_() {
12160
+ return this.getToken(SQLiteParser.INDEX_, 0);
12310
12161
  };
12311
12162
 
12312
- DISTINCT_() {
12313
- return this.getToken(SQLiteParser.DISTINCT_, 0);
12163
+ TABLE_() {
12164
+ return this.getToken(SQLiteParser.TABLE_, 0);
12314
12165
  };
12315
12166
 
12316
- COMMA = function(i) {
12317
- if(i===undefined) {
12318
- i = null;
12319
- }
12320
- if(i===null) {
12321
- return this.getTokens(SQLiteParser.COMMA);
12322
- } else {
12323
- return this.getToken(SQLiteParser.COMMA, i);
12324
- }
12167
+ TRIGGER_() {
12168
+ return this.getToken(SQLiteParser.TRIGGER_, 0);
12325
12169
  };
12326
12170
 
12327
-
12328
- order_clause() {
12329
- return this.getTypedRuleContext(Order_clauseContext,0);
12171
+ VIEW_() {
12172
+ return this.getToken(SQLiteParser.VIEW_, 0);
12330
12173
  };
12331
12174
 
12332
- CAST_() {
12333
- return this.getToken(SQLiteParser.CAST_, 0);
12175
+ IF_() {
12176
+ return this.getToken(SQLiteParser.IF_, 0);
12334
12177
  };
12335
12178
 
12336
- AS_() {
12337
- return this.getToken(SQLiteParser.AS_, 0);
12179
+ EXISTS_() {
12180
+ return this.getToken(SQLiteParser.EXISTS_, 0);
12338
12181
  };
12339
12182
 
12340
- type_name() {
12341
- return this.getTypedRuleContext(Type_nameContext,0);
12183
+ schema_name() {
12184
+ return this.getTypedRuleContext(Schema_nameContext,0);
12342
12185
  };
12343
12186
 
12344
- CASE_() {
12345
- return this.getToken(SQLiteParser.CASE_, 0);
12187
+ DOT() {
12188
+ return this.getToken(SQLiteParser.DOT, 0);
12346
12189
  };
12347
12190
 
12348
- END_() {
12349
- return this.getToken(SQLiteParser.END_, 0);
12350
- };
12191
+ enterRule(listener) {
12192
+ if(listener instanceof SQLiteParserListener ) {
12193
+ listener.enterDrop_stmt(this);
12194
+ }
12195
+ }
12351
12196
 
12352
- WHEN_ = function(i) {
12353
- if(i===undefined) {
12354
- i = null;
12197
+ exitRule(listener) {
12198
+ if(listener instanceof SQLiteParserListener ) {
12199
+ listener.exitDrop_stmt(this);
12355
12200
  }
12356
- if(i===null) {
12357
- return this.getTokens(SQLiteParser.WHEN_);
12201
+ }
12202
+
12203
+ accept(visitor) {
12204
+ if ( visitor instanceof SQLiteParserVisitor ) {
12205
+ return visitor.visitDrop_stmt(this);
12358
12206
  } else {
12359
- return this.getToken(SQLiteParser.WHEN_, i);
12207
+ return visitor.visitChildren(this);
12360
12208
  }
12361
- };
12209
+ }
12362
12210
 
12363
12211
 
12364
- THEN_ = function(i) {
12365
- if(i===undefined) {
12366
- i = null;
12367
- }
12368
- if(i===null) {
12369
- return this.getTokens(SQLiteParser.THEN_);
12370
- } else {
12371
- return this.getToken(SQLiteParser.THEN_, i);
12372
- }
12373
- };
12212
+ }
12374
12213
 
12375
12214
 
12376
- ELSE_() {
12377
- return this.getToken(SQLiteParser.ELSE_, 0);
12378
- };
12215
+
12216
+ class ExprContext extends antlr4.ParserRuleContext {
12217
+
12218
+ constructor(parser, parent, invokingState) {
12219
+ if(parent===undefined) {
12220
+ parent = null;
12221
+ }
12222
+ if(invokingState===undefined || invokingState===null) {
12223
+ invokingState = -1;
12224
+ }
12225
+ super(parent, invokingState);
12226
+ this.parser = parser;
12227
+ this.ruleIndex = SQLiteParser.RULE_expr;
12228
+ }
12379
12229
 
12380
12230
  expr_or() {
12381
12231
  return this.getTypedRuleContext(Expr_orContext,0);
@@ -12383,19 +12233,19 @@ class Expr_recursiveContext extends antlr4.ParserRuleContext {
12383
12233
 
12384
12234
  enterRule(listener) {
12385
12235
  if(listener instanceof SQLiteParserListener ) {
12386
- listener.enterExpr_recursive(this);
12236
+ listener.enterExpr(this);
12387
12237
  }
12388
12238
  }
12389
12239
 
12390
12240
  exitRule(listener) {
12391
12241
  if(listener instanceof SQLiteParserListener ) {
12392
- listener.exitExpr_recursive(this);
12242
+ listener.exitExpr(this);
12393
12243
  }
12394
12244
  }
12395
12245
 
12396
12246
  accept(visitor) {
12397
12247
  if ( visitor instanceof SQLiteParserVisitor ) {
12398
- return visitor.visitExpr_recursive(this);
12248
+ return visitor.visitExpr(this);
12399
12249
  } else {
12400
12250
  return visitor.visitChildren(this);
12401
12251
  }
@@ -13616,6 +13466,10 @@ class Expr_baseContext extends antlr4.ParserRuleContext {
13616
13466
  return this.getTypedRuleContext(Raise_functionContext,0);
13617
13467
  };
13618
13468
 
13469
+ expr_recursive() {
13470
+ return this.getTypedRuleContext(Expr_recursiveContext,0);
13471
+ };
13472
+
13619
13473
  enterRule(listener) {
13620
13474
  if(listener instanceof SQLiteParserListener ) {
13621
13475
  listener.enterExpr_base(this);
@@ -13641,6 +13495,152 @@ class Expr_baseContext extends antlr4.ParserRuleContext {
13641
13495
 
13642
13496
 
13643
13497
 
13498
+ class Expr_recursiveContext extends antlr4.ParserRuleContext {
13499
+
13500
+ constructor(parser, parent, invokingState) {
13501
+ if(parent===undefined) {
13502
+ parent = null;
13503
+ }
13504
+ if(invokingState===undefined || invokingState===null) {
13505
+ invokingState = -1;
13506
+ }
13507
+ super(parent, invokingState);
13508
+ this.parser = parser;
13509
+ this.ruleIndex = SQLiteParser.RULE_expr_recursive;
13510
+ }
13511
+
13512
+ function_name() {
13513
+ return this.getTypedRuleContext(Function_nameContext,0);
13514
+ };
13515
+
13516
+ OPEN_PAR() {
13517
+ return this.getToken(SQLiteParser.OPEN_PAR, 0);
13518
+ };
13519
+
13520
+ CLOSE_PAR() {
13521
+ return this.getToken(SQLiteParser.CLOSE_PAR, 0);
13522
+ };
13523
+
13524
+ expr = function(i) {
13525
+ if(i===undefined) {
13526
+ i = null;
13527
+ }
13528
+ if(i===null) {
13529
+ return this.getTypedRuleContexts(ExprContext);
13530
+ } else {
13531
+ return this.getTypedRuleContext(ExprContext,i);
13532
+ }
13533
+ };
13534
+
13535
+ STAR() {
13536
+ return this.getToken(SQLiteParser.STAR, 0);
13537
+ };
13538
+
13539
+ percentile_clause() {
13540
+ return this.getTypedRuleContext(Percentile_clauseContext,0);
13541
+ };
13542
+
13543
+ filter_clause() {
13544
+ return this.getTypedRuleContext(Filter_clauseContext,0);
13545
+ };
13546
+
13547
+ over_clause() {
13548
+ return this.getTypedRuleContext(Over_clauseContext,0);
13549
+ };
13550
+
13551
+ DISTINCT_() {
13552
+ return this.getToken(SQLiteParser.DISTINCT_, 0);
13553
+ };
13554
+
13555
+ COMMA = function(i) {
13556
+ if(i===undefined) {
13557
+ i = null;
13558
+ }
13559
+ if(i===null) {
13560
+ return this.getTokens(SQLiteParser.COMMA);
13561
+ } else {
13562
+ return this.getToken(SQLiteParser.COMMA, i);
13563
+ }
13564
+ };
13565
+
13566
+
13567
+ order_clause() {
13568
+ return this.getTypedRuleContext(Order_clauseContext,0);
13569
+ };
13570
+
13571
+ CAST_() {
13572
+ return this.getToken(SQLiteParser.CAST_, 0);
13573
+ };
13574
+
13575
+ AS_() {
13576
+ return this.getToken(SQLiteParser.AS_, 0);
13577
+ };
13578
+
13579
+ type_name() {
13580
+ return this.getTypedRuleContext(Type_nameContext,0);
13581
+ };
13582
+
13583
+ CASE_() {
13584
+ return this.getToken(SQLiteParser.CASE_, 0);
13585
+ };
13586
+
13587
+ END_() {
13588
+ return this.getToken(SQLiteParser.END_, 0);
13589
+ };
13590
+
13591
+ WHEN_ = function(i) {
13592
+ if(i===undefined) {
13593
+ i = null;
13594
+ }
13595
+ if(i===null) {
13596
+ return this.getTokens(SQLiteParser.WHEN_);
13597
+ } else {
13598
+ return this.getToken(SQLiteParser.WHEN_, i);
13599
+ }
13600
+ };
13601
+
13602
+
13603
+ THEN_ = function(i) {
13604
+ if(i===undefined) {
13605
+ i = null;
13606
+ }
13607
+ if(i===null) {
13608
+ return this.getTokens(SQLiteParser.THEN_);
13609
+ } else {
13610
+ return this.getToken(SQLiteParser.THEN_, i);
13611
+ }
13612
+ };
13613
+
13614
+
13615
+ ELSE_() {
13616
+ return this.getToken(SQLiteParser.ELSE_, 0);
13617
+ };
13618
+
13619
+ enterRule(listener) {
13620
+ if(listener instanceof SQLiteParserListener ) {
13621
+ listener.enterExpr_recursive(this);
13622
+ }
13623
+ }
13624
+
13625
+ exitRule(listener) {
13626
+ if(listener instanceof SQLiteParserListener ) {
13627
+ listener.exitExpr_recursive(this);
13628
+ }
13629
+ }
13630
+
13631
+ accept(visitor) {
13632
+ if ( visitor instanceof SQLiteParserVisitor ) {
13633
+ return visitor.visitExpr_recursive(this);
13634
+ } else {
13635
+ return visitor.visitChildren(this);
13636
+ }
13637
+ }
13638
+
13639
+
13640
+ }
13641
+
13642
+
13643
+
13644
13644
  class Raise_functionContext extends antlr4.ParserRuleContext {
13645
13645
 
13646
13646
  constructor(parser, parent, invokingState) {
@@ -18405,7 +18405,6 @@ SQLiteParser.Delete_stmtContext = Delete_stmtContext;
18405
18405
  SQLiteParser.Detach_stmtContext = Detach_stmtContext;
18406
18406
  SQLiteParser.Drop_stmtContext = Drop_stmtContext;
18407
18407
  SQLiteParser.ExprContext = ExprContext;
18408
- SQLiteParser.Expr_recursiveContext = Expr_recursiveContext;
18409
18408
  SQLiteParser.Expr_orContext = Expr_orContext;
18410
18409
  SQLiteParser.Expr_andContext = Expr_andContext;
18411
18410
  SQLiteParser.Expr_notContext = Expr_notContext;
@@ -18418,6 +18417,7 @@ SQLiteParser.Expr_stringContext = Expr_stringContext;
18418
18417
  SQLiteParser.Expr_collateContext = Expr_collateContext;
18419
18418
  SQLiteParser.Expr_unaryContext = Expr_unaryContext;
18420
18419
  SQLiteParser.Expr_baseContext = Expr_baseContext;
18420
+ SQLiteParser.Expr_recursiveContext = Expr_recursiveContext;
18421
18421
  SQLiteParser.Raise_functionContext = Raise_functionContext;
18422
18422
  SQLiteParser.Literal_valueContext = Literal_valueContext;
18423
18423
  SQLiteParser.Percentile_clauseContext = Percentile_clauseContext;