salesforce-alm
Version:
This package contains tools, and APIs, for an improved salesforce.com developer experience.
891 lines (849 loc) • 287 kB
JavaScript
/* istanbul ignore file */
/* eslint-disable */
// Generated from SOQL.g4 by ANTLR 4.7.1
// jshint ignore: start
var antlr4 = require('antlr4/index');
var SOQLListener = require('./SOQLListener').SOQLListener;
var grammarFileName = "SOQL.g4";
var serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964",
"\u0003\u008f\u0284\u0004\u0002\t\u0002\u0004\u0003\t\u0003\u0004\u0004",
"\t\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007\t\u0007",
"\u0004\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004\f\t\f",
"\u0004\r\t\r\u0004\u000e\t\u000e\u0004\u000f\t\u000f\u0004\u0010\t\u0010",
"\u0004\u0011\t\u0011\u0004\u0012\t\u0012\u0004\u0013\t\u0013\u0004\u0014",
"\t\u0014\u0004\u0015\t\u0015\u0004\u0016\t\u0016\u0004\u0017\t\u0017",
"\u0004\u0018\t\u0018\u0004\u0019\t\u0019\u0004\u001a\t\u001a\u0004\u001b",
"\t\u001b\u0004\u001c\t\u001c\u0004\u001d\t\u001d\u0004\u001e\t\u001e",
"\u0004\u001f\t\u001f\u0004 \t \u0004!\t!\u0004\"\t\"\u0004#\t#\u0004",
"$\t$\u0004%\t%\u0004&\t&\u0004\'\t\'\u0004(\t(\u0004)\t)\u0004*\t*\u0004",
"+\t+\u0004,\t,\u0004-\t-\u0004.\t.\u0004/\t/\u00040\t0\u00041\t1\u0004",
"2\t2\u00043\t3\u00044\t4\u00045\t5\u00046\t6\u00047\t7\u00048\t8\u0004",
"9\t9\u0004:\t:\u0004;\t;\u0004<\t<\u0004=\t=\u0004>\t>\u0004?\t?\u0004",
"@\t@\u0004A\tA\u0004B\tB\u0004C\tC\u0004D\tD\u0004E\tE\u0004F\tF\u0004",
"G\tG\u0004H\tH\u0004I\tI\u0004J\tJ\u0004K\tK\u0004L\tL\u0004M\tM\u0004",
"N\tN\u0004O\tO\u0004P\tP\u0004Q\tQ\u0004R\tR\u0004S\tS\u0004T\tT\u0004",
"U\tU\u0004V\tV\u0004W\tW\u0004X\tX\u0003\u0002\u0003\u0002\u0003\u0003",
"\u0003\u0003\u0005\u0003\u00b5\n\u0003\u0003\u0004\u0003\u0004\u0003",
"\u0004\u0003\u0004\u0003\u0004\u0005\u0004\u00bc\n\u0004\u0003\u0005",
"\u0003\u0005\u0003\u0006\u0003\u0006\u0003\u0007\u0003\u0007\u0003\b",
"\u0003\b\u0003\t\u0003\t\u0003\n\u0003\n\u0003\n\u0003\n\u0003\n\u0005",
"\n\u00cd\n\n\u0003\u000b\u0005\u000b\u00d0\n\u000b\u0003\u000b\u0003",
"\u000b\u0003\f\u0003\f\u0003\f\u0003\f\u0003\f\u0003\f\u0003\f\u0003",
"\f\u0003\f\u0005\f\u00dd\n\f\u0003\r\u0003\r\u0003\u000e\u0003\u000e",
"\u0003\u000f\u0003\u000f\u0003\u000f\u0003\u000f\u0003\u0010\u0003\u0010",
"\u0003\u0011\u0003\u0011\u0003\u0012\u0003\u0012\u0003\u0013\u0003\u0013",
"\u0003\u0014\u0003\u0014\u0003\u0015\u0003\u0015\u0003\u0016\u0003\u0016",
"\u0003\u0017\u0003\u0017\u0003\u0017\u0003\u0017\u0005\u0017\u00f9\n",
"\u0017\u0003\u0018\u0003\u0018\u0003\u0019\u0003\u0019\u0003\u001a\u0003",
"\u001a\u0003\u001b\u0003\u001b\u0003\u001c\u0003\u001c\u0003\u001c\u0005",
"\u001c\u0106\n\u001c\u0003\u001c\u0005\u001c\u0109\n\u001c\u0003\u001c",
"\u0005\u001c\u010c\n\u001c\u0003\u001c\u0003\u001c\u0005\u001c\u0110",
"\n\u001c\u0005\u001c\u0112\n\u001c\u0003\u001c\u0005\u001c\u0115\n\u001c",
"\u0003\u001c\u0005\u001c\u0118\n\u001c\u0003\u001c\u0005\u001c\u011b",
"\n\u001c\u0003\u001c\u0005\u001c\u011e\n\u001c\u0003\u001c\u0005\u001c",
"\u0121\n\u001c\u0003\u001c\u0003\u001c\u0003\u001d\u0003\u001d\u0003",
"\u001d\u0003\u001d\u0007\u001d\u0129\n\u001d\f\u001d\u000e\u001d\u012c",
"\u000b\u001d\u0003\u001e\u0003\u001e\u0003\u001e\u0003\u001e\u0007\u001e",
"\u0132\n\u001e\f\u001e\u000e\u001e\u0135\u000b\u001e\u0003\u001f\u0003",
"\u001f\u0003\u001f\u0003\u001f\u0003 \u0003 \u0003 \u0003!\u0003!\u0003",
"!\u0003!\u0003!\u0005!\u0143\n!\u0003\"\u0003\"\u0003\"\u0003#\u0003",
"#\u0003#\u0003#\u0003$\u0003$\u0003$\u0003%\u0003%\u0003%\u0003&\u0003",
"&\u0003&\u0003&\u0005&\u0156\n&\u0003&\u0003&\u0005&\u015a\n&\u0003",
"\'\u0003\'\u0003\'\u0003\'\u0005\'\u0160\n\'\u0003(\u0003(\u0003(\u0003",
"(\u0005(\u0166\n(\u0003(\u0005(\u0169\n(\u0003(\u0005(\u016c\n(\u0003",
"(\u0005(\u016f\n(\u0003(\u0005(\u0172\n(\u0003(\u0005(\u0175\n(\u0003",
"(\u0005(\u0178\n(\u0003(\u0005(\u017b\n(\u0003(\u0003(\u0003)\u0003",
")\u0003)\u0003)\u0007)\u0183\n)\f)\u000e)\u0186\u000b)\u0003*\u0003",
"*\u0003*\u0003*\u0005*\u018c\n*\u0003+\u0003+\u0005+\u0190\n+\u0003",
",\u0003,\u0005,\u0194\n,\u0003-\u0003-\u0005-\u0198\n-\u0003.\u0005",
".\u019b\n.\u0003.\u0003.\u0003/\u0003/\u0003/\u0005/\u01a2\n/\u0003",
"/\u0003/\u00030\u00030\u00030\u00070\u01a9\n0\f0\u000e0\u01ac\u000b",
"0\u00031\u00031\u00031\u00051\u01b1\n1\u00032\u00032\u00032\u00032\u0005",
"2\u01b7\n2\u00032\u00032\u00033\u00063\u01bc\n3\r3\u000e3\u01bd\u0003",
"4\u00034\u00034\u00034\u00035\u00035\u00035\u00036\u00036\u00036\u0003",
"7\u00037\u00037\u00077\u01cd\n7\f7\u000e7\u01d0\u000b7\u00038\u0005",
"8\u01d3\n8\u00038\u00038\u00058\u01d7\n8\u00039\u00039\u00039\u0006",
"9\u01dc\n9\r9\u000e9\u01dd\u0003:\u0003:\u0003:\u0003:\u0003:\u0003",
":\u0003:\u0003:\u0003:\u0003:\u0005:\u01ea\n:\u0003;\u0003;\u0003;\u0003",
";\u0003;\u0005;\u01f1\n;\u0003<\u0003<\u0003<\u0007<\u01f6\n<\f<\u000e",
"<\u01f9\u000b<\u0003=\u0005=\u01fc\n=\u0003=\u0003=\u0005=\u0200\n=",
"\u0003>\u0003>\u0003>\u0003>\u0003?\u0003?\u0003?\u0005?\u0209\n?\u0003",
"@\u0003@\u0003@\u0003@\u0003A\u0003A\u0003A\u0003A\u0005A\u0213\nA\u0003",
"B\u0003B\u0003B\u0003B\u0003C\u0003C\u0005C\u021b\nC\u0003D\u0003D\u0003",
"D\u0003D\u0003E\u0003E\u0003E\u0007E\u0224\nE\fE\u000eE\u0227\u000b",
"E\u0003F\u0003F\u0003F\u0005F\u022c\nF\u0003G\u0003G\u0003H\u0003H\u0003",
"H\u0003H\u0003I\u0003I\u0003I\u0007I\u0237\nI\fI\u000eI\u023a\u000b",
"I\u0003J\u0003J\u0003J\u0003J\u0003K\u0003K\u0003K\u0003K\u0003K\u0007",
"K\u0245\nK\fK\u000eK\u0248\u000bK\u0003K\u0003K\u0005K\u024c\nK\u0003",
"L\u0003L\u0003M\u0003M\u0003N\u0003N\u0003N\u0003N\u0003N\u0003O\u0003",
"O\u0003O\u0003O\u0003O\u0003P\u0003P\u0003P\u0007P\u025f\nP\fP\u000e",
"P\u0262\u000bP\u0003Q\u0003Q\u0005Q\u0266\nQ\u0003R\u0003R\u0003R\u0007",
"R\u026b\nR\fR\u000eR\u026e\u000bR\u0003S\u0003S\u0005S\u0272\nS\u0003",
"S\u0005S\u0275\nS\u0003T\u0003T\u0003U\u0003U\u0003U\u0003V\u0003V\u0005",
"V\u027e\nV\u0003W\u0003W\u0003X\u0003X\u0003X\u0002\u0002Y\u0002\u0004",
"\u0006\b\n\f\u000e\u0010\u0012\u0014\u0016\u0018\u001a\u001c\u001e ",
"\"$&(*,.02468:<>@BDFHJLNPRTVXZ\\^`bdfhjlnprtvxz|~\u0080\u0082\u0084",
"\u0086\u0088\u008a\u008c\u008e\u0090\u0092\u0094\u0096\u0098\u009a\u009c",
"\u009e\u00a0\u00a2\u00a4\u00a6\u00a8\u00aa\u00ac\u00ae\u0002\u0012\u0003",
"\u0002$4\u0003\u0002Oe\u0003\u0002fz\u0004\u0002\u008d\u008d\u008f\u008f",
"\u0004\u0002\u000e\u000e\u001e\u001e\u0003\u00025A\u0003\u0002BG\u0003",
"\u0002HI\u0003\u0002JN\u0004\u0002\u0006\u0006\u001b\u001b\u0003\u0002",
"\u0004\u0005\u0003\u0002$\'\u0004\u0002\b\b\u000b\u000b\u0004\u0002",
"\u000f\u000f\u0015\u0015\u0005\u0002##--22\u0004\u0002//33\u0002\u0288",
"\u0002\u00b0\u0003\u0002\u0002\u0002\u0004\u00b4\u0003\u0002\u0002\u0002",
"\u0006\u00bb\u0003\u0002\u0002\u0002\b\u00bd\u0003\u0002\u0002\u0002",
"\n\u00bf\u0003\u0002\u0002\u0002\f\u00c1\u0003\u0002\u0002\u0002\u000e",
"\u00c3\u0003\u0002\u0002\u0002\u0010\u00c5\u0003\u0002\u0002\u0002\u0012",
"\u00cc\u0003\u0002\u0002\u0002\u0014\u00cf\u0003\u0002\u0002\u0002\u0016",
"\u00dc\u0003\u0002\u0002\u0002\u0018\u00de\u0003\u0002\u0002\u0002\u001a",
"\u00e0\u0003\u0002\u0002\u0002\u001c\u00e2\u0003\u0002\u0002\u0002\u001e",
"\u00e6\u0003\u0002\u0002\u0002 \u00e8\u0003\u0002\u0002\u0002\"\u00ea",
"\u0003\u0002\u0002\u0002$\u00ec\u0003\u0002\u0002\u0002&\u00ee\u0003",
"\u0002\u0002\u0002(\u00f0\u0003\u0002\u0002\u0002*\u00f2\u0003\u0002",
"\u0002\u0002,\u00f8\u0003\u0002\u0002\u0002.\u00fa\u0003\u0002\u0002",
"\u00020\u00fc\u0003\u0002\u0002\u00022\u00fe\u0003\u0002\u0002\u0002",
"4\u0100\u0003\u0002\u0002\u00026\u0102\u0003\u0002\u0002\u00028\u0124",
"\u0003\u0002\u0002\u0002:\u012d\u0003\u0002\u0002\u0002<\u0136\u0003",
"\u0002\u0002\u0002>\u013a\u0003\u0002\u0002\u0002@\u013d\u0003\u0002",
"\u0002\u0002B\u0144\u0003\u0002\u0002\u0002D\u0147\u0003\u0002\u0002",
"\u0002F\u014b\u0003\u0002\u0002\u0002H\u014e\u0003\u0002\u0002\u0002",
"J\u0151\u0003\u0002\u0002\u0002L\u015b\u0003\u0002\u0002\u0002N\u0161",
"\u0003\u0002\u0002\u0002P\u017e\u0003\u0002\u0002\u0002R\u018b\u0003",
"\u0002\u0002\u0002T\u018f\u0003\u0002\u0002\u0002V\u0191\u0003\u0002",
"\u0002\u0002X\u0195\u0003\u0002\u0002\u0002Z\u019a\u0003\u0002\u0002",
"\u0002\\\u019e\u0003\u0002\u0002\u0002^\u01a5\u0003\u0002\u0002\u0002",
"`\u01b0\u0003\u0002\u0002\u0002b\u01b2\u0003\u0002\u0002\u0002d\u01bb",
"\u0003\u0002\u0002\u0002f\u01bf\u0003\u0002\u0002\u0002h\u01c3\u0003",
"\u0002\u0002\u0002j\u01c6\u0003\u0002\u0002\u0002l\u01c9\u0003\u0002",
"\u0002\u0002n\u01d2\u0003\u0002\u0002\u0002p\u01db\u0003\u0002\u0002",
"\u0002r\u01e9\u0003\u0002\u0002\u0002t\u01f0\u0003\u0002\u0002\u0002",
"v\u01f2\u0003\u0002\u0002\u0002x\u01fb\u0003\u0002\u0002\u0002z\u0201",
"\u0003\u0002\u0002\u0002|\u0208\u0003\u0002\u0002\u0002~\u020a\u0003",
"\u0002\u0002\u0002\u0080\u020e\u0003\u0002\u0002\u0002\u0082\u0214\u0003",
"\u0002\u0002\u0002\u0084\u021a\u0003\u0002\u0002\u0002\u0086\u021c\u0003",
"\u0002\u0002\u0002\u0088\u0220\u0003\u0002\u0002\u0002\u008a\u0228\u0003",
"\u0002\u0002\u0002\u008c\u022d\u0003\u0002\u0002\u0002\u008e\u022f\u0003",
"\u0002\u0002\u0002\u0090\u0233\u0003\u0002\u0002\u0002\u0092\u023b\u0003",
"\u0002\u0002\u0002\u0094\u024b\u0003\u0002\u0002\u0002\u0096\u024d\u0003",
"\u0002\u0002\u0002\u0098\u024f\u0003\u0002\u0002\u0002\u009a\u0251\u0003",
"\u0002\u0002\u0002\u009c\u0256\u0003\u0002\u0002\u0002\u009e\u025b\u0003",
"\u0002\u0002\u0002\u00a0\u0265\u0003\u0002\u0002\u0002\u00a2\u0267\u0003",
"\u0002\u0002\u0002\u00a4\u026f\u0003\u0002\u0002\u0002\u00a6\u0276\u0003",
"\u0002\u0002\u0002\u00a8\u0278\u0003\u0002\u0002\u0002\u00aa\u027d\u0003",
"\u0002\u0002\u0002\u00ac\u027f\u0003\u0002\u0002\u0002\u00ae\u0281\u0003",
"\u0002\u0002\u0002\u00b0\u00b1\t\u0002\u0002\u0002\u00b1\u0003\u0003",
"\u0002\u0002\u0002\u00b2\u00b5\u0005\u0002\u0002\u0002\u00b3\u00b5\u0007",
"\u0011\u0002\u0002\u00b4\u00b2\u0003\u0002\u0002\u0002\u00b4\u00b3\u0003",
"\u0002\u0002\u0002\u00b5\u0005\u0003\u0002\u0002\u0002\u00b6\u00bc\u0007",
"\u008a\u0002\u0002\u00b7\u00bc\u0005\u0004\u0003\u0002\u00b8\u00bc\u0005",
"\u0018\r\u0002\u00b9\u00bc\u0005\u001a\u000e\u0002\u00ba\u00bc\u0005",
",\u0017\u0002\u00bb\u00b6\u0003\u0002\u0002\u0002\u00bb\u00b7\u0003",
"\u0002\u0002\u0002\u00bb\u00b8\u0003\u0002\u0002\u0002\u00bb\u00b9\u0003",
"\u0002\u0002\u0002\u00bb\u00ba\u0003\u0002\u0002\u0002\u00bc\u0007\u0003",
"\u0002\u0002\u0002\u00bd\u00be\u0005\u0006\u0004\u0002\u00be\t\u0003",
"\u0002\u0002\u0002\u00bf\u00c0\u0005\u0006\u0004\u0002\u00c0\u000b\u0003",
"\u0002\u0002\u0002\u00c1\u00c2\u0005\u0006\u0004\u0002\u00c2\r\u0003",
"\u0002\u0002\u0002\u00c3\u00c4\u0005\u0006\u0004\u0002\u00c4\u000f\u0003",
"\u0002\u0002\u0002\u00c5\u00c6\u0005\u0006\u0004\u0002\u00c6\u0011\u0003",
"\u0002\u0002\u0002\u00c7\u00cd\u0007\u008a\u0002\u0002\u00c8\u00cd\u0005",
"\u0002\u0002\u0002\u00c9\u00cd\u0005\u0018\r\u0002\u00ca\u00cd\u0005",
"\u001a\u000e\u0002\u00cb\u00cd\u0005,\u0017\u0002\u00cc\u00c7\u0003",
"\u0002\u0002\u0002\u00cc\u00c8\u0003\u0002\u0002\u0002\u00cc\u00c9\u0003",
"\u0002\u0002\u0002\u00cc\u00ca\u0003\u0002\u0002\u0002\u00cc\u00cb\u0003",
"\u0002\u0002\u0002\u00cd\u0013\u0003\u0002\u0002\u0002\u00ce\u00d0\u0007",
"\u0007\u0002\u0002\u00cf\u00ce\u0003\u0002\u0002\u0002\u00cf\u00d0\u0003",
"\u0002\u0002\u0002\u00d0\u00d1\u0003\u0002\u0002\u0002\u00d1\u00d2\u0005",
"\u0012\n\u0002\u00d2\u0015\u0003\u0002\u0002\u0002\u00d3\u00dd\u0005",
"\u0018\r\u0002\u00d4\u00dd\u0005\u001c\u000f\u0002\u00d5\u00dd\u0005",
"\u001e\u0010\u0002\u00d6\u00dd\u0005 \u0011\u0002\u00d7\u00dd\u0005",
"\"\u0012\u0002\u00d8\u00dd\u0005$\u0013\u0002\u00d9\u00dd\u0005&\u0014",
"\u0002\u00da\u00dd\u0005(\u0015\u0002\u00db\u00dd\u0005*\u0016\u0002",
"\u00dc\u00d3\u0003\u0002\u0002\u0002\u00dc\u00d4\u0003\u0002\u0002\u0002",
"\u00dc\u00d5\u0003\u0002\u0002\u0002\u00dc\u00d6\u0003\u0002\u0002\u0002",
"\u00dc\u00d7\u0003\u0002\u0002\u0002\u00dc\u00d8\u0003\u0002\u0002\u0002",
"\u00dc\u00d9\u0003\u0002\u0002\u0002\u00dc\u00da\u0003\u0002\u0002\u0002",
"\u00dc\u00db\u0003\u0002\u0002\u0002\u00dd\u0017\u0003\u0002\u0002\u0002",
"\u00de\u00df\t\u0003\u0002\u0002\u00df\u0019\u0003\u0002\u0002\u0002",
"\u00e0\u00e1\t\u0004\u0002\u0002\u00e1\u001b\u0003\u0002\u0002\u0002",
"\u00e2\u00e3\u0005\u001a\u000e\u0002\u00e3\u00e4\u0007\u0082\u0002\u0002",
"\u00e4\u00e5\u0007\u008d\u0002\u0002\u00e5\u001d\u0003\u0002\u0002\u0002",
"\u00e6\u00e7\u0007\u008c\u0002\u0002\u00e7\u001f\u0003\u0002\u0002\u0002",
"\u00e8\u00e9\u0007\u008b\u0002\u0002\u00e9!\u0003\u0002\u0002\u0002",
"\u00ea\u00eb\t\u0005\u0002\u0002\u00eb#\u0003\u0002\u0002\u0002\u00ec",
"\u00ed\u0007\u008e\u0002\u0002\u00ed%\u0003\u0002\u0002\u0002\u00ee",
"\u00ef\u0007\u0004\u0002\u0002\u00ef\'\u0003\u0002\u0002\u0002\u00f0",
"\u00f1\t\u0006\u0002\u0002\u00f1)\u0003\u0002\u0002\u0002\u00f2\u00f3",
"\u0007\u0019\u0002\u0002\u00f3+\u0003\u0002\u0002\u0002\u00f4\u00f9",
"\u0005.\u0018\u0002\u00f5\u00f9\u00050\u0019\u0002\u00f6\u00f9\u0005",
"2\u001a\u0002\u00f7\u00f9\u00054\u001b\u0002\u00f8\u00f4\u0003\u0002",
"\u0002\u0002\u00f8\u00f5\u0003\u0002\u0002\u0002\u00f8\u00f6\u0003\u0002",
"\u0002\u0002\u00f8\u00f7\u0003\u0002\u0002\u0002\u00f9-\u0003\u0002",
"\u0002\u0002\u00fa\u00fb\t\u0007\u0002\u0002\u00fb/\u0003\u0002\u0002",
"\u0002\u00fc\u00fd\t\b\u0002\u0002\u00fd1\u0003\u0002\u0002\u0002\u00fe",
"\u00ff\t\t\u0002\u0002\u00ff3\u0003\u0002\u0002\u0002\u0100\u0101\t",
"\n\u0002\u0002\u01015\u0003\u0002\u0002\u0002\u0102\u0103\u00058\u001d",
"\u0002\u0103\u0105\u0005:\u001e\u0002\u0104\u0106\u0005<\u001f\u0002",
"\u0105\u0104\u0003\u0002\u0002\u0002\u0105\u0106\u0003\u0002\u0002\u0002",
"\u0106\u0108\u0003\u0002\u0002\u0002\u0107\u0109\u0005> \u0002\u0108",
"\u0107\u0003\u0002\u0002\u0002\u0108\u0109\u0003\u0002\u0002\u0002\u0109",
"\u010b\u0003\u0002\u0002\u0002\u010a\u010c\u0005\u008aF\u0002\u010b",
"\u010a\u0003\u0002\u0002\u0002\u010b\u010c\u0003\u0002\u0002\u0002\u010c",
"\u0111\u0003\u0002\u0002\u0002\u010d\u010f\u0005@!\u0002\u010e\u0110",
"\u0005B\"\u0002\u010f\u010e\u0003\u0002\u0002\u0002\u010f\u0110\u0003",
"\u0002\u0002\u0002\u0110\u0112\u0003\u0002\u0002\u0002\u0111\u010d\u0003",
"\u0002\u0002\u0002\u0111\u0112\u0003\u0002\u0002\u0002\u0112\u0114\u0003",
"\u0002\u0002\u0002\u0113\u0115\u0005D#\u0002\u0114\u0113\u0003\u0002",
"\u0002\u0002\u0114\u0115\u0003\u0002\u0002\u0002\u0115\u0117\u0003\u0002",
"\u0002\u0002\u0116\u0118\u0005F$\u0002\u0117\u0116\u0003\u0002\u0002",
"\u0002\u0117\u0118\u0003\u0002\u0002\u0002\u0118\u011a\u0003\u0002\u0002",
"\u0002\u0119\u011b\u0005H%\u0002\u011a\u0119\u0003\u0002\u0002\u0002",
"\u011a\u011b\u0003\u0002\u0002\u0002\u011b\u011d\u0003\u0002\u0002\u0002",
"\u011c\u011e\u0005J&\u0002\u011d\u011c\u0003\u0002\u0002\u0002\u011d",
"\u011e\u0003\u0002\u0002\u0002\u011e\u0120\u0003\u0002\u0002\u0002\u011f",
"\u0121\u0005L\'\u0002\u0120\u011f\u0003\u0002\u0002\u0002\u0120\u0121",
"\u0003\u0002\u0002\u0002\u0121\u0122\u0003\u0002\u0002\u0002\u0122\u0123",
"\u0007\u0002\u0002\u0003\u01237\u0003\u0002\u0002\u0002\u0124\u0125",
"\u0007\u001d\u0002\u0002\u0125\u012a\u0005R*\u0002\u0126\u0127\u0007",
"\u0084\u0002\u0002\u0127\u0129\u0005R*\u0002\u0128\u0126\u0003\u0002",
"\u0002\u0002\u0129\u012c\u0003\u0002\u0002\u0002\u012a\u0128\u0003\u0002",
"\u0002\u0002\u012a\u012b\u0003\u0002\u0002\u0002\u012b9\u0003\u0002",
"\u0002\u0002\u012c\u012a\u0003\u0002\u0002\u0002\u012d\u012e\u0007\u0010",
"\u0002\u0002\u012e\u0133\u0005n8\u0002\u012f\u0130\u0007\u0084\u0002",
"\u0002\u0130\u0132\u0005n8\u0002\u0131\u012f\u0003\u0002\u0002\u0002",
"\u0132\u0135\u0003\u0002\u0002\u0002\u0133\u0131\u0003\u0002\u0002\u0002",
"\u0133\u0134\u0003\u0002\u0002\u0002\u0134;\u0003\u0002\u0002\u0002",
"\u0135\u0133\u0003\u0002\u0002\u0002\u0136\u0137\u0007\u001f\u0002\u0002",
"\u0137\u0138\u0007.\u0002\u0002\u0138\u0139\u0005\f\u0007\u0002\u0139",
"=\u0003\u0002\u0002\u0002\u013a\u013b\u0007 \u0002\u0002\u013b\u013c",
"\u0005v<\u0002\u013c?\u0003\u0002\u0002\u0002\u013d\u013e\u0007\u0011",
"\u0002\u0002\u013e\u0142\u0007\t\u0002\u0002\u013f\u0143\u0005\u009a",
"N\u0002\u0140\u0143\u0005\u009cO\u0002\u0141\u0143\u0005\u0098M\u0002",
"\u0142\u013f\u0003\u0002\u0002\u0002\u0142\u0140\u0003\u0002\u0002\u0002",
"\u0142\u0141\u0003\u0002\u0002\u0002\u0143A\u0003\u0002\u0002\u0002",
"\u0144\u0145\u0007\u0012\u0002\u0002\u0145\u0146\u0005v<\u0002\u0146",
"C\u0003\u0002\u0002\u0002\u0147\u0148\u0007,\u0002\u0002\u0148\u0149",
"\u0007\t\u0002\u0002\u0149\u014a\u0005\u00a2R\u0002\u014aE\u0003\u0002",
"\u0002\u0002\u014b\u014c\u0007\u0017\u0002\u0002\u014c\u014d\u0007\u008d",
"\u0002\u0002\u014dG\u0003\u0002\u0002\u0002\u014e\u014f\u0007+\u0002",
"\u0002\u014f\u0150\u0007\u008d\u0002\u0002\u0150I\u0003\u0002\u0002",
"\u0002\u0151\u0152\u0007\"\u0002\u0002\u0152\u0155\u0005\u00acW\u0002",
"\u0153\u0154\u0007\u0084\u0002\u0002\u0154\u0156\u0005\u00acW\u0002",
"\u0155\u0153\u0003\u0002\u0002\u0002\u0155\u0156\u0003\u0002\u0002\u0002",
"\u0156\u0159\u0003\u0002\u0002\u0002\u0157\u0158\u0007\u0084\u0002\u0002",
"\u0158\u015a\u0005\u00acW\u0002\u0159\u0157\u0003\u0002\u0002\u0002",
"\u0159\u015a\u0003\u0002\u0002\u0002\u015aK\u0003\u0002\u0002\u0002",
"\u015b\u015c\u0007#\u0002\u0002\u015c\u015f\u0005\u00aeX\u0002\u015d",
"\u015e\u0007\u0084\u0002\u0002\u015e\u0160\u0005\u00aeX\u0002\u015f",
"\u015d\u0003\u0002\u0002\u0002\u015f\u0160\u0003\u0002\u0002\u0002\u0160",
"M\u0003\u0002\u0002\u0002\u0161\u0162\u0007\u0087\u0002\u0002\u0162",
"\u0163\u0005P)\u0002\u0163\u0165\u0005:\u001e\u0002\u0164\u0166\u0005",
"<\u001f\u0002\u0165\u0164\u0003\u0002\u0002\u0002\u0165\u0166\u0003",
"\u0002\u0002\u0002\u0166\u0168\u0003\u0002\u0002\u0002\u0167\u0169\u0005",
"> \u0002\u0168\u0167\u0003\u0002\u0002\u0002\u0168\u0169\u0003\u0002",
"\u0002\u0002\u0169\u016b\u0003\u0002\u0002\u0002\u016a\u016c\u0005\u008a",
"F\u0002\u016b\u016a\u0003\u0002\u0002\u0002\u016b\u016c\u0003\u0002",
"\u0002\u0002\u016c\u016e\u0003\u0002\u0002\u0002\u016d\u016f\u0005D",
"#\u0002\u016e\u016d\u0003\u0002\u0002\u0002\u016e\u016f\u0003\u0002",
"\u0002\u0002\u016f\u0171\u0003\u0002\u0002\u0002\u0170\u0172\u0005F",
"$\u0002\u0171\u0170\u0003\u0002\u0002\u0002\u0171\u0172\u0003\u0002",
"\u0002\u0002\u0172\u0174\u0003\u0002\u0002\u0002\u0173\u0175\u0005H",
"%\u0002\u0174\u0173\u0003\u0002\u0002\u0002\u0174\u0175\u0003\u0002",
"\u0002\u0002\u0175\u0177\u0003\u0002\u0002\u0002\u0176\u0178\u0005J",
"&\u0002\u0177\u0176\u0003\u0002\u0002\u0002\u0177\u0178\u0003\u0002",
"\u0002\u0002\u0178\u017a\u0003\u0002\u0002\u0002\u0179\u017b\u0005L",
"\'\u0002\u017a\u0179\u0003\u0002\u0002\u0002\u017a\u017b\u0003\u0002",
"\u0002\u0002\u017b\u017c\u0003\u0002\u0002\u0002\u017c\u017d\u0007\u0086",
"\u0002\u0002\u017dO\u0003\u0002\u0002\u0002\u017e\u017f\u0007\u001d",
"\u0002\u0002\u017f\u0184\u0005T+\u0002\u0180\u0181\u0007\u0084\u0002",
"\u0002\u0181\u0183\u0005T+\u0002\u0182\u0180\u0003\u0002\u0002\u0002",
"\u0183\u0186\u0003\u0002\u0002\u0002\u0184\u0182\u0003\u0002\u0002\u0002",
"\u0184\u0185\u0003\u0002\u0002\u0002\u0185Q\u0003\u0002\u0002\u0002",
"\u0186\u0184\u0003\u0002\u0002\u0002\u0187\u018c\u0005V,\u0002\u0188",
"\u018c\u0005X-\u0002\u0189\u018c\u0005N(\u0002\u018a\u018c\u0005b2\u0002",
"\u018b\u0187\u0003\u0002\u0002\u0002\u018b\u0188\u0003\u0002\u0002\u0002",
"\u018b\u0189\u0003\u0002\u0002\u0002\u018b\u018a\u0003\u0002\u0002\u0002",
"\u018cS\u0003\u0002\u0002\u0002\u018d\u0190\u0005V,\u0002\u018e\u0190",
"\u0005X-\u0002\u018f\u018d\u0003\u0002\u0002\u0002\u018f\u018e\u0003",
"\u0002\u0002\u0002\u0190U\u0003\u0002\u0002\u0002\u0191\u0193\u0005",
"Z.\u0002\u0192\u0194\u0005\u0014\u000b\u0002\u0193\u0192\u0003\u0002",
"\u0002\u0002\u0193\u0194\u0003\u0002\u0002\u0002\u0194W\u0003\u0002",
"\u0002\u0002\u0195\u0197\u0005\\/\u0002\u0196\u0198\u0005\u0014\u000b",
"\u0002\u0197\u0196\u0003\u0002\u0002\u0002\u0197\u0198\u0003\u0002\u0002",
"\u0002\u0198Y\u0003\u0002\u0002\u0002\u0199\u019b\u0005p9\u0002\u019a",
"\u0199\u0003\u0002\u0002\u0002\u019a\u019b\u0003\u0002\u0002\u0002\u019b",
"\u019c\u0003\u0002\u0002\u0002\u019c\u019d\u0005\n\u0006\u0002\u019d",
"[\u0003\u0002\u0002\u0002\u019e\u019f\u0005,\u0017\u0002\u019f\u01a1",
"\u0007\u0087\u0002\u0002\u01a0\u01a2\u0005^0\u0002\u01a1\u01a0\u0003",
"\u0002\u0002\u0002\u01a1\u01a2\u0003\u0002\u0002\u0002\u01a2\u01a3\u0003",
"\u0002\u0002\u0002\u01a3\u01a4\u0007\u0086\u0002\u0002\u01a4]\u0003",
"\u0002\u0002\u0002\u01a5\u01aa\u0005`1\u0002\u01a6\u01a7\u0007\u0084",
"\u0002\u0002\u01a7\u01a9\u0005`1\u0002\u01a8\u01a6\u0003\u0002\u0002",
"\u0002\u01a9\u01ac\u0003\u0002\u0002\u0002\u01aa\u01a8\u0003\u0002\u0002",
"\u0002\u01aa\u01ab\u0003\u0002\u0002\u0002\u01ab_\u0003\u0002\u0002",
"\u0002\u01ac\u01aa\u0003\u0002\u0002\u0002\u01ad\u01b1\u0005Z.\u0002",
"\u01ae\u01b1\u0005\u0016\f\u0002\u01af\u01b1\u0005\\/\u0002\u01b0\u01ad",
"\u0003\u0002\u0002\u0002\u01b0\u01ae\u0003\u0002\u0002\u0002\u01b0\u01af",
"\u0003\u0002\u0002\u0002\u01b1a\u0003\u0002\u0002\u0002\u01b2\u01b3",
"\u00071\u0002\u0002\u01b3\u01b4\u0005Z.\u0002\u01b4\u01b6\u0005d3\u0002",
"\u01b5\u01b7\u0005j6\u0002\u01b6\u01b5\u0003\u0002\u0002\u0002\u01b6",
"\u01b7\u0003\u0002\u0002\u0002\u01b7\u01b8\u0003\u0002\u0002\u0002\u01b8",
"\u01b9\u0007*\u0002\u0002\u01b9c\u0003\u0002\u0002\u0002\u01ba\u01bc",
"\u0005f4\u0002\u01bb\u01ba\u0003\u0002\u0002\u0002\u01bc\u01bd\u0003",
"\u0002\u0002\u0002\u01bd\u01bb\u0003\u0002\u0002\u0002\u01bd\u01be\u0003",
"\u0002\u0002\u0002\u01bee\u0003\u0002\u0002\u0002\u01bf\u01c0\u0007",
"4\u0002\u0002\u01c0\u01c1\u0005\b\u0005\u0002\u01c1\u01c2\u0005h5\u0002",
"\u01c2g\u0003\u0002\u0002\u0002\u01c3\u01c4\u00070\u0002\u0002\u01c4",
"\u01c5\u0005l7\u0002\u01c5i\u0003\u0002\u0002\u0002\u01c6\u01c7\u0007",
"\f\u0002\u0002\u01c7\u01c8\u0005l7\u0002\u01c8k\u0003\u0002\u0002\u0002",
"\u01c9\u01ce\u0005Z.\u0002\u01ca\u01cb\u0007\u0084\u0002\u0002\u01cb",
"\u01cd\u0005Z.\u0002\u01cc\u01ca\u0003\u0002\u0002\u0002\u01cd\u01d0",
"\u0003\u0002\u0002\u0002\u01ce\u01cc\u0003\u0002\u0002\u0002\u01ce\u01cf",
"\u0003\u0002\u0002\u0002\u01cfm\u0003\u0002\u0002\u0002\u01d0\u01ce",
"\u0003\u0002\u0002\u0002\u01d1\u01d3\u0005p9\u0002\u01d2\u01d1\u0003",
"\u0002\u0002\u0002\u01d2\u01d3\u0003\u0002\u0002\u0002\u01d3\u01d4\u0003",
"\u0002\u0002\u0002\u01d4\u01d6\u0005\b\u0005\u0002\u01d5\u01d7\u0005",
"\u0014\u000b\u0002\u01d6\u01d5\u0003\u0002\u0002\u0002\u01d6\u01d7\u0003",
"\u0002\u0002\u0002\u01d7o\u0003\u0002\u0002\u0002\u01d8\u01d9\u0005",
"\b\u0005\u0002\u01d9\u01da\u0007\u0081\u0002\u0002\u01da\u01dc\u0003",
"\u0002\u0002\u0002\u01db\u01d8\u0003\u0002\u0002\u0002\u01dc\u01dd\u0003",
"\u0002\u0002\u0002\u01dd\u01db\u0003\u0002\u0002\u0002\u01dd\u01de\u0003",
"\u0002\u0002\u0002\u01deq\u0003\u0002\u0002\u0002\u01df\u01ea\u0007",
"{\u0002\u0002\u01e0\u01ea\u0007|\u0002\u0002\u01e1\u01ea\u0007}\u0002",
"\u0002\u01e2\u01ea\u0007~\u0002\u0002\u01e3\u01ea\u0007\u007f\u0002",
"\u0002\u01e4\u01ea\u0007\u0080\u0002\u0002\u01e5\u01e6\u0007\u007f\u0002",
"\u0002\u01e6\u01ea\u0007{\u0002\u0002\u01e7\u01e8\u0007\u0080\u0002",
"\u0002\u01e8\u01ea\u0007{\u0002\u0002\u01e9\u01df\u0003\u0002\u0002",
"\u0002\u01e9\u01e0\u0003\u0002\u0002\u0002\u01e9\u01e1\u0003\u0002\u0002",
"\u0002\u01e9\u01e2\u0003\u0002\u0002\u0002\u01e9\u01e3\u0003\u0002\u0002",
"\u0002\u01e9\u01e4\u0003\u0002\u0002\u0002\u01e9\u01e5\u0003\u0002\u0002",
"\u0002\u01e9\u01e7\u0003\u0002\u0002\u0002\u01eas\u0003\u0002\u0002",
"\u0002\u01eb\u01f1\u0007\u0013\u0002\u0002\u01ec\u01ed\u0007\u0018\u0002",
"\u0002\u01ed\u01f1\u0007\u0013\u0002\u0002\u01ee\u01f1\u0007\u0014\u0002",
"\u0002\u01ef\u01f1\u0007\r\u0002\u0002\u01f0\u01eb\u0003\u0002\u0002",
"\u0002\u01f0\u01ec\u0003\u0002\u0002\u0002\u01f0\u01ee\u0003\u0002\u0002",
"\u0002\u01f0\u01ef\u0003\u0002\u0002\u0002\u01f1u\u0003\u0002\u0002",
"\u0002\u01f2\u01f7\u0005x=\u0002\u01f3\u01f4\t\u000b\u0002\u0002\u01f4",
"\u01f6\u0005x=\u0002\u01f5\u01f3\u0003\u0002\u0002\u0002\u01f6\u01f9",
"\u0003\u0002\u0002\u0002\u01f7\u01f5\u0003\u0002\u0002\u0002\u01f7\u01f8",
"\u0003\u0002\u0002\u0002\u01f8w\u0003\u0002\u0002\u0002\u01f9\u01f7",
"\u0003\u0002\u0002\u0002\u01fa\u01fc\u0007\u0018\u0002\u0002\u01fb\u01fa",
"\u0003\u0002\u0002\u0002\u01fb\u01fc\u0003\u0002\u0002\u0002\u01fc\u01ff",
"\u0003\u0002\u0002\u0002\u01fd\u0200\u0005|?\u0002\u01fe\u0200\u0005",
"z>\u0002\u01ff\u01fd\u0003\u0002\u0002\u0002\u01ff\u01fe\u0003\u0002",
"\u0002\u0002\u0200y\u0003\u0002\u0002\u0002\u0201\u0202\u0007\u0087",
"\u0002\u0002\u0202\u0203\u0005v<\u0002\u0203\u0204\u0007\u0086\u0002",
"\u0002\u0204{\u0003\u0002\u0002\u0002\u0205\u0209\u0005~@\u0002\u0206",
"\u0209\u0005\u0080A\u0002\u0207\u0209\u0005\u0082B\u0002\u0208\u0205",
"\u0003\u0002\u0002\u0002\u0208\u0206\u0003\u0002\u0002\u0002\u0208\u0207",
"\u0003\u0002\u0002\u0002\u0209}\u0003\u0002\u0002\u0002\u020a\u020b",
"\u0005\u0084C\u0002\u020b\u020c\u0005r:\u0002\u020c\u020d\u0005\u0016",
"\f\u0002\u020d\u007f\u0003\u0002\u0002\u0002\u020e\u020f\u0005\u0084",
"C\u0002\u020f\u0212\u0005t;\u0002\u0210\u0213\u0005N(\u0002\u0211\u0213",
"\u0005\u0086D\u0002\u0212\u0210\u0003\u0002\u0002\u0002\u0212\u0211",
"\u0003\u0002\u0002\u0002\u0213\u0081\u0003\u0002\u0002\u0002\u0214\u0215",
"\u0005\u0084C\u0002\u0215\u0216\u0007\u0016\u0002\u0002\u0216\u0217",
"\t\f\u0002\u0002\u0217\u0083\u0003\u0002\u0002\u0002\u0218\u021b\u0005",
"Z.\u0002\u0219\u021b\u0005\\/\u0002\u021a\u0218\u0003\u0002\u0002\u0002",
"\u021a\u0219\u0003\u0002\u0002\u0002\u021b\u0085\u0003\u0002\u0002\u0002",
"\u021c\u021d\u0007\u0087\u0002\u0002\u021d\u021e\u0005\u0088E\u0002",
"\u021e\u021f\u0007\u0086\u0002\u0002\u021f\u0087\u0003\u0002\u0002\u0002",
"\u0220\u0225\u0005\u0016\f\u0002\u0221\u0222\u0007\u0084\u0002\u0002",
"\u0222\u0224\u0005\u0016\f\u0002\u0223\u0221\u0003\u0002\u0002\u0002",
"\u0224\u0227\u0003\u0002\u0002\u0002\u0225\u0223\u0003\u0002\u0002\u0002",
"\u0225\u0226\u0003\u0002\u0002\u0002\u0226\u0089\u0003\u0002\u0002\u0002",
"\u0227\u0225\u0003\u0002\u0002\u0002\u0228\u022b\u0007!\u0002\u0002",
"\u0229\u022c\u0005\u008cG\u0002\u022a\u022c\u0005\u008eH\u0002\u022b",
"\u0229\u0003\u0002\u0002\u0002\u022b\u022a\u0003\u0002\u0002\u0002\u022c",
"\u008b\u0003\u0002\u0002\u0002\u022d\u022e\u0005~@\u0002\u022e\u008d",
"\u0003\u0002\u0002\u0002\u022f\u0230\u0007)\u0002\u0002\u0230\u0231",
"\u0007(\u0002\u0002\u0231\u0232\u0005\u0090I\u0002\u0232\u008f\u0003",
"\u0002\u0002\u0002\u0233\u0238\u0005\u0092J\u0002\u0234\u0235\u0007",
"\u0006\u0002\u0002\u0235\u0237\u0005\u0092J\u0002\u0236\u0234\u0003",
"\u0002\u0002\u0002\u0237\u023a\u0003\u0002\u0002\u0002\u0238\u0236\u0003",
"\u0002\u0002\u0002\u0238\u0239\u0003\u0002\u0002\u0002\u0239\u0091\u0003",
"\u0002\u0002\u0002\u023a\u0238\u0003\u0002\u0002\u0002\u023b\u023c\u0005",
"\u000e\b\u0002\u023c\u023d\u0005\u0096L\u0002\u023d\u023e\u0005\u0094",
"K\u0002\u023e\u0093\u0003\u0002\u0002\u0002\u023f\u024c\u0005\u0010",
"\t\u0002\u0240\u0241\u0007\u0087\u0002\u0002\u0241\u0246\u0005\u0010",
"\t\u0002\u0242\u0243\u0007\u0084\u0002\u0002\u0243\u0245\u0005\u0010",
"\t\u0002\u0244\u0242\u0003\u0002\u0002\u0002\u0245\u0248\u0003\u0002",
"\u0002\u0002\u0246\u0244\u0003\u0002\u0002\u0002\u0246\u0247\u0003\u0002",
"\u0002\u0002\u0247\u0249\u0003\u0002\u0002\u0002\u0248\u0246\u0003\u0002",
"\u0002\u0002\u0249\u024a\u0007\u0086\u0002\u0002\u024a\u024c\u0003\u0002",
"\u0002\u0002\u024b\u023f\u0003\u0002\u0002\u0002\u024b\u0240\u0003\u0002",
"\u0002\u0002\u024c\u0095\u0003\u0002\u0002\u0002\u024d\u024e\t\r\u0002",
"\u0002\u024e\u0097\u0003\u0002\u0002\u0002\u024f\u0250\u0005\u009eP",
"\u0002\u0250\u0099\u0003\u0002\u0002\u0002\u0251\u0252\u0007\u001c\u0002",
"\u0002\u0252\u0253\u0007\u0087\u0002\u0002\u0253\u0254\u0005\u009eP",
"\u0002\u0254\u0255\u0007\u0086\u0002\u0002\u0255\u009b\u0003\u0002\u0002",
"\u0002\u0256\u0257\u0007\n\u0002\u0002\u0257\u0258\u0007\u0087\u0002",
"\u0002\u0258\u0259\u0005\u009eP\u0002\u0259\u025a\u0007\u0086\u0002",
"\u0002\u025a\u009d\u0003\u0002\u0002\u0002\u025b\u0260\u0005\u00a0Q",
"\u0002\u025c\u025d\u0007\u0084\u0002\u0002\u025d\u025f\u0005\u00a0Q",
"\u0002\u025e\u025c\u0003\u0002\u0002\u0002\u025f\u0262\u0003\u0002\u0002",
"\u0002\u0260\u025e\u0003\u0002\u0002\u0002\u0260\u0261\u0003\u0002\u0002",
"\u0002\u0261\u009f\u0003\u0002\u0002\u0002\u0262\u0260\u0003\u0002\u0002",
"\u0002\u0263\u0266\u0005Z.\u0002\u0264\u0266\u0005\\/\u0002\u0265\u0263",
"\u0003\u0002\u0002\u0002\u0265\u0264\u0003\u0002\u0002\u0002\u0266\u00a1",
"\u0003\u0002\u0002\u0002\u0267\u026c\u0005\u00a4S\u0002\u0268\u0269",
"\u0007\u0084\u0002\u0002\u0269\u026b\u0005\u00a4S\u0002\u026a\u0268",
"\u0003\u0002\u0002\u0002\u026b\u026e\u0003\u0002\u0002\u0002\u026c\u026a",
"\u0003\u0002\u0002\u0002\u026c\u026d\u0003\u0002\u0002\u0002\u026d\u00a3",
"\u0003\u0002\u0002\u0002\u026e\u026c\u0003\u0002\u0002\u0002\u026f\u0271",
"\u0005\u00aaV\u0002\u0270\u0272\u0005\u00a6T\u0002\u0271\u0270\u0003",
"\u0002\u0002\u0002\u0271\u0272\u0003\u0002\u0002\u0002\u0272\u0274\u0003",
"\u0002\u0002\u0002\u0273\u0275\u0005\u00a8U\u0002\u0274\u0273\u0003",
"\u0002\u0002\u0002\u0274\u0275\u0003\u0002\u0002\u0002\u0275\u00a5\u0003",
"\u0002\u0002\u0002\u0276\u0277\t\u000e\u0002\u0002\u0277\u00a7\u0003",
"\u0002\u0002\u0002\u0278\u0279\u0007\u001a\u0002\u0002\u0279\u027a\t",
"\u000f\u0002\u0002\u027a\u00a9\u0003\u0002\u0002\u0002\u027b\u027e\u0005",
"Z.\u0002\u027c\u027e\u0005\\/\u0002\u027d\u027b\u0003\u0002\u0002\u0002",
"\u027d\u027c\u0003\u0002\u0002\u0002\u027e\u00ab\u0003\u0002\u0002\u0002",
"\u027f\u0280\t\u0010\u0002\u0002\u0280\u00ad\u0003\u0002\u0002\u0002",
"\u0281\u0282\t\u0011\u0002\u0002\u0282\u00af\u0003\u0002\u0002\u0002",
"B\u00b4\u00bb\u00cc\u00cf\u00dc\u00f8\u0105\u0108\u010b\u010f\u0111",
"\u0114\u0117\u011a\u011d\u0120\u012a\u0133\u0142\u0155\u0159\u015f\u0165",
"\u0168\u016b\u016e\u0171\u0174\u0177\u017a\u0184\u018b\u018f\u0193\u0197",
"\u019a\u01a1\u01aa\u01b0\u01b6\u01bd\u01ce\u01d2\u01d6\u01dd\u01e9\u01f0",
"\u01f7\u01fb\u01ff\u0208\u0212\u021a\u0225\u022b\u0238\u0246\u024b\u0260",
"\u0265\u026c\u0271\u0274\u027d"].join("");
var atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN);
var decisionsToDFA = atn.decisionToState.map( function(ds, index) { return new antlr4.dfa.DFA(ds, index); });
var sharedContextCache = new antlr4.PredictionContextCache();
var literalNames = [ null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null,
null, null, null, null, "'='", null, "'<='", "'>='",
"'>'", "'<'", "'.'", "':'", "';'", "','", "'*'", "')'",
"'('", "'+'", "'-'" ];
var symbolicNames = [ null, "WHITE_SPACE", "STRING_VALUE", "LIKE_STRING_VALUE",
"AND", "AS", "ASC", "BY", "CUBE", "DESC", "ELSE",
"EXCLUDES", "FALSE", "FIRST", "FROM", "GROUP", "HAVING",
"IN", "INCLUDES", "LAST", "LIKE", "LIMIT", "NOT",
"NULL", "NULLS", "OR", "ROLLUP", "SELECT", "TRUE",
"USING", "WHERE", "WITH", "FOR", "UPDATE", "ABOVE",
"ABOVE_OR_BELOW", "AT", "BELOW", "CATEGORY", "DATA",
"END", "OFFSET", "ORDER", "REFERENCE", "SCOPE", "TRACKING",
"THEN", "TYPEOF", "VIEW", "VIEWSTAT", "WHEN", "CALENDAR_MONTH",
"CALENDAR_QUARTER", "CALENDAR_YEAR", "DAY_IN_MONTH",
"DAY_IN_WEEK", "DAY_IN_YEAR", "DAY_ONLY", "FISCAL_MONTH",
"FISCAL_QUARTER", "FISCAL_YEAR", "HOUR_IN_DAY", "WEEK_IN_MONTH",
"WEEK_IN_YEAR", "AVG", "COUNT", "COUNT_DISTINCT",
"MIN", "MAX", "SUM", "DISTANCE", "GEOLOCATION", "FORMAT",
"TOLABEL", "CONVERT_TIME_ZONE", "CONVERT_CURRENCY",
"GROUPING", "YESTERDAY", "TODAY", "TOMORROW", "LAST_WEEK",
"THIS_WEEK", "NEXT_WEEK", "LAST_MONTH", "THIS_MONTH",
"NEXT_MONTH", "LAST_90_DAYS", "NEXT_90_DAYS", "THIS_QUARTER",
"LAST_QUARTER", "NEXT_QUARTER", "THIS_YEAR", "LAST_YEAR",
"NEXT_YEAR", "THIS_FISCAL_QUARTER", "LAST_FISCAL_QUARTER",
"NEXT_FISCAL_QUARTER", "THIS_FISCAL_YEAR", "LAST_FISCAL_YEAR",
"NEXT_FISCAL_YEAR", "NEXT_N_DAYS", "LAST_N_DAYS",
"N_DAYS_AGO", "NEXT_N_WEEKS", "LAST_N_WEEKS", "N_WEEKS_AGO",
"NEXT_N_MONTHS", "LAST_N_MONTHS", "N_MONTHS_AGO",
"NEXT_N_QUARTERS", "LAST_N_QUARTERS", "N_QUARTERS_AGO",
"NEXT_N_YEARS", "LAST_N_YEARS", "N_YEARS_AGO", "NEXT_N_FISCAL_QUARTERS",
"LAST_N_FISCAL_QUARTERS", "N_FISCAL_QUARTERS_AGO",
"NEXT_N_FISCAL_YEARS", "LAST_N_FISCAL_YEARS", "N_FISCAL_YEARS_AGO",
"EQ", "NOT_EQ", "LET", "GET", "GTH", "LTH", "DOT",
"COLON", "SEMICOLON", "COMMA", "ASTERISK", "RPAREN",
"LPAREN", "PLUS", "MINUS", "ID", "DATE", "DATETIME",
"UNSIGNED_INTEGER", "REAL_NUMBER", "SIGNED_INTEGER" ];
var ruleNames = [ "keywords_alias_allowed", "keywords_name_allowed", "name",
"object_name", "field_name", "filter_scope_name", "data_category_group_name",
"data_category_name", "alias_name", "alias", "literal",
"date_formula_literal", "date_formula_n_literal_name",
"date_formula_n_literal", "datetime_literal", "date_literal",
"integer_literal", "real_literal", "string_literal",
"boolean_literal", "null_literal", "function_name", "function_date",
"function_aggregate", "function_location", "function_other",
"soql_query", "select_clause", "from_clause", "using_clause",
"where_clause", "groupby_clause", "having_clause", "orderby_clause",
"limit_clause", "offset_clause", "for_clause", "update_clause",
"soql_subquery", "subquery_select_clause", "select_spec",
"subquery_select_spec", "field_spec", "function_call_spec",
"field", "function_call", "function_parameter_list",
"function_parameter", "typeof_spec", "typeof_when_then_clause_list",
"typeof_when_then_clause", "typeof_then_clause", "typeof_else_clause",
"field_list", "object_spec", "object_prefix", "comparison_operator",
"set_operator", "condition", "condition1", "parenthesis",
"simple_condition", "field_based_condition", "set_based_condition",
"like_based_condition", "condition_field", "set_values",
"set_value_list", "with_clause", "with_plain_clause",
"with_data_category_clause", "data_category_spec_list",
"data_category_spec", "data_category_parameter_list",
"data_category_selector", "group_by_plain_clause", "group_by_rollup_clause",
"group_by_cube_clause", "group_by_list", "group_by_spec",
"order_by_list", "order_by_spec", "order_by_direction_clause",
"order_by_nulls_clause", "order_by_field", "for_value",
"update_value" ];
function SOQLParser (input) {
antlr4.Parser.call(this, input);
this._interp = new antlr4.atn.ParserATNSimulator(this, atn, decisionsToDFA, sharedContextCache);
this.ruleNames = ruleNames;
this.literalNames = literalNames;
this.symbolicNames = symbolicNames;
return this;
}
SOQLParser.prototype = Object.create(antlr4.Parser.prototype);
SOQLParser.prototype.constructor = SOQLParser;
Object.defineProperty(SOQLParser.prototype, "atn", {
get : function() {
return atn;
}
});
SOQLParser.EOF = antlr4.Token.EOF;
SOQLParser.WHITE_SPACE = 1;
SOQLParser.STRING_VALUE = 2;
SOQLParser.LIKE_STRING_VALUE = 3;
SOQLParser.AND = 4;
SOQLParser.AS = 5;
SOQLParser.ASC = 6;
SOQLParser.BY = 7;
SOQLParser.CUBE = 8;
SOQLParser.DESC = 9;
SOQLParser.ELSE = 10;
SOQLParser.EXCLUDES = 11;
SOQLParser.FALSE = 12;
SOQLParser.FIRST = 13;
SOQLParser.FROM = 14;
SOQLParser.GROUP = 15;
SOQLParser.HAVING = 16;
SOQLParser.IN = 17;
SOQLParser.INCLUDES = 18;
SOQLParser.LAST = 19;
SOQLParser.LIKE = 20;
SOQLParser.LIMIT = 21;
SOQLParser.NOT = 22;
SOQLParser.NULL = 23;
SOQLParser.NULLS = 24;
SOQLParser.OR = 25;
SOQLParser.ROLLUP = 26;
SOQLParser.SELECT = 27;
SOQLParser.TRUE = 28;
SOQLParser.USING = 29;
SOQLParser.WHERE = 30;
SOQLParser.WITH = 31;
SOQLParser.FOR = 32;
SOQLParser.UPDATE = 33;
SOQLParser.ABOVE = 34;
SOQLParser.ABOVE_OR_BELOW = 35;
SOQLParser.AT = 36;
SOQLParser.BELOW = 37;
SOQLParser.CATEGORY = 38;
SOQLParser.DATA = 39;
SOQLParser.END = 40;
SOQLParser.OFFSET = 41;
SOQLParser.ORDER = 42;
SOQLParser.REFERENCE = 43;
SOQLParser.SCOPE = 44;
SOQLParser.TRACKING = 45;
SOQLParser.THEN = 46;
SOQLParser.TYPEOF = 47;
SOQLParser.VIEW = 48;
SOQLParser.VIEWSTAT = 49;
SOQLParser.WHEN = 50;
SOQLParser.CALENDAR_MONTH = 51;
SOQLParser.CALENDAR_QUARTER = 52;
SOQLParser.CALENDAR_YEAR = 53;
SOQLParser.DAY_IN_MONTH = 54;
SOQLParser.DAY_IN_WEEK = 55;
SOQLParser.DAY_IN_YEAR = 56;
SOQLParser.DAY_ONLY = 57;
SOQLParser.FISCAL_MONTH = 58;
SOQLParser.FISCAL_QUARTER = 59;
SOQLParser.FISCAL_YEAR = 60;
SOQLParser.HOUR_IN_DAY = 61;
SOQLParser.WEEK_IN_MONTH = 62;
SOQLParser.WEEK_IN_YEAR = 63;
SOQLParser.AVG = 64;
SOQLParser.COUNT = 65;
SOQLParser.COUNT_DISTINCT = 66;
SOQLParser.MIN = 67;
SOQLParser.MAX = 68;
SOQLParser.SUM = 69;
SOQLParser.DISTANCE = 70;
SOQLParser.GEOLOCATION = 71;
SOQLParser.FORMAT = 72;
SOQLParser.TOLABEL = 73;
SOQLParser.CONVERT_TIME_ZONE = 74;
SOQLParser.CONVERT_CURRENCY = 75;
SOQLParser.GROUPING = 76;
SOQLParser.YESTERDAY = 77;
SOQLParser.TODAY = 78;
SOQLParser.TOMORROW = 79;
SOQLParser.LAST_WEEK = 80;
SOQLParser.THIS_WEEK = 81;
SOQLParser.NEXT_WEEK = 82;
SOQLParser.LAST_MONTH = 83;
SOQLParser.THIS_MONTH = 84;
SOQLParser.NEXT_MONTH = 85;
SOQLParser.LAST_90_DAYS = 86;
SOQLParser.NEXT_90_DAYS = 87;
SOQLParser.THIS_QUARTER = 88;
SOQLParser.LAST_QUARTER = 89;
SOQLParser.NEXT_QUARTER = 90;
SOQLParser.THIS_YEAR = 91;
SOQLParser.LAST_YEAR = 92;
SOQLParser.NEXT_YEAR = 93;
SOQLParser.THIS_FISCAL_QUARTER = 94;
SOQLParser.LAST_FISCAL_QUARTER = 95;
SOQLParser.NEXT_FISCAL_QUARTER = 96;
SOQLParser.THIS_FISCAL_YEAR = 97;
SOQLParser.LAST_FISCAL_YEAR = 98;
SOQLParser.NEXT_FISCAL_YEAR = 99;
SOQLParser.NEXT_N_DAYS = 100;
SOQLParser.LAST_N_DAYS = 101;
SOQLParser.N_DAYS_AGO = 102;
SOQLParser.NEXT_N_WEEKS = 103;
SOQLParser.LAST_N_WEEKS = 104;
SOQLParser.N_WEEKS_AGO = 105;
SOQLParser.NEXT_N_MONTHS = 106;
SOQLParser.LAST_N_MONTHS = 107;
SOQLParser.N_MONTHS_AGO = 108;
SOQLParser.NEXT_N_QUARTERS = 109;
SOQLParser.LAST_N_QUARTERS = 110;
SOQLParser.N_QUARTERS_AGO = 111;
SOQLParser.NEXT_N_YEARS = 112;
SOQLParser.LAST_N_YEARS = 113;
SOQLParser.N_YEARS_AGO = 114;
SOQLParser.NEXT_N_FISCAL_QUARTERS = 115;
SOQLParser.LAST_N_FISCAL_QUARTERS = 116;
SOQLParser.N_FISCAL_QUARTERS_AGO = 117;
SOQLParser.NEXT_N_FISCAL_YEARS = 118;
SOQLParser.LAST_N_FISCAL_YEARS = 119;
SOQLParser.N_FISCAL_YEARS_AGO = 120;
SOQLParser.EQ = 121;
SOQLParser.NOT_EQ = 122;
SOQLParser.LET = 123;
SOQLParser.GET = 124;
SOQLParser.GTH = 125;
SOQLParser.LTH = 126;
SOQLParser.DOT = 127;
SOQLParser.COLON = 128;
SOQLParser.SEMICOLON = 129;
SOQLParser.COMMA = 130;
SOQLParser.ASTERISK = 131;
SOQLParser.RPAREN = 132;
SOQLParser.LPAREN = 133;
SOQLParser.PLUS = 134;
SOQLParser.MINUS = 135;
SOQLParser.ID = 136;
SOQLParser.DATE = 137;
SOQLParser.DATETIME = 138;
SOQLParser.UNSIGNED_INTEGER = 139;
SOQLParser.REAL_NUMBER = 140;
SOQLParser.SIGNED_INTEGER = 141;
SOQLParser.RULE_keywords_alias_allowed = 0;
SOQLParser.RULE_keywords_name_allowed = 1;
SOQLParser.RULE_name = 2;
SOQLParser.RULE_object_name = 3;
SOQLParser.RULE_field_name = 4;
SOQLParser.RULE_filter_scope_name = 5;
SOQLParser.RULE_data_category_group_name = 6;
SOQLParser.RULE_data_category_name = 7;
SOQLParser.RULE_alias_name = 8;
SOQLParser.RULE_alias = 9;
SOQLParser.RULE_literal = 10;
SOQLParser.RULE_date_formula_literal = 11;
SOQLParser.RULE_date_formula_n_literal_name = 12;
SOQLParser.RULE_date_formula_n_literal = 13;
SOQLParser.RULE_datetime_literal = 14;
SOQLParser.RULE_date_literal = 15;
SOQLParser.RULE_integer_literal = 16;
SOQLParser.RULE_real_literal = 17;
SOQLParser.RULE_string_literal = 18;
SOQLParser.RULE_boolean_literal = 19;
SOQLParser.RULE_null_literal = 20;
SOQLParser.RULE_function_name = 21;
SOQLParser.RULE_function_date = 22;
SOQLParser.RULE_function_aggregate = 23;
SOQLParser.RULE_function_location = 24;
SOQLParser.RULE_function_other = 25;
SOQLParser.RULE_soql_query = 26;
SOQLParser.RULE_select_clause = 27;
SOQLParser.RULE_from_clause = 28;
SOQLParser.RULE_using_clause = 29;
SOQLParser.RULE_where_clause = 30;
SOQLParser.RULE_groupby_clause = 31;
SOQLParser.RULE_having_clause = 32;
SOQLParser.RULE_orderby_clause = 33;
SOQLParser.RULE_limit_clause = 34;
SOQLParser.RULE_offset_clause = 35;
SOQLParser.RULE_for_clause = 36;
SOQLParser.RULE_update_clause = 37;
SOQLParser.RULE_soql_subquery = 38;
SOQLParser.RULE_subquery_select_clause = 39;
SOQLParser.RULE_select_spec = 40;
SOQLParser.RULE_subquery_select_spec = 41;
SOQLParser.RULE_field_spec = 42;
SOQLParser.RULE_function_call_spec = 43;
SOQLParser.RULE_field = 44;
SOQLParser.RULE_function_call = 45;
SOQLParser.RULE_function_parameter_list = 46;
SOQLParser.RULE_function_parameter = 47;
SOQLParser.RULE_typeof_spec = 48;
SOQLParser.RULE_typeof_when_then_clause_list = 49;
SOQLParser.RULE_typeof_when_then_clause = 50;
SOQLParser.RULE_typeof_then_clause = 51;
SOQLParser.RULE_typeof_else_clause = 52;
SOQLParser.RULE_field_list = 53;
SOQLParser.RULE_object_spec = 54;
SOQLParser.RULE_object_prefix = 55;
SOQLParser.RULE_comparison_operator = 56;
SOQLParser.RULE_set_operator = 57;
SOQLParser.RULE_condition = 58;
SOQLParser.RULE_condition1 = 59;
SOQLParser.RULE_parenthesis = 60;
SOQLParser.RULE_simple_condition = 61;
SOQLParser.RULE_field_based_condition = 62;
SOQLParser.RULE_set_based_condition = 63;
SOQLParser.RULE_like_based_condition = 64;
SOQLParser.RULE_condition_field = 65;
SOQLParser.RULE_set_values = 66;
SOQLParser.RULE_set_value_list = 67;
SOQLParser.RULE_with_clause = 68;
SOQLParser.RULE_with_plain_clause = 69;
SOQLParser.RULE_with_data_category_clause = 70;
SOQLParser.RULE_data_category_spec_list = 71;
SOQLParser.RULE_data_category_spec = 72;
SOQLParser.RULE_data_category_parameter_list = 73;
SOQLParser.RULE_data_category_selector = 74;
SOQLParser.RULE_group_by_plain_clause = 75;
SOQLParser.RULE_group_by_rollup_clause = 76;
SOQLParser.RULE_group_by_cube_clause = 77;
SOQLParser.RULE_group_by_list = 78;
SOQLParser.RULE_group_by_spec = 79;
SOQLParser.RULE_order_by_list = 80;
SOQLParser.RULE_order_by_spec = 81;
SOQLParser.RULE_order_by_direction_clause = 82;
SOQLParser.RULE_order_by_nulls_clause = 83;
SOQLParser.RULE_order_by_field = 84;
SOQLParser.RULE_for_value = 85;
SOQLParser.RULE_update_value = 86;
function Keywords_alias_allowedContext(parser, parent, invokingState) {
if(parent===undefined) {
parent = null;
}
if(invokingState===undefined || invokingState===null) {
invokingState = -1;
}
antlr4.ParserRuleContext.call(this, parent, invokingState);
this.parser = parser;
this.ruleIndex = SOQLParser.RULE_keywords_alias_allowed;
return this;
}
Keywords_alias_allowedContext.prototype = Object.create(antlr4.ParserRuleContext.prototype);
Keywords_alias_allowedContext.prototype.constructor = Keywords_alias_allowedContext;
Keywords_alias_allowedContext.prototype.ABOVE = function() {
return this.getToken(SOQLParser.ABOVE, 0);
};
Keywords_alias_allowedContext.prototype.ABOVE_OR_BELOW = function() {
return this.getToken(SOQLParser.ABOVE_OR_BELOW, 0);
};
Keywords_alias_allowedContext.prototype.AT = function() {
return this.getToken(SOQLParser.AT, 0);
};
Keywords_alias_allowedContext.prototype.BELOW = function() {
return this.getToken(SOQLParser.BELOW, 0);
};
Keywords_alias_allowedContext.prototype.CATEGORY = function() {
return this.getToken(SOQLParser.CATEGORY, 0);
};
Keywords_alias_allowedContext.prototype.DATA = function() {
return this.getToken(SOQLParser.DATA, 0);
};
Keywords_alias_allowedContext.prototype.END = function() {
return this.getToken(SOQLParser.END, 0);
};
Keywords_alias_allowedContext.prototype.OFFSET = function() {
return this.getToken(SOQLParser.OFFSET, 0);
};
Keywords_alias_allowedContext.prototype.ORDER = function() {
return this.getToken(SOQLParser.ORDER, 0);
};
Keywords_alias_allowedContext.prototype.REFERENCE = function() {
return this.getToken(SOQLParser.REFERENCE, 0);
};
Keywords_alias_allowedContext.prototype.SCOPE = function() {
return this.getToken(SOQLParser.SCOPE, 0);
};
Keywords_alias_allowedContext.prototype.TRACKING = function() {
return this.getToken(SOQLParser.TRACKING, 0);
};
Keywords_alias_allowedContext.prototype.THEN = function() {
return this.getToken(SOQLParser.THEN, 0);
};
Keywords_alias_allowedContext.prototype.TYPEOF = function() {
return this.getToken(SOQLParser.TYPEOF, 0);
};
Keywords_alias_allowedContext.prototype.VIEW = function() {
return this.getToken(SOQLParser.VIEW, 0);
};
Keywords_alias_allowedContext.prototype.VIEWSTAT = function() {
return this.getToken(SOQLParser.VIEWSTAT, 0);
};
Keywords_alias_allowedContext.prototype.WHEN = function() {
return this.getToken(SOQLParser.WHEN, 0);
};
Keywords_alias_allowedContext.prototype.enterRule = function(listener) {
if(listener instanceof SOQLListener ) {
listener.enterKeywords_alias_allowed(this);
}
};
Keywords_alias_allowedContext.prototype.exitRule = function(listener) {
if(listener instanceof SOQLListener ) {
listener.exitKeywords_alias_allowed(this);
}
};
SOQLParser.Keywords_alias_allowedContext = Keywords_alias_allowedContext;
SOQLParser.prototype.keywords_alias_allowed = function() {
var localctx = new Keywords_alias_allowedContext(this, this._ctx, this.state);
this.enterRule(localctx, 0, SOQLParser.RULE_keywords_alias_allowed);
var _la = 0; // Token type
try {
this.enterOuterAlt(localctx, 1);
this.state = 174;
_la = this._input.LA(1);
if(!(((((_la - 34)) & ~0x1f) == 0 && ((1 << (_la - 34)) & ((1 << (SOQLParser.ABOVE - 34)) | (1 << (SOQLParser.ABOVE_OR_BELOW - 34)) | (1 << (SOQLParser.AT - 34)) | (1 << (SOQLParser.BELOW - 34)) | (1 << (SOQLParser.CATEGORY - 34)) | (1 << (SOQLParser.DATA - 34)) | (1 << (SOQLParser.END - 34)) | (1 << (SOQLParser.OFFSET - 34)) | (1 << (SOQLParser.ORDER - 34)) | (1 << (SOQLParser.REFERENCE - 34)) | (1 << (SOQLParser.SCOPE - 34)) | (1 << (SOQLParser.TRACKING - 34)) | (1 << (SOQLParser.THEN - 34)) | (1 << (SOQLParser.TYPEOF - 34)) | (1 << (SOQLParser.VIEW - 34)) | (1 << (SOQLParser.VIEWSTAT - 34)) | (1 << (SOQLParser.WHEN - 34)))) !== 0))) {
this._errHandler.recoverInline(this);
}
else {
this._errHandler.reportMatch(this);
this.consume();
}
} catch (re) {
if(re instanceof antlr4.error.RecognitionException) {
localctx.exception = re;
this._errHandler.reportError(this, re);
this._errHandler.recover(this, re);
} else {
throw re;
}
} finally {
this.exitRule();
}
return localctx;
};
function Keywords_name_allowedContext(parser, parent, invokingState) {
if(parent===undefined) {
parent = null;
}
if(invokingState===undefined || invokingState===null) {
invokingState = -1;
}
antlr4.ParserRuleContext.call(this, parent, invokingState);
this.parser = parser;
this.ruleIndex = SOQLParser.RULE_keywords_name_allowed;
return this;
}
Keywords_name_allowedContext.prototype =