module.exports = function grammar(){
copyright: Copyright (c) 2023 Lowell D. Thomas, all rights reserved
license: BSD-2-Clause (https://opensource.org/licenses/BSD-2-Clause)
Generated by apg-js, Version 4.2.1 apg-js
module.exports = function grammar(){
SUMMARY
rules = 446
udts = 0
opcodes = 3299
--- ABNF original opcodes
ALT = 212
CAT = 528
REP = 310
RNM = 1593
TLS = 554
TBS = 94
TRG = 8
--- SABNF superset opcodes
UDT = 0
AND = 0
NOT = 0
BKA = 0
BKN = 0
BKR = 0
ABG = 0
AEN = 0
characters = [9 - 255]
/* OBJECT IDENTIFIER (for internal parser use) */
this.grammarObject = 'grammarObject';
/* RULES */
this.rules = [];
this.rules[0] = {name: 'dummyStartRule', lower: 'dummystartrule', index: 0, isBkr: false};
this.rules[1] = {name: 'odataUri', lower: 'odatauri', index: 1, isBkr: false};
this.rules[2] = {name: 'serviceRoot', lower: 'serviceroot', index: 2, isBkr: false};
this.rules[3] = {name: 'odataRelativeUri', lower: 'odatarelativeuri', index: 3, isBkr: false};
this.rules[4] = {name: 'resourcePath', lower: 'resourcepath', index: 4, isBkr: false};
this.rules[5] = {name: 'collectionNavigation', lower: 'collectionnavigation', index: 5, isBkr: false};
this.rules[6] = {name: 'collectionNavPath', lower: 'collectionnavpath', index: 6, isBkr: false};
this.rules[7] = {name: 'keyPredicate', lower: 'keypredicate', index: 7, isBkr: false};
this.rules[8] = {name: 'simpleKey', lower: 'simplekey', index: 8, isBkr: false};
this.rules[9] = {name: 'compoundKey', lower: 'compoundkey', index: 9, isBkr: false};
this.rules[10] = {name: 'keyValuePair', lower: 'keyvaluepair', index: 10, isBkr: false};
this.rules[11] = {name: 'keyPropertyValue', lower: 'keypropertyvalue', index: 11, isBkr: false};
this.rules[12] = {name: 'keyPropertyAlias', lower: 'keypropertyalias', index: 12, isBkr: false};
this.rules[13] = {name: 'keyPathSegments', lower: 'keypathsegments', index: 13, isBkr: false};
this.rules[14] = {name: 'keyPathLiteral', lower: 'keypathliteral', index: 14, isBkr: false};
this.rules[15] = {name: 'singleNavigation', lower: 'singlenavigation', index: 15, isBkr: false};
this.rules[16] = {name: 'singleNavPath', lower: 'singlenavpath', index: 16, isBkr: false};
this.rules[17] = {name: 'propertyPath', lower: 'propertypath', index: 17, isBkr: false};
this.rules[18] = {name: 'collectionPath', lower: 'collectionpath', index: 18, isBkr: false};
this.rules[19] = {name: 'primitivePath', lower: 'primitivepath', index: 19, isBkr: false};
this.rules[20] = {name: 'complexColPath', lower: 'complexcolpath', index: 20, isBkr: false};
this.rules[21] = {name: 'complexPath', lower: 'complexpath', index: 21, isBkr: false};
this.rules[22] = {name: 'complexNavPath', lower: 'complexnavpath', index: 22, isBkr: false};
this.rules[23] = {name: 'filterInPath', lower: 'filterinpath', index: 23, isBkr: false};
this.rules[24] = {name: 'each', lower: 'each', index: 24, isBkr: false};
this.rules[25] = {name: 'count', lower: 'count', index: 25, isBkr: false};
this.rules[26] = {name: 'ref', lower: 'ref', index: 26, isBkr: false};
this.rules[27] = {name: 'value', lower: 'value', index: 27, isBkr: false};
this.rules[28] = {name: 'querySegment', lower: 'querysegment', index: 28, isBkr: false};
this.rules[29] = {name: 'ordinalIndex', lower: 'ordinalindex', index: 29, isBkr: false};
this.rules[30] = {name: 'boundOperation', lower: 'boundoperation', index: 30, isBkr: false};
this.rules[31] = {name: 'actionImportCall', lower: 'actionimportcall', index: 31, isBkr: false};
this.rules[32] = {name: 'boundActionCall', lower: 'boundactioncall', index: 32, isBkr: false};
this.rules[33] = {name: 'boundEntityFunctionCall', lower: 'boundentityfunctioncall', index: 33, isBkr: false};
this.rules[34] = {name: 'boundEntityColFunctionCall', lower: 'boundentitycolfunctioncall', index: 34, isBkr: false};
this.rules[35] = {name: 'boundComplexFunctionCall', lower: 'boundcomplexfunctioncall', index: 35, isBkr: false};
this.rules[36] = {name: 'boundComplexColFunctionCall', lower: 'boundcomplexcolfunctioncall', index: 36, isBkr: false};
this.rules[37] = {name: 'boundPrimitiveFunctionCall', lower: 'boundprimitivefunctioncall', index: 37, isBkr: false};
this.rules[38] = {name: 'boundPrimitiveColFunctionCall', lower: 'boundprimitivecolfunctioncall', index: 38, isBkr: false};
this.rules[39] = {name: 'boundFunctionCallNoParens', lower: 'boundfunctioncallnoparens', index: 39, isBkr: false};
this.rules[40] = {name: 'entityFunctionImportCall', lower: 'entityfunctionimportcall', index: 40, isBkr: false};
this.rules[41] = {name: 'entityColFunctionImportCall', lower: 'entitycolfunctionimportcall', index: 41, isBkr: false};
this.rules[42] = {name: 'complexFunctionImportCall', lower: 'complexfunctionimportcall', index: 42, isBkr: false};
this.rules[43] = {name: 'complexColFunctionImportCall', lower: 'complexcolfunctionimportcall', index: 43, isBkr: false};
this.rules[44] = {name: 'primitiveFunctionImportCall', lower: 'primitivefunctionimportcall', index: 44, isBkr: false};
this.rules[45] = {name: 'primitiveColFunctionImportCall', lower: 'primitivecolfunctionimportcall', index: 45, isBkr: false};
this.rules[46] = {name: 'functionImportCallNoParens', lower: 'functionimportcallnoparens', index: 46, isBkr: false};
this.rules[47] = {name: 'functionParameters', lower: 'functionparameters', index: 47, isBkr: false};
this.rules[48] = {name: 'functionParameter', lower: 'functionparameter', index: 48, isBkr: false};
this.rules[49] = {name: 'parameterName', lower: 'parametername', index: 49, isBkr: false};
this.rules[50] = {name: 'parameterAlias', lower: 'parameteralias', index: 50, isBkr: false};
this.rules[51] = {name: 'crossjoin', lower: 'crossjoin', index: 51, isBkr: false};
this.rules[52] = {name: 'queryOptions', lower: 'queryoptions', index: 52, isBkr: false};
this.rules[53] = {name: 'queryOption', lower: 'queryoption', index: 53, isBkr: false};
this.rules[54] = {name: 'batchOptions', lower: 'batchoptions', index: 54, isBkr: false};
this.rules[55] = {name: 'batchOption', lower: 'batchoption', index: 55, isBkr: false};
this.rules[56] = {name: 'metadataOptions', lower: 'metadataoptions', index: 56, isBkr: false};
this.rules[57] = {name: 'metadataOption', lower: 'metadataoption', index: 57, isBkr: false};
this.rules[58] = {name: 'entityOptions', lower: 'entityoptions', index: 58, isBkr: false};
this.rules[59] = {name: 'entityIdOption', lower: 'entityidoption', index: 59, isBkr: false};
this.rules[60] = {name: 'entityCastOptions', lower: 'entitycastoptions', index: 60, isBkr: false};
this.rules[61] = {name: 'entityCastOption', lower: 'entitycastoption', index: 61, isBkr: false};
this.rules[62] = {name: 'id', lower: 'id', index: 62, isBkr: false};
this.rules[63] = {name: 'systemQueryOption', lower: 'systemqueryoption', index: 63, isBkr: false};
this.rules[64] = {name: 'compute', lower: 'compute', index: 64, isBkr: false};
this.rules[65] = {name: 'computeItem', lower: 'computeitem', index: 65, isBkr: false};
this.rules[66] = {name: 'computedProperty', lower: 'computedproperty', index: 66, isBkr: false};
this.rules[67] = {name: 'expand', lower: 'expand', index: 67, isBkr: false};
this.rules[68] = {name: 'expandItem', lower: 'expanditem', index: 68, isBkr: false};
this.rules[69] = {name: 'expandPath', lower: 'expandpath', index: 69, isBkr: false};
this.rules[70] = {name: 'expandCountOption', lower: 'expandcountoption', index: 70, isBkr: false};
this.rules[71] = {name: 'expandRefOption', lower: 'expandrefoption', index: 71, isBkr: false};
this.rules[72] = {name: 'expandOption', lower: 'expandoption', index: 72, isBkr: false};
this.rules[73] = {name: 'levels', lower: 'levels', index: 73, isBkr: false};
this.rules[74] = {name: 'filter', lower: 'filter', index: 74, isBkr: false};
this.rules[75] = {name: 'orderby', lower: 'orderby', index: 75, isBkr: false};
this.rules[76] = {name: 'orderbyItem', lower: 'orderbyitem', index: 76, isBkr: false};
this.rules[77] = {name: 'skip', lower: 'skip', index: 77, isBkr: false};
this.rules[78] = {name: 'top', lower: 'top', index: 78, isBkr: false};
this.rules[79] = {name: 'index', lower: 'index', index: 79, isBkr: false};
this.rules[80] = {name: 'format', lower: 'format', index: 80, isBkr: false};
this.rules[81] = {name: 'inlinecount', lower: 'inlinecount', index: 81, isBkr: false};
this.rules[82] = {name: 'schemaversion', lower: 'schemaversion', index: 82, isBkr: false};
this.rules[83] = {name: 'search', lower: 'search', index: 83, isBkr: false};
this.rules[84] = {name: 'searchExpr', lower: 'searchexpr', index: 84, isBkr: false};
this.rules[85] = {name: 'searchParenExpr', lower: 'searchparenexpr', index: 85, isBkr: false};
this.rules[86] = {name: 'searchNegateExpr', lower: 'searchnegateexpr', index: 86, isBkr: false};
this.rules[87] = {name: 'searchOrExpr', lower: 'searchorexpr', index: 87, isBkr: false};
this.rules[88] = {name: 'searchAndExpr', lower: 'searchandexpr', index: 88, isBkr: false};
this.rules[89] = {name: 'searchPhrase', lower: 'searchphrase', index: 89, isBkr: false};
this.rules[90] = {name: 'searchWord', lower: 'searchword', index: 90, isBkr: false};
this.rules[91] = {name: 'searchChar', lower: 'searchchar', index: 91, isBkr: false};
this.rules[92] = {name: 'searchExpr-incomplete', lower: 'searchexpr-incomplete', index: 92, isBkr: false};
this.rules[93] = {name: 'select', lower: 'select', index: 93, isBkr: false};
this.rules[94] = {name: 'selectItem', lower: 'selectitem', index: 94, isBkr: false};
this.rules[95] = {name: 'selectProperty', lower: 'selectproperty', index: 95, isBkr: false};
this.rules[96] = {name: 'selectPath', lower: 'selectpath', index: 96, isBkr: false};
this.rules[97] = {name: 'selectOptionPC', lower: 'selectoptionpc', index: 97, isBkr: false};
this.rules[98] = {name: 'selectOption', lower: 'selectoption', index: 98, isBkr: false};
this.rules[99] = {name: 'allOperationsInSchema', lower: 'alloperationsinschema', index: 99, isBkr: false};
this.rules[100] = {name: 'optionallyQualifiedActionName', lower: 'optionallyqualifiedactionname', index: 100, isBkr: false};
this.rules[101] = {name: 'optionallyQualifiedFunctionName', lower: 'optionallyqualifiedfunctionname', index: 101, isBkr: false};
this.rules[102] = {name: 'parameterNames', lower: 'parameternames', index: 102, isBkr: false};
this.rules[103] = {name: 'deltatoken', lower: 'deltatoken', index: 103, isBkr: false};
this.rules[104] = {name: 'skiptoken', lower: 'skiptoken', index: 104, isBkr: false};
this.rules[105] = {name: 'aliasAndValue', lower: 'aliasandvalue', index: 105, isBkr: false};
this.rules[106] = {name: 'nameAndValue', lower: 'nameandvalue', index: 106, isBkr: false};
this.rules[107] = {name: 'parameterValue', lower: 'parametervalue', index: 107, isBkr: false};
this.rules[108] = {name: 'customQueryOption', lower: 'customqueryoption', index: 108, isBkr: false};
this.rules[109] = {name: 'customName', lower: 'customname', index: 109, isBkr: false};
this.rules[110] = {name: 'customValue', lower: 'customvalue', index: 110, isBkr: false};
this.rules[111] = {name: 'complexAnnotationInQuery', lower: 'complexannotationinquery', index: 111, isBkr: false};
this.rules[112] = {name: 'entityAnnotationInQuery', lower: 'entityannotationinquery', index: 112, isBkr: false};
this.rules[113] = {name: 'primitiveAnnotationInQuery', lower: 'primitiveannotationinquery', index: 113, isBkr: false};
this.rules[114] = {name: 'primitiveColAnnotationInQuery', lower: 'primitivecolannotationinquery', index: 114, isBkr: false};
this.rules[115] = {name: 'context', lower: 'context', index: 115, isBkr: false};
this.rules[116] = {name: 'contextFragment', lower: 'contextfragment', index: 116, isBkr: false};
this.rules[117] = {name: 'entitySet', lower: 'entityset', index: 117, isBkr: false};
this.rules[118] = {name: 'containmentNavigation', lower: 'containmentnavigation', index: 118, isBkr: false};
this.rules[119] = {name: 'navigation', lower: 'navigation', index: 119, isBkr: false};
this.rules[120] = {name: 'selectList', lower: 'selectlist', index: 120, isBkr: false};
this.rules[121] = {name: 'selectListItem', lower: 'selectlistitem', index: 121, isBkr: false};
this.rules[122] = {name: 'selectListProperty', lower: 'selectlistproperty', index: 122, isBkr: false};
this.rules[123] = {name: 'contextPropertyPath', lower: 'contextpropertypath', index: 123, isBkr: false};
this.rules[124] = {name: 'qualifiedActionName', lower: 'qualifiedactionname', index: 124, isBkr: false};
this.rules[125] = {name: 'qualifiedFunctionName', lower: 'qualifiedfunctionname', index: 125, isBkr: false};
this.rules[126] = {name: 'complexAnnotationInFragment', lower: 'complexannotationinfragment', index: 126, isBkr: false};
this.rules[127] = {name: 'entityAnnotationInFragment', lower: 'entityannotationinfragment', index: 127, isBkr: false};
this.rules[128] = {name: 'commonExpr', lower: 'commonexpr', index: 128, isBkr: false};
this.rules[129] = {name: 'boolCommonExpr', lower: 'boolcommonexpr', index: 129, isBkr: false};
this.rules[130] = {name: 'rootExpr', lower: 'rootexpr', index: 130, isBkr: false};
this.rules[131] = {name: 'firstMemberExpr', lower: 'firstmemberexpr', index: 131, isBkr: false};
this.rules[132] = {name: 'memberExpr', lower: 'memberexpr', index: 132, isBkr: false};
this.rules[133] = {name: 'directMemberExpr', lower: 'directmemberexpr', index: 133, isBkr: false};
this.rules[134] = {name: 'propertyPathExpr', lower: 'propertypathexpr', index: 134, isBkr: false};
this.rules[135] = {name: 'annotationExpr', lower: 'annotationexpr', index: 135, isBkr: false};
this.rules[136] = {name: 'annotationInQuery', lower: 'annotationinquery', index: 136, isBkr: false};
this.rules[137] = {name: 'annotationInFragment', lower: 'annotationinfragment', index: 137, isBkr: false};
this.rules[138] = {name: 'annotationQualifier', lower: 'annotationqualifier', index: 138, isBkr: false};
this.rules[139] = {name: 'inscopeVariableExpr', lower: 'inscopevariableexpr', index: 139, isBkr: false};
this.rules[140] = {name: 'implicitVariableExpr', lower: 'implicitvariableexpr', index: 140, isBkr: false};
this.rules[141] = {name: 'lambdaVariableExpr', lower: 'lambdavariableexpr', index: 141, isBkr: false};
this.rules[142] = {name: 'collectionNavigationExpr', lower: 'collectionnavigationexpr', index: 142, isBkr: false};
this.rules[143] = {name: 'singleNavigationExpr', lower: 'singlenavigationexpr', index: 143, isBkr: false};
this.rules[144] = {name: 'filterExpr', lower: 'filterexpr', index: 144, isBkr: false};
this.rules[145] = {name: 'complexColPathExpr', lower: 'complexcolpathexpr', index: 145, isBkr: false};
this.rules[146] = {name: 'collectionPathExpr', lower: 'collectionpathexpr', index: 146, isBkr: false};
this.rules[147] = {name: 'complexPathExpr', lower: 'complexpathexpr', index: 147, isBkr: false};
this.rules[148] = {name: 'primitivePathExpr', lower: 'primitivepathexpr', index: 148, isBkr: false};
this.rules[149] = {name: 'boundFunctionExpr', lower: 'boundfunctionexpr', index: 149, isBkr: false};
this.rules[150] = {name: 'functionExpr', lower: 'functionexpr', index: 150, isBkr: false};
this.rules[151] = {name: 'functionExprParameters', lower: 'functionexprparameters', index: 151, isBkr: false};
this.rules[152] = {name: 'functionExprParameter', lower: 'functionexprparameter', index: 152, isBkr: false};
this.rules[153] = {name: 'anyExpr', lower: 'anyexpr', index: 153, isBkr: false};
this.rules[154] = {name: 'allExpr', lower: 'allexpr', index: 154, isBkr: false};
this.rules[155] = {name: 'lambdaPredicateExpr', lower: 'lambdapredicateexpr', index: 155, isBkr: false};
this.rules[156] = {name: 'methodCallExpr', lower: 'methodcallexpr', index: 156, isBkr: false};
this.rules[157] = {name: 'boolMethodCallExpr', lower: 'boolmethodcallexpr', index: 157, isBkr: false};
this.rules[158] = {name: 'concatMethodCallExpr', lower: 'concatmethodcallexpr', index: 158, isBkr: false};
this.rules[159] = {name: 'containsMethodCallExpr', lower: 'containsmethodcallexpr', index: 159, isBkr: false};
this.rules[160] = {name: 'endsWithMethodCallExpr', lower: 'endswithmethodcallexpr', index: 160, isBkr: false};
this.rules[161] = {name: 'indexOfMethodCallExpr', lower: 'indexofmethodcallexpr', index: 161, isBkr: false};
this.rules[162] = {name: 'lengthMethodCallExpr', lower: 'lengthmethodcallexpr', index: 162, isBkr: false};
this.rules[163] = {name: 'matchesPatternMethodCallExpr', lower: 'matchespatternmethodcallexpr', index: 163, isBkr: false};
this.rules[164] = {name: 'startsWithMethodCallExpr', lower: 'startswithmethodcallexpr', index: 164, isBkr: false};
this.rules[165] = {name: 'substringMethodCallExpr', lower: 'substringmethodcallexpr', index: 165, isBkr: false};
this.rules[166] = {name: 'toLowerMethodCallExpr', lower: 'tolowermethodcallexpr', index: 166, isBkr: false};
this.rules[167] = {name: 'toUpperMethodCallExpr', lower: 'touppermethodcallexpr', index: 167, isBkr: false};
this.rules[168] = {name: 'trimMethodCallExpr', lower: 'trimmethodcallexpr', index: 168, isBkr: false};
this.rules[169] = {name: 'yearMethodCallExpr', lower: 'yearmethodcallexpr', index: 169, isBkr: false};
this.rules[170] = {name: 'monthMethodCallExpr', lower: 'monthmethodcallexpr', index: 170, isBkr: false};
this.rules[171] = {name: 'dayMethodCallExpr', lower: 'daymethodcallexpr', index: 171, isBkr: false};
this.rules[172] = {name: 'hourMethodCallExpr', lower: 'hourmethodcallexpr', index: 172, isBkr: false};
this.rules[173] = {name: 'minuteMethodCallExpr', lower: 'minutemethodcallexpr', index: 173, isBkr: false};
this.rules[174] = {name: 'secondMethodCallExpr', lower: 'secondmethodcallexpr', index: 174, isBkr: false};
this.rules[175] = {name: 'fractionalsecondsMethodCallExpr', lower: 'fractionalsecondsmethodcallexpr', index: 175, isBkr: false};
this.rules[176] = {name: 'totalsecondsMethodCallExpr', lower: 'totalsecondsmethodcallexpr', index: 176, isBkr: false};
this.rules[177] = {name: 'dateMethodCallExpr', lower: 'datemethodcallexpr', index: 177, isBkr: false};
this.rules[178] = {name: 'timeMethodCallExpr', lower: 'timemethodcallexpr', index: 178, isBkr: false};
this.rules[179] = {name: 'totalOffsetMinutesMethodCallExpr', lower: 'totaloffsetminutesmethodcallexpr', index: 179, isBkr: false};
this.rules[180] = {name: 'minDateTimeMethodCallExpr', lower: 'mindatetimemethodcallexpr', index: 180, isBkr: false};
this.rules[181] = {name: 'maxDateTimeMethodCallExpr', lower: 'maxdatetimemethodcallexpr', index: 181, isBkr: false};
this.rules[182] = {name: 'nowMethodCallExpr', lower: 'nowmethodcallexpr', index: 182, isBkr: false};
this.rules[183] = {name: 'roundMethodCallExpr', lower: 'roundmethodcallexpr', index: 183, isBkr: false};
this.rules[184] = {name: 'floorMethodCallExpr', lower: 'floormethodcallexpr', index: 184, isBkr: false};
this.rules[185] = {name: 'ceilingMethodCallExpr', lower: 'ceilingmethodcallexpr', index: 185, isBkr: false};
this.rules[186] = {name: 'distanceMethodCallExpr', lower: 'distancemethodcallexpr', index: 186, isBkr: false};
this.rules[187] = {name: 'geoLengthMethodCallExpr', lower: 'geolengthmethodcallexpr', index: 187, isBkr: false};
this.rules[188] = {name: 'intersectsMethodCallExpr', lower: 'intersectsmethodcallexpr', index: 188, isBkr: false};
this.rules[189] = {name: 'hasSubsetMethodCallExpr', lower: 'hassubsetmethodcallexpr', index: 189, isBkr: false};
this.rules[190] = {name: 'hasSubsequenceMethodCallExpr', lower: 'hassubsequencemethodcallexpr', index: 190, isBkr: false};
this.rules[191] = {name: 'caseMethodCallExpr', lower: 'casemethodcallexpr', index: 191, isBkr: false};
this.rules[192] = {name: 'parenExpr', lower: 'parenexpr', index: 192, isBkr: false};
this.rules[193] = {name: 'listExpr', lower: 'listexpr', index: 193, isBkr: false};
this.rules[194] = {name: 'andExpr', lower: 'andexpr', index: 194, isBkr: false};
this.rules[195] = {name: 'orExpr', lower: 'orexpr', index: 195, isBkr: false};
this.rules[196] = {name: 'eqExpr', lower: 'eqexpr', index: 196, isBkr: false};
this.rules[197] = {name: 'neExpr', lower: 'neexpr', index: 197, isBkr: false};
this.rules[198] = {name: 'ltExpr', lower: 'ltexpr', index: 198, isBkr: false};
this.rules[199] = {name: 'leExpr', lower: 'leexpr', index: 199, isBkr: false};
this.rules[200] = {name: 'gtExpr', lower: 'gtexpr', index: 200, isBkr: false};
this.rules[201] = {name: 'geExpr', lower: 'geexpr', index: 201, isBkr: false};
this.rules[202] = {name: 'inExpr', lower: 'inexpr', index: 202, isBkr: false};
this.rules[203] = {name: 'hasExpr', lower: 'hasexpr', index: 203, isBkr: false};
this.rules[204] = {name: 'addExpr', lower: 'addexpr', index: 204, isBkr: false};
this.rules[205] = {name: 'subExpr', lower: 'subexpr', index: 205, isBkr: false};
this.rules[206] = {name: 'mulExpr', lower: 'mulexpr', index: 206, isBkr: false};
this.rules[207] = {name: 'divExpr', lower: 'divexpr', index: 207, isBkr: false};
this.rules[208] = {name: 'divbyExpr', lower: 'divbyexpr', index: 208, isBkr: false};
this.rules[209] = {name: 'modExpr', lower: 'modexpr', index: 209, isBkr: false};
this.rules[210] = {name: 'negateExpr', lower: 'negateexpr', index: 210, isBkr: false};
this.rules[211] = {name: 'notExpr', lower: 'notexpr', index: 211, isBkr: false};
this.rules[212] = {name: 'isofExpr', lower: 'isofexpr', index: 212, isBkr: false};
this.rules[213] = {name: 'castExpr', lower: 'castexpr', index: 213, isBkr: false};
this.rules[214] = {name: 'arrayOrObject', lower: 'arrayorobject', index: 214, isBkr: false};
this.rules[215] = {name: 'array', lower: 'array', index: 215, isBkr: false};
this.rules[216] = {name: 'object', lower: 'object', index: 216, isBkr: false};
this.rules[217] = {name: 'member', lower: 'member', index: 217, isBkr: false};
this.rules[218] = {name: 'valueInUrl', lower: 'valueinurl', index: 218, isBkr: false};
this.rules[219] = {name: 'begin-object', lower: 'begin-object', index: 219, isBkr: false};
this.rules[220] = {name: 'end-object', lower: 'end-object', index: 220, isBkr: false};
this.rules[221] = {name: 'begin-array', lower: 'begin-array', index: 221, isBkr: false};
this.rules[222] = {name: 'end-array', lower: 'end-array', index: 222, isBkr: false};
this.rules[223] = {name: 'quotation-mark', lower: 'quotation-mark', index: 223, isBkr: false};
this.rules[224] = {name: 'name-separator', lower: 'name-separator', index: 224, isBkr: false};
this.rules[225] = {name: 'value-separator', lower: 'value-separator', index: 225, isBkr: false};
this.rules[226] = {name: 'stringInUrl', lower: 'stringinurl', index: 226, isBkr: false};
this.rules[227] = {name: 'charInJSON', lower: 'charinjson', index: 227, isBkr: false};
this.rules[228] = {name: 'qchar-JSON-special', lower: 'qchar-json-special', index: 228, isBkr: false};
this.rules[229] = {name: 'escape', lower: 'escape', index: 229, isBkr: false};
this.rules[230] = {name: 'qualifiedTypeName', lower: 'qualifiedtypename', index: 230, isBkr: false};
this.rules[231] = {name: 'optionallyQualifiedTypeName', lower: 'optionallyqualifiedtypename', index: 231, isBkr: false};
this.rules[232] = {name: 'singleQualifiedTypeName', lower: 'singlequalifiedtypename', index: 232, isBkr: false};
this.rules[233] = {name: 'singleTypeName', lower: 'singletypename', index: 233, isBkr: false};
this.rules[234] = {name: 'qualifiedEntityTypeName', lower: 'qualifiedentitytypename', index: 234, isBkr: false};
this.rules[235] = {name: 'qualifiedComplexTypeName', lower: 'qualifiedcomplextypename', index: 235, isBkr: false};
this.rules[236] = {name: 'qualifiedTypeDefinitionName', lower: 'qualifiedtypedefinitionname', index: 236, isBkr: false};
this.rules[237] = {name: 'qualifiedEnumTypeName', lower: 'qualifiedenumtypename', index: 237, isBkr: false};
this.rules[238] = {name: 'optionallyQualifiedEntityTypeName', lower: 'optionallyqualifiedentitytypename', index: 238, isBkr: false};
this.rules[239] = {name: 'optionallyQualifiedComplexTypeName', lower: 'optionallyqualifiedcomplextypename', index: 239, isBkr: false};
this.rules[240] = {name: 'namespace', lower: 'namespace', index: 240, isBkr: false};
this.rules[241] = {name: 'namespacePart', lower: 'namespacepart', index: 241, isBkr: false};
this.rules[242] = {name: 'entitySetName', lower: 'entitysetname', index: 242, isBkr: false};
this.rules[243] = {name: 'singletonEntity', lower: 'singletonentity', index: 243, isBkr: false};
this.rules[244] = {name: 'entityTypeName', lower: 'entitytypename', index: 244, isBkr: false};
this.rules[245] = {name: 'complexTypeName', lower: 'complextypename', index: 245, isBkr: false};
this.rules[246] = {name: 'typeDefinitionName', lower: 'typedefinitionname', index: 246, isBkr: false};
this.rules[247] = {name: 'enumerationTypeName', lower: 'enumerationtypename', index: 247, isBkr: false};
this.rules[248] = {name: 'enumerationMember', lower: 'enumerationmember', index: 248, isBkr: false};
this.rules[249] = {name: 'termName', lower: 'termname', index: 249, isBkr: false};
this.rules[250] = {name: 'odataIdentifier', lower: 'odataidentifier', index: 250, isBkr: false};
this.rules[251] = {name: 'identifierLeadingCharacter', lower: 'identifierleadingcharacter', index: 251, isBkr: false};
this.rules[252] = {name: 'identifierCharacter', lower: 'identifiercharacter', index: 252, isBkr: false};
this.rules[253] = {name: 'primitiveTypeName', lower: 'primitivetypename', index: 253, isBkr: false};
this.rules[254] = {name: 'abstractSpatialTypeName', lower: 'abstractspatialtypename', index: 254, isBkr: false};
this.rules[255] = {name: 'concreteSpatialTypeName', lower: 'concretespatialtypename', index: 255, isBkr: false};
this.rules[256] = {name: 'primitiveProperty', lower: 'primitiveproperty', index: 256, isBkr: false};
this.rules[257] = {name: 'primitiveKeyProperty', lower: 'primitivekeyproperty', index: 257, isBkr: false};
this.rules[258] = {name: 'primitiveNonKeyProperty', lower: 'primitivenonkeyproperty', index: 258, isBkr: false};
this.rules[259] = {name: 'primitiveColProperty', lower: 'primitivecolproperty', index: 259, isBkr: false};
this.rules[260] = {name: 'complexProperty', lower: 'complexproperty', index: 260, isBkr: false};
this.rules[261] = {name: 'complexColProperty', lower: 'complexcolproperty', index: 261, isBkr: false};
this.rules[262] = {name: 'streamProperty', lower: 'streamproperty', index: 262, isBkr: false};
this.rules[263] = {name: 'navigationProperty', lower: 'navigationproperty', index: 263, isBkr: false};
this.rules[264] = {name: 'entityNavigationProperty', lower: 'entitynavigationproperty', index: 264, isBkr: false};
this.rules[265] = {name: 'entityColNavigationProperty', lower: 'entitycolnavigationproperty', index: 265, isBkr: false};
this.rules[266] = {name: 'action', lower: 'action', index: 266, isBkr: false};
this.rules[267] = {name: 'actionImport', lower: 'actionimport', index: 267, isBkr: false};
this.rules[268] = {name: 'function', lower: 'function', index: 268, isBkr: false};
this.rules[269] = {name: 'entityFunction', lower: 'entityfunction', index: 269, isBkr: false};
this.rules[270] = {name: 'entityColFunction', lower: 'entitycolfunction', index: 270, isBkr: false};
this.rules[271] = {name: 'complexFunction', lower: 'complexfunction', index: 271, isBkr: false};
this.rules[272] = {name: 'complexColFunction', lower: 'complexcolfunction', index: 272, isBkr: false};
this.rules[273] = {name: 'primitiveFunction', lower: 'primitivefunction', index: 273, isBkr: false};
this.rules[274] = {name: 'primitiveColFunction', lower: 'primitivecolfunction', index: 274, isBkr: false};
this.rules[275] = {name: 'entityFunctionImport', lower: 'entityfunctionimport', index: 275, isBkr: false};
this.rules[276] = {name: 'entityColFunctionImport', lower: 'entitycolfunctionimport', index: 276, isBkr: false};
this.rules[277] = {name: 'complexFunctionImport', lower: 'complexfunctionimport', index: 277, isBkr: false};
this.rules[278] = {name: 'complexColFunctionImport', lower: 'complexcolfunctionimport', index: 278, isBkr: false};
this.rules[279] = {name: 'primitiveFunctionImport', lower: 'primitivefunctionimport', index: 279, isBkr: false};
this.rules[280] = {name: 'primitiveColFunctionImport', lower: 'primitivecolfunctionimport', index: 280, isBkr: false};
this.rules[281] = {name: 'primitiveLiteral', lower: 'primitiveliteral', index: 281, isBkr: false};
this.rules[282] = {name: 'primitiveValue', lower: 'primitivevalue', index: 282, isBkr: false};
this.rules[283] = {name: 'nullValue', lower: 'nullvalue', index: 283, isBkr: false};
this.rules[284] = {name: 'binary', lower: 'binary', index: 284, isBkr: false};
this.rules[285] = {name: 'binaryValue', lower: 'binaryvalue', index: 285, isBkr: false};
this.rules[286] = {name: 'base64b16', lower: 'base64b16', index: 286, isBkr: false};
this.rules[287] = {name: 'base64b8', lower: 'base64b8', index: 287, isBkr: false};
this.rules[288] = {name: 'base64char', lower: 'base64char', index: 288, isBkr: false};
this.rules[289] = {name: 'booleanValue', lower: 'booleanvalue', index: 289, isBkr: false};
this.rules[290] = {name: 'decimalValue', lower: 'decimalvalue', index: 290, isBkr: false};
this.rules[291] = {name: 'doubleValue', lower: 'doublevalue', index: 291, isBkr: false};
this.rules[292] = {name: 'singleValue', lower: 'singlevalue', index: 292, isBkr: false};
this.rules[293] = {name: 'nanInfinity', lower: 'naninfinity', index: 293, isBkr: false};
this.rules[294] = {name: 'guidValue', lower: 'guidvalue', index: 294, isBkr: false};
this.rules[295] = {name: 'byteValue', lower: 'bytevalue', index: 295, isBkr: false};
this.rules[296] = {name: 'sbyteValue', lower: 'sbytevalue', index: 296, isBkr: false};
this.rules[297] = {name: 'int16Value', lower: 'int16value', index: 297, isBkr: false};
this.rules[298] = {name: 'int32Value', lower: 'int32value', index: 298, isBkr: false};
this.rules[299] = {name: 'int64Value', lower: 'int64value', index: 299, isBkr: false};
this.rules[300] = {name: 'string', lower: 'string', index: 300, isBkr: false};
this.rules[301] = {name: 'SQUOTE-in-string', lower: 'squote-in-string', index: 301, isBkr: false};
this.rules[302] = {name: 'dateValue', lower: 'datevalue', index: 302, isBkr: false};
this.rules[303] = {name: 'dateTimeOffsetValue', lower: 'datetimeoffsetvalue', index: 303, isBkr: false};
this.rules[304] = {name: 'dateTimeOffsetValueInUrl', lower: 'datetimeoffsetvalueinurl', index: 304, isBkr: false};
this.rules[305] = {name: 'duration', lower: 'duration', index: 305, isBkr: false};
this.rules[306] = {name: 'durationValue', lower: 'durationvalue', index: 306, isBkr: false};
this.rules[307] = {name: 'timeOfDayValue', lower: 'timeofdayvalue', index: 307, isBkr: false};
this.rules[308] = {name: 'timeOfDayValueInUrl', lower: 'timeofdayvalueinurl', index: 308, isBkr: false};
this.rules[309] = {name: 'oneToNine', lower: 'onetonine', index: 309, isBkr: false};
this.rules[310] = {name: 'zeroToFiftyNine', lower: 'zerotofiftynine', index: 310, isBkr: false};
this.rules[311] = {name: 'year', lower: 'year', index: 311, isBkr: false};
this.rules[312] = {name: 'month', lower: 'month', index: 312, isBkr: false};
this.rules[313] = {name: 'day', lower: 'day', index: 313, isBkr: false};
this.rules[314] = {name: 'hour', lower: 'hour', index: 314, isBkr: false};
this.rules[315] = {name: 'minute', lower: 'minute', index: 315, isBkr: false};
this.rules[316] = {name: 'second', lower: 'second', index: 316, isBkr: false};
this.rules[317] = {name: 'fractionalSeconds', lower: 'fractionalseconds', index: 317, isBkr: false};
this.rules[318] = {name: 'enum', lower: 'enum', index: 318, isBkr: false};
this.rules[319] = {name: 'enumValue', lower: 'enumvalue', index: 319, isBkr: false};
this.rules[320] = {name: 'singleEnumValue', lower: 'singleenumvalue', index: 320, isBkr: false};
this.rules[321] = {name: 'enumMemberValue', lower: 'enummembervalue', index: 321, isBkr: false};
this.rules[322] = {name: 'geographyCollection', lower: 'geographycollection', index: 322, isBkr: false};
this.rules[323] = {name: 'fullCollectionLiteral', lower: 'fullcollectionliteral', index: 323, isBkr: false};
this.rules[324] = {name: 'collectionLiteral', lower: 'collectionliteral', index: 324, isBkr: false};
this.rules[325] = {name: 'geoLiteral', lower: 'geoliteral', index: 325, isBkr: false};
this.rules[326] = {name: 'geographyLineString', lower: 'geographylinestring', index: 326, isBkr: false};
this.rules[327] = {name: 'fullLineStringLiteral', lower: 'fulllinestringliteral', index: 327, isBkr: false};
this.rules[328] = {name: 'lineStringLiteral', lower: 'linestringliteral', index: 328, isBkr: false};
this.rules[329] = {name: 'lineStringData', lower: 'linestringdata', index: 329, isBkr: false};
this.rules[330] = {name: 'geographyMultiLineString', lower: 'geographymultilinestring', index: 330, isBkr: false};
this.rules[331] = {name: 'fullMultiLineStringLiteral', lower: 'fullmultilinestringliteral', index: 331, isBkr: false};
this.rules[332] = {name: 'multiLineStringLiteral', lower: 'multilinestringliteral', index: 332, isBkr: false};
this.rules[333] = {name: 'geographyMultiPoint', lower: 'geographymultipoint', index: 333, isBkr: false};
this.rules[334] = {name: 'fullMultiPointLiteral', lower: 'fullmultipointliteral', index: 334, isBkr: false};
this.rules[335] = {name: 'multiPointLiteral', lower: 'multipointliteral', index: 335, isBkr: false};
this.rules[336] = {name: 'geographyMultiPolygon', lower: 'geographymultipolygon', index: 336, isBkr: false};
this.rules[337] = {name: 'fullMultiPolygonLiteral', lower: 'fullmultipolygonliteral', index: 337, isBkr: false};
this.rules[338] = {name: 'multiPolygonLiteral', lower: 'multipolygonliteral', index: 338, isBkr: false};
this.rules[339] = {name: 'geographyPoint', lower: 'geographypoint', index: 339, isBkr: false};
this.rules[340] = {name: 'fullPointLiteral', lower: 'fullpointliteral', index: 340, isBkr: false};
this.rules[341] = {name: 'sridLiteral', lower: 'sridliteral', index: 341, isBkr: false};
this.rules[342] = {name: 'pointLiteral', lower: 'pointliteral', index: 342, isBkr: false};
this.rules[343] = {name: 'pointData', lower: 'pointdata', index: 343, isBkr: false};
this.rules[344] = {name: 'positionLiteral', lower: 'positionliteral', index: 344, isBkr: false};
this.rules[345] = {name: 'geographyPolygon', lower: 'geographypolygon', index: 345, isBkr: false};
this.rules[346] = {name: 'fullPolygonLiteral', lower: 'fullpolygonliteral', index: 346, isBkr: false};
this.rules[347] = {name: 'polygonLiteral', lower: 'polygonliteral', index: 347, isBkr: false};
this.rules[348] = {name: 'polygonData', lower: 'polygondata', index: 348, isBkr: false};
this.rules[349] = {name: 'ringLiteral', lower: 'ringliteral', index: 349, isBkr: false};
this.rules[350] = {name: 'geometryCollection', lower: 'geometrycollection', index: 350, isBkr: false};
this.rules[351] = {name: 'geometryLineString', lower: 'geometrylinestring', index: 351, isBkr: false};
this.rules[352] = {name: 'geometryMultiLineString', lower: 'geometrymultilinestring', index: 352, isBkr: false};
this.rules[353] = {name: 'geometryMultiPoint', lower: 'geometrymultipoint', index: 353, isBkr: false};
this.rules[354] = {name: 'geometryMultiPolygon', lower: 'geometrymultipolygon', index: 354, isBkr: false};
this.rules[355] = {name: 'geometryPoint', lower: 'geometrypoint', index: 355, isBkr: false};
this.rules[356] = {name: 'geometryPolygon', lower: 'geometrypolygon', index: 356, isBkr: false};
this.rules[357] = {name: 'geographyPrefix', lower: 'geographyprefix', index: 357, isBkr: false};
this.rules[358] = {name: 'geometryPrefix', lower: 'geometryprefix', index: 358, isBkr: false};
this.rules[359] = {name: 'header', lower: 'header', index: 359, isBkr: false};
this.rules[360] = {name: 'content-id', lower: 'content-id', index: 360, isBkr: false};
this.rules[361] = {name: 'isolation', lower: 'isolation', index: 361, isBkr: false};
this.rules[362] = {name: 'request-id', lower: 'request-id', index: 362, isBkr: false};
this.rules[363] = {name: 'odata-entityid', lower: 'odata-entityid', index: 363, isBkr: false};
this.rules[364] = {name: 'odata-error', lower: 'odata-error', index: 364, isBkr: false};
this.rules[365] = {name: 'odata-maxversion', lower: 'odata-maxversion', index: 365, isBkr: false};
this.rules[366] = {name: 'odata-version', lower: 'odata-version', index: 366, isBkr: false};
this.rules[367] = {name: 'prefer', lower: 'prefer', index: 367, isBkr: false};
this.rules[368] = {name: 'preference', lower: 'preference', index: 368, isBkr: false};
this.rules[369] = {name: 'allowEntityReferencesPreference', lower: 'allowentityreferencespreference', index: 369, isBkr: false};
this.rules[370] = {name: 'callbackPreference', lower: 'callbackpreference', index: 370, isBkr: false};
this.rules[371] = {name: 'continueOnErrorPreference', lower: 'continueonerrorpreference', index: 371, isBkr: false};
this.rules[372] = {name: 'includeAnnotationsPreference', lower: 'includeannotationspreference', index: 372, isBkr: false};
this.rules[373] = {name: 'annotationsList', lower: 'annotationslist', index: 373, isBkr: false};
this.rules[374] = {name: 'annotationIdentifier', lower: 'annotationidentifier', index: 374, isBkr: false};
this.rules[375] = {name: 'excludeOperator', lower: 'excludeoperator', index: 375, isBkr: false};
this.rules[376] = {name: 'maxpagesizePreference', lower: 'maxpagesizepreference', index: 376, isBkr: false};
this.rules[377] = {name: 'omitValuesPreference', lower: 'omitvaluespreference', index: 377, isBkr: false};
this.rules[378] = {name: 'respondAsyncPreference', lower: 'respondasyncpreference', index: 378, isBkr: false};
this.rules[379] = {name: 'returnPreference', lower: 'returnpreference', index: 379, isBkr: false};
this.rules[380] = {name: 'trackChangesPreference', lower: 'trackchangespreference', index: 380, isBkr: false};
this.rules[381] = {name: 'waitPreference', lower: 'waitpreference', index: 381, isBkr: false};
this.rules[382] = {name: 'obs-text', lower: 'obs-text', index: 382, isBkr: false};
this.rules[383] = {name: 'OWS', lower: 'ows', index: 383, isBkr: false};
this.rules[384] = {name: 'BWS-h', lower: 'bws-h', index: 384, isBkr: false};
this.rules[385] = {name: 'EQ-h', lower: 'eq-h', index: 385, isBkr: false};
this.rules[386] = {name: 'RWS', lower: 'rws', index: 386, isBkr: false};
this.rules[387] = {name: 'BWS', lower: 'bws', index: 387, isBkr: false};
this.rules[388] = {name: 'AT', lower: 'at', index: 388, isBkr: false};
this.rules[389] = {name: 'COLON', lower: 'colon', index: 389, isBkr: false};
this.rules[390] = {name: 'COMMA', lower: 'comma', index: 390, isBkr: false};
this.rules[391] = {name: 'EQ', lower: 'eq', index: 391, isBkr: false};
this.rules[392] = {name: 'HASH', lower: 'hash', index: 392, isBkr: false};
this.rules[393] = {name: 'SIGN', lower: 'sign', index: 393, isBkr: false};
this.rules[394] = {name: 'SEMI', lower: 'semi', index: 394, isBkr: false};
this.rules[395] = {name: 'STAR', lower: 'star', index: 395, isBkr: false};
this.rules[396] = {name: 'SQUOTE', lower: 'squote', index: 396, isBkr: false};
this.rules[397] = {name: 'OPEN', lower: 'open', index: 397, isBkr: false};
this.rules[398] = {name: 'CLOSE', lower: 'close', index: 398, isBkr: false};
this.rules[399] = {name: 'URI', lower: 'uri', index: 399, isBkr: false};
this.rules[400] = {name: 'hier-part', lower: 'hier-part', index: 400, isBkr: false};
this.rules[401] = {name: 'scheme', lower: 'scheme', index: 401, isBkr: false};
this.rules[402] = {name: 'authority', lower: 'authority', index: 402, isBkr: false};
this.rules[403] = {name: 'userinfo', lower: 'userinfo', index: 403, isBkr: false};
this.rules[404] = {name: 'host', lower: 'host', index: 404, isBkr: false};
this.rules[405] = {name: 'port', lower: 'port', index: 405, isBkr: false};
this.rules[406] = {name: 'IP-literal', lower: 'ip-literal', index: 406, isBkr: false};
this.rules[407] = {name: 'IPvFuture', lower: 'ipvfuture', index: 407, isBkr: false};
this.rules[408] = {name: 'IPv6address', lower: 'ipv6address', index: 408, isBkr: false};
this.rules[409] = {name: 'h16', lower: 'h16', index: 409, isBkr: false};
this.rules[410] = {name: 'ls32', lower: 'ls32', index: 410, isBkr: false};
this.rules[411] = {name: 'IPv4address', lower: 'ipv4address', index: 411, isBkr: false};
this.rules[412] = {name: 'dec-octet', lower: 'dec-octet', index: 412, isBkr: false};
this.rules[413] = {name: 'reg-name', lower: 'reg-name', index: 413, isBkr: false};
this.rules[414] = {name: 'path-abempty', lower: 'path-abempty', index: 414, isBkr: false};
this.rules[415] = {name: 'path-absolute', lower: 'path-absolute', index: 415, isBkr: false};
this.rules[416] = {name: 'path-rootless', lower: 'path-rootless', index: 416, isBkr: false};
this.rules[417] = {name: 'segment', lower: 'segment', index: 417, isBkr: false};
this.rules[418] = {name: 'segment-nz', lower: 'segment-nz', index: 418, isBkr: false};
this.rules[419] = {name: 'pchar', lower: 'pchar', index: 419, isBkr: false};
this.rules[420] = {name: 'query', lower: 'query', index: 420, isBkr: false};
this.rules[421] = {name: 'fragment', lower: 'fragment', index: 421, isBkr: false};
this.rules[422] = {name: 'pct-encoded', lower: 'pct-encoded', index: 422, isBkr: false};
this.rules[423] = {name: 'unreserved', lower: 'unreserved', index: 423, isBkr: false};
this.rules[424] = {name: 'sub-delims', lower: 'sub-delims', index: 424, isBkr: false};
this.rules[425] = {name: 'other-delims', lower: 'other-delims', index: 425, isBkr: false};
this.rules[426] = {name: 'pchar-no-SQUOTE', lower: 'pchar-no-squote', index: 426, isBkr: false};
this.rules[427] = {name: 'pct-encoded-no-SQUOTE', lower: 'pct-encoded-no-squote', index: 427, isBkr: false};
this.rules[428] = {name: 'qchar-no-AMP', lower: 'qchar-no-amp', index: 428, isBkr: false};
this.rules[429] = {name: 'qchar-no-AMP-EQ', lower: 'qchar-no-amp-eq', index: 429, isBkr: false};
this.rules[430] = {name: 'qchar-no-AMP-EQ-AT-DOLLAR', lower: 'qchar-no-amp-eq-at-dollar', index: 430, isBkr: false};
this.rules[431] = {name: 'qchar-no-AMP-SQUOTE', lower: 'qchar-no-amp-squote', index: 431, isBkr: false};
this.rules[432] = {name: 'qchar-no-AMP-DQUOTE', lower: 'qchar-no-amp-dquote', index: 432, isBkr: false};
this.rules[433] = {name: 'qchar-unescaped', lower: 'qchar-unescaped', index: 433, isBkr: false};
this.rules[434] = {name: 'pct-encoded-unescaped', lower: 'pct-encoded-unescaped', index: 434, isBkr: false};
this.rules[435] = {name: 'pct-encoded-no-DQUOTE', lower: 'pct-encoded-no-dquote', index: 435, isBkr: false};
this.rules[436] = {name: 'IRI-in-header', lower: 'iri-in-header', index: 436, isBkr: false};
this.rules[437] = {name: 'IRI-in-query', lower: 'iri-in-query', index: 437, isBkr: false};
this.rules[438] = {name: 'ALPHA', lower: 'alpha', index: 438, isBkr: false};
this.rules[439] = {name: 'DIGIT', lower: 'digit', index: 439, isBkr: false};
this.rules[440] = {name: 'HEXDIG', lower: 'hexdig', index: 440, isBkr: false};
this.rules[441] = {name: 'A-to-F', lower: 'a-to-f', index: 441, isBkr: false};
this.rules[442] = {name: 'DQUOTE', lower: 'dquote', index: 442, isBkr: false};
this.rules[443] = {name: 'SP', lower: 'sp', index: 443, isBkr: false};
this.rules[444] = {name: 'HTAB', lower: 'htab', index: 444, isBkr: false};
this.rules[445] = {name: 'VCHAR', lower: 'vchar', index: 445, isBkr: false};
/* UDTS */
this.udts = [];
/* OPCODES */
/* dummyStartRule */
this.rules[0].opcodes = [];
this.rules[0].opcodes[0] = {type: 1, children: [1,2,3]};// ALT
this.rules[0].opcodes[1] = {type: 4, index: 1};// RNM(odataUri)
this.rules[0].opcodes[2] = {type: 4, index: 359};// RNM(header)
this.rules[0].opcodes[3] = {type: 4, index: 282};// RNM(primitiveValue)
/* odataUri */
this.rules[1].opcodes = [];
this.rules[1].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[1].opcodes[1] = {type: 4, index: 2};// RNM(serviceRoot)
this.rules[1].opcodes[2] = {type: 3, min: 0, max: 1};// REP
this.rules[1].opcodes[3] = {type: 4, index: 3};// RNM(odataRelativeUri)
/* serviceRoot */
this.rules[2].opcodes = [];
this.rules[2].opcodes[0] = {type: 2, children: [1,4,5,6,10,11]};// CAT
this.rules[2].opcodes[1] = {type: 1, children: [2,3]};// ALT
this.rules[2].opcodes[2] = {type: 7, string: [104,116,116,112,115]};// TLS
this.rules[2].opcodes[3] = {type: 7, string: [104,116,116,112]};// TLS
this.rules[2].opcodes[4] = {type: 7, string: [58,47,47]};// TLS
this.rules[2].opcodes[5] = {type: 4, index: 404};// RNM(host)
this.rules[2].opcodes[6] = {type: 3, min: 0, max: 1};// REP
this.rules[2].opcodes[7] = {type: 2, children: [8,9]};// CAT
this.rules[2].opcodes[8] = {type: 7, string: [58]};// TLS
this.rules[2].opcodes[9] = {type: 4, index: 405};// RNM(port)
this.rules[2].opcodes[10] = {type: 7, string: [47]};// TLS
this.rules[2].opcodes[11] = {type: 3, min: 0, max: Infinity};// REP
this.rules[2].opcodes[12] = {type: 2, children: [13,14]};// CAT
this.rules[2].opcodes[13] = {type: 4, index: 418};// RNM(segment-nz)
this.rules[2].opcodes[14] = {type: 7, string: [47]};// TLS
/* odataRelativeUri */
this.rules[3].opcodes = [];
this.rules[3].opcodes[0] = {type: 1, children: [1,7,11,17,25]};// ALT
this.rules[3].opcodes[1] = {type: 2, children: [2,3]};// CAT
this.rules[3].opcodes[2] = {type: 6, string: [36,98,97,116,99,104]};// TBS
this.rules[3].opcodes[3] = {type: 3, min: 0, max: 1};// REP
this.rules[3].opcodes[4] = {type: 2, children: [5,6]};// CAT
this.rules[3].opcodes[5] = {type: 7, string: [63]};// TLS
this.rules[3].opcodes[6] = {type: 4, index: 54};// RNM(batchOptions)
this.rules[3].opcodes[7] = {type: 2, children: [8,9,10]};// CAT
this.rules[3].opcodes[8] = {type: 6, string: [36,101,110,116,105,116,121]};// TBS
this.rules[3].opcodes[9] = {type: 7, string: [63]};// TLS
this.rules[3].opcodes[10] = {type: 4, index: 58};// RNM(entityOptions)
this.rules[3].opcodes[11] = {type: 2, children: [12,13,14,15,16]};// CAT
this.rules[3].opcodes[12] = {type: 6, string: [36,101,110,116,105,116,121]};// TBS
this.rules[3].opcodes[13] = {type: 7, string: [47]};// TLS
this.rules[3].opcodes[14] = {type: 4, index: 238};// RNM(optionallyQualifiedEntityTypeName)
this.rules[3].opcodes[15] = {type: 7, string: [63]};// TLS
this.rules[3].opcodes[16] = {type: 4, index: 60};// RNM(entityCastOptions)
this.rules[3].opcodes[17] = {type: 2, children: [18,19,23]};// CAT
this.rules[3].opcodes[18] = {type: 6, string: [36,109,101,116,97,100,97,116,97]};// TBS
this.rules[3].opcodes[19] = {type: 3, min: 0, max: 1};// REP
this.rules[3].opcodes[20] = {type: 2, children: [21,22]};// CAT
this.rules[3].opcodes[21] = {type: 7, string: [63]};// TLS
this.rules[3].opcodes[22] = {type: 4, index: 56};// RNM(metadataOptions)
this.rules[3].opcodes[23] = {type: 3, min: 0, max: 1};// REP
this.rules[3].opcodes[24] = {type: 4, index: 115};// RNM(context)
this.rules[3].opcodes[25] = {type: 2, children: [26,27]};// CAT
this.rules[3].opcodes[26] = {type: 4, index: 4};// RNM(resourcePath)
this.rules[3].opcodes[27] = {type: 3, min: 0, max: 1};// REP
this.rules[3].opcodes[28] = {type: 2, children: [29,30]};// CAT
this.rules[3].opcodes[29] = {type: 7, string: [63]};// TLS
this.rules[3].opcodes[30] = {type: 4, index: 52};// RNM(queryOptions)
/* resourcePath */
this.rules[4].opcodes = [];
this.rules[4].opcodes[0] = {type: 1, children: [1,5,9,10,14,18,22,26,30,34,38,42]};// ALT
this.rules[4].opcodes[1] = {type: 2, children: [2,3]};// CAT
this.rules[4].opcodes[2] = {type: 4, index: 242};// RNM(entitySetName)
this.rules[4].opcodes[3] = {type: 3, min: 0, max: 1};// REP
this.rules[4].opcodes[4] = {type: 4, index: 5};// RNM(collectionNavigation)
this.rules[4].opcodes[5] = {type: 2, children: [6,7]};// CAT
this.rules[4].opcodes[6] = {type: 4, index: 243};// RNM(singletonEntity)
this.rules[4].opcodes[7] = {type: 3, min: 0, max: 1};// REP
this.rules[4].opcodes[8] = {type: 4, index: 15};// RNM(singleNavigation)
this.rules[4].opcodes[9] = {type: 4, index: 31};// RNM(actionImportCall)
this.rules[4].opcodes[10] = {type: 2, children: [11,12]};// CAT
this.rules[4].opcodes[11] = {type: 4, index: 41};// RNM(entityColFunctionImportCall)
this.rules[4].opcodes[12] = {type: 3, min: 0, max: 1};// REP
this.rules[4].opcodes[13] = {type: 4, index: 5};// RNM(collectionNavigation)
this.rules[4].opcodes[14] = {type: 2, children: [15,16]};// CAT
this.rules[4].opcodes[15] = {type: 4, index: 40};// RNM(entityFunctionImportCall)
this.rules[4].opcodes[16] = {type: 3, min: 0, max: 1};// REP
this.rules[4].opcodes[17] = {type: 4, index: 15};// RNM(singleNavigation)
this.rules[4].opcodes[18] = {type: 2, children: [19,20]};// CAT
this.rules[4].opcodes[19] = {type: 4, index: 43};// RNM(complexColFunctionImportCall)
this.rules[4].opcodes[20] = {type: 3, min: 0, max: 1};// REP
this.rules[4].opcodes[21] = {type: 4, index: 20};// RNM(complexColPath)
this.rules[4].opcodes[22] = {type: 2, children: [23,24]};// CAT
this.rules[4].opcodes[23] = {type: 4, index: 42};// RNM(complexFunctionImportCall)
this.rules[4].opcodes[24] = {type: 3, min: 0, max: 1};// REP
this.rules[4].opcodes[25] = {type: 4, index: 21};// RNM(complexPath)
this.rules[4].opcodes[26] = {type: 2, children: [27,28]};// CAT
this.rules[4].opcodes[27] = {type: 4, index: 45};// RNM(primitiveColFunctionImportCall)
this.rules[4].opcodes[28] = {type: 3, min: 0, max: 1};// REP
this.rules[4].opcodes[29] = {type: 4, index: 18};// RNM(collectionPath)
this.rules[4].opcodes[30] = {type: 2, children: [31,32]};// CAT
this.rules[4].opcodes[31] = {type: 4, index: 44};// RNM(primitiveFunctionImportCall)
this.rules[4].opcodes[32] = {type: 3, min: 0, max: 1};// REP
this.rules[4].opcodes[33] = {type: 4, index: 19};// RNM(primitivePath)
this.rules[4].opcodes[34] = {type: 2, children: [35,36]};// CAT
this.rules[4].opcodes[35] = {type: 4, index: 46};// RNM(functionImportCallNoParens)
this.rules[4].opcodes[36] = {type: 3, min: 0, max: 1};// REP
this.rules[4].opcodes[37] = {type: 4, index: 28};// RNM(querySegment)
this.rules[4].opcodes[38] = {type: 2, children: [39,40]};// CAT
this.rules[4].opcodes[39] = {type: 4, index: 51};// RNM(crossjoin)
this.rules[4].opcodes[40] = {type: 3, min: 0, max: 1};// REP
this.rules[4].opcodes[41] = {type: 4, index: 28};// RNM(querySegment)
this.rules[4].opcodes[42] = {type: 2, children: [43,44]};// CAT
this.rules[4].opcodes[43] = {type: 6, string: [36,97,108,108]};// TBS
this.rules[4].opcodes[44] = {type: 3, min: 0, max: 1};// REP
this.rules[4].opcodes[45] = {type: 2, children: [46,47]};// CAT
this.rules[4].opcodes[46] = {type: 7, string: [47]};// TLS
this.rules[4].opcodes[47] = {type: 4, index: 238};// RNM(optionallyQualifiedEntityTypeName)
/* collectionNavigation */
this.rules[5].opcodes = [];
this.rules[5].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[5].opcodes[1] = {type: 4, index: 6};// RNM(collectionNavPath)
this.rules[5].opcodes[2] = {type: 2, children: [3,4,5]};// CAT
this.rules[5].opcodes[3] = {type: 7, string: [47]};// TLS
this.rules[5].opcodes[4] = {type: 4, index: 238};// RNM(optionallyQualifiedEntityTypeName)
this.rules[5].opcodes[5] = {type: 3, min: 0, max: 1};// REP
this.rules[5].opcodes[6] = {type: 4, index: 6};// RNM(collectionNavPath)
/* collectionNavPath */
this.rules[6].opcodes = [];
this.rules[6].opcodes[0] = {type: 1, children: [1,5,9,13,14,15,16]};// ALT
this.rules[6].opcodes[1] = {type: 2, children: [2,3]};// CAT
this.rules[6].opcodes[2] = {type: 4, index: 7};// RNM(keyPredicate)
this.rules[6].opcodes[3] = {type: 3, min: 0, max: 1};// REP
this.rules[6].opcodes[4] = {type: 4, index: 15};// RNM(singleNavigation)
this.rules[6].opcodes[5] = {type: 2, children: [6,7]};// CAT
this.rules[6].opcodes[6] = {type: 4, index: 23};// RNM(filterInPath)
this.rules[6].opcodes[7] = {type: 3, min: 0, max: 1};// REP
this.rules[6].opcodes[8] = {type: 4, index: 5};// RNM(collectionNavigation)
this.rules[6].opcodes[9] = {type: 2, children: [10,11]};// CAT
this.rules[6].opcodes[10] = {type: 4, index: 24};// RNM(each)
this.rules[6].opcodes[11] = {type: 3, min: 0, max: 1};// REP
this.rules[6].opcodes[12] = {type: 4, index: 30};// RNM(boundOperation)
this.rules[6].opcodes[13] = {type: 4, index: 30};// RNM(boundOperation)
this.rules[6].opcodes[14] = {type: 4, index: 25};// RNM(count)
this.rules[6].opcodes[15] = {type: 4, index: 26};// RNM(ref)
this.rules[6].opcodes[16] = {type: 4, index: 28};// RNM(querySegment)
/* keyPredicate */
this.rules[7].opcodes = [];
this.rules[7].opcodes[0] = {type: 1, children: [1,2,3]};// ALT
this.rules[7].opcodes[1] = {type: 4, index: 8};// RNM(simpleKey)
this.rules[7].opcodes[2] = {type: 4, index: 9};// RNM(compoundKey)
this.rules[7].opcodes[3] = {type: 4, index: 13};// RNM(keyPathSegments)
/* simpleKey */
this.rules[8].opcodes = [];
this.rules[8].opcodes[0] = {type: 2, children: [1,2,5]};// CAT
this.rules[8].opcodes[1] = {type: 4, index: 397};// RNM(OPEN)
this.rules[8].opcodes[2] = {type: 1, children: [3,4]};// ALT
this.rules[8].opcodes[3] = {type: 4, index: 50};// RNM(parameterAlias)
this.rules[8].opcodes[4] = {type: 4, index: 11};// RNM(keyPropertyValue)
this.rules[8].opcodes[5] = {type: 4, index: 398};// RNM(CLOSE)
/* compoundKey */
this.rules[9].opcodes = [];
this.rules[9].opcodes[0] = {type: 2, children: [1,2,3,7]};// CAT
this.rules[9].opcodes[1] = {type: 4, index: 397};// RNM(OPEN)
this.rules[9].opcodes[2] = {type: 4, index: 10};// RNM(keyValuePair)
this.rules[9].opcodes[3] = {type: 3, min: 0, max: Infinity};// REP
this.rules[9].opcodes[4] = {type: 2, children: [5,6]};// CAT
this.rules[9].opcodes[5] = {type: 4, index: 390};// RNM(COMMA)
this.rules[9].opcodes[6] = {type: 4, index: 10};// RNM(keyValuePair)
this.rules[9].opcodes[7] = {type: 4, index: 398};// RNM(CLOSE)
/* keyValuePair */
this.rules[10].opcodes = [];
this.rules[10].opcodes[0] = {type: 2, children: [1,4,5]};// CAT
this.rules[10].opcodes[1] = {type: 1, children: [2,3]};// ALT
this.rules[10].opcodes[2] = {type: 4, index: 257};// RNM(primitiveKeyProperty)
this.rules[10].opcodes[3] = {type: 4, index: 12};// RNM(keyPropertyAlias)
this.rules[10].opcodes[4] = {type: 4, index: 391};// RNM(EQ)
this.rules[10].opcodes[5] = {type: 1, children: [6,7]};// ALT
this.rules[10].opcodes[6] = {type: 4, index: 50};// RNM(parameterAlias)
this.rules[10].opcodes[7] = {type: 4, index: 11};// RNM(keyPropertyValue)
/* keyPropertyValue */
this.rules[11].opcodes = [];
this.rules[11].opcodes[0] = {type: 4, index: 281};// RNM(primitiveLiteral)
/* keyPropertyAlias */
this.rules[12].opcodes = [];
this.rules[12].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* keyPathSegments */
this.rules[13].opcodes = [];
this.rules[13].opcodes[0] = {type: 3, min: 1, max: Infinity};// REP
this.rules[13].opcodes[1] = {type: 2, children: [2,3]};// CAT
this.rules[13].opcodes[2] = {type: 7, string: [47]};// TLS
this.rules[13].opcodes[3] = {type: 4, index: 14};// RNM(keyPathLiteral)
/* keyPathLiteral */
this.rules[14].opcodes = [];
this.rules[14].opcodes[0] = {type: 3, min: 0, max: Infinity};// REP
this.rules[14].opcodes[1] = {type: 4, index: 419};// RNM(pchar)
/* singleNavigation */
this.rules[15].opcodes = [];
this.rules[15].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[15].opcodes[1] = {type: 4, index: 16};// RNM(singleNavPath)
this.rules[15].opcodes[2] = {type: 2, children: [3,4,5]};// CAT
this.rules[15].opcodes[3] = {type: 7, string: [47]};// TLS
this.rules[15].opcodes[4] = {type: 4, index: 238};// RNM(optionallyQualifiedEntityTypeName)
this.rules[15].opcodes[5] = {type: 3, min: 0, max: 1};// REP
this.rules[15].opcodes[6] = {type: 4, index: 16};// RNM(singleNavPath)
/* singleNavPath */
this.rules[16].opcodes = [];
this.rules[16].opcodes[0] = {type: 1, children: [1,4,5,6,7]};// ALT
this.rules[16].opcodes[1] = {type: 2, children: [2,3]};// CAT
this.rules[16].opcodes[2] = {type: 7, string: [47]};// TLS
this.rules[16].opcodes[3] = {type: 4, index: 17};// RNM(propertyPath)
this.rules[16].opcodes[4] = {type: 4, index: 30};// RNM(boundOperation)
this.rules[16].opcodes[5] = {type: 4, index: 26};// RNM(ref)
this.rules[16].opcodes[6] = {type: 4, index: 27};// RNM(value)
this.rules[16].opcodes[7] = {type: 4, index: 28};// RNM(querySegment)
/* propertyPath */
this.rules[17].opcodes = [];
this.rules[17].opcodes[0] = {type: 1, children: [1,5,9,13,17,21,25]};// ALT
this.rules[17].opcodes[1] = {type: 2, children: [2,3]};// CAT
this.rules[17].opcodes[2] = {type: 4, index: 265};// RNM(entityColNavigationProperty)
this.rules[17].opcodes[3] = {type: 3, min: 0, max: 1};// REP
this.rules[17].opcodes[4] = {type: 4, index: 5};// RNM(collectionNavigation)
this.rules[17].opcodes[5] = {type: 2, children: [6,7]};// CAT
this.rules[17].opcodes[6] = {type: 4, index: 264};// RNM(entityNavigationProperty)
this.rules[17].opcodes[7] = {type: 3, min: 0, max: 1};// REP
this.rules[17].opcodes[8] = {type: 4, index: 15};// RNM(singleNavigation)
this.rules[17].opcodes[9] = {type: 2, children: [10,11]};// CAT
this.rules[17].opcodes[10] = {type: 4, index: 261};// RNM(complexColProperty)
this.rules[17].opcodes[11] = {type: 3, min: 0, max: 1};// REP
this.rules[17].opcodes[12] = {type: 4, index: 20};// RNM(complexColPath)
this.rules[17].opcodes[13] = {type: 2, children: [14,15]};// CAT
this.rules[17].opcodes[14] = {type: 4, index: 260};// RNM(complexProperty)
this.rules[17].opcodes[15] = {type: 3, min: 0, max: 1};// REP
this.rules[17].opcodes[16] = {type: 4, index: 21};// RNM(complexPath)
this.rules[17].opcodes[17] = {type: 2, children: [18,19]};// CAT
this.rules[17].opcodes[18] = {type: 4, index: 259};// RNM(primitiveColProperty)
this.rules[17].opcodes[19] = {type: 3, min: 0, max: 1};// REP
this.rules[17].opcodes[20] = {type: 4, index: 18};// RNM(collectionPath)
this.rules[17].opcodes[21] = {type: 2, children: [22,23]};// CAT
this.rules[17].opcodes[22] = {type: 4, index: 256};// RNM(primitiveProperty)
this.rules[17].opcodes[23] = {type: 3, min: 0, max: 1};// REP
this.rules[17].opcodes[24] = {type: 4, index: 19};// RNM(primitivePath)
this.rules[17].opcodes[25] = {type: 2, children: [26,27]};// CAT
this.rules[17].opcodes[26] = {type: 4, index: 262};// RNM(streamProperty)
this.rules[17].opcodes[27] = {type: 3, min: 0, max: 1};// REP
this.rules[17].opcodes[28] = {type: 4, index: 30};// RNM(boundOperation)
/* collectionPath */
this.rules[18].opcodes = [];
this.rules[18].opcodes[0] = {type: 1, children: [1,2,3,4]};// ALT
this.rules[18].opcodes[1] = {type: 4, index: 25};// RNM(count)
this.rules[18].opcodes[2] = {type: 4, index: 30};// RNM(boundOperation)
this.rules[18].opcodes[3] = {type: 4, index: 29};// RNM(ordinalIndex)
this.rules[18].opcodes[4] = {type: 4, index: 28};// RNM(querySegment)
/* primitivePath */
this.rules[19].opcodes = [];
this.rules[19].opcodes[0] = {type: 1, children: [1,2,3]};// ALT
this.rules[19].opcodes[1] = {type: 4, index: 27};// RNM(value)
this.rules[19].opcodes[2] = {type: 4, index: 30};// RNM(boundOperation)
this.rules[19].opcodes[3] = {type: 4, index: 28};// RNM(querySegment)
/* complexColPath */
this.rules[20].opcodes = [];
this.rules[20].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[20].opcodes[1] = {type: 4, index: 18};// RNM(collectionPath)
this.rules[20].opcodes[2] = {type: 2, children: [3,4,5]};// CAT
this.rules[20].opcodes[3] = {type: 7, string: [47]};// TLS
this.rules[20].opcodes[4] = {type: 4, index: 239};// RNM(optionallyQualifiedComplexTypeName)
this.rules[20].opcodes[5] = {type: 3, min: 0, max: 1};// REP
this.rules[20].opcodes[6] = {type: 4, index: 18};// RNM(collectionPath)
/* complexPath */
this.rules[21].opcodes = [];
this.rules[21].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[21].opcodes[1] = {type: 4, index: 22};// RNM(complexNavPath)
this.rules[21].opcodes[2] = {type: 2, children: [3,4,5]};// CAT
this.rules[21].opcodes[3] = {type: 7, string: [47]};// TLS
this.rules[21].opcodes[4] = {type: 4, index: 239};// RNM(optionallyQualifiedComplexTypeName)
this.rules[21].opcodes[5] = {type: 3, min: 0, max: 1};// REP
this.rules[21].opcodes[6] = {type: 4, index: 22};// RNM(complexNavPath)
/* complexNavPath */
this.rules[22].opcodes = [];
this.rules[22].opcodes[0] = {type: 1, children: [1,4,5]};// ALT
this.rules[22].opcodes[1] = {type: 2, children: [2,3]};// CAT
this.rules[22].opcodes[2] = {type: 7, string: [47]};// TLS
this.rules[22].opcodes[3] = {type: 4, index: 17};// RNM(propertyPath)
this.rules[22].opcodes[4] = {type: 4, index: 30};// RNM(boundOperation)
this.rules[22].opcodes[5] = {type: 4, index: 28};// RNM(querySegment)
/* filterInPath */
this.rules[23].opcodes = [];
this.rules[23].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[23].opcodes[1] = {type: 6, string: [47,36,102,105,108,116,101,114]};// TBS
this.rules[23].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[23].opcodes[3] = {type: 4, index: 129};// RNM(boolCommonExpr)
this.rules[23].opcodes[4] = {type: 4, index: 398};// RNM(CLOSE)
/* each */
this.rules[24].opcodes = [];
this.rules[24].opcodes[0] = {type: 6, string: [47,36,101,97,99,104]};// TBS
/* count */
this.rules[25].opcodes = [];
this.rules[25].opcodes[0] = {type: 6, string: [47,36,99,111,117,110,116]};// TBS
/* ref */
this.rules[26].opcodes = [];
this.rules[26].opcodes[0] = {type: 6, string: [47,36,114,101,102]};// TBS
/* value */
this.rules[27].opcodes = [];
this.rules[27].opcodes[0] = {type: 6, string: [47,36,118,97,108,117,101]};// TBS
/* querySegment */
this.rules[28].opcodes = [];
this.rules[28].opcodes[0] = {type: 6, string: [47,36,113,117,101,114,121]};// TBS
/* ordinalIndex */
this.rules[29].opcodes = [];
this.rules[29].opcodes[0] = {type: 2, children: [1,2,4]};// CAT
this.rules[29].opcodes[1] = {type: 7, string: [47]};// TLS
this.rules[29].opcodes[2] = {type: 3, min: 0, max: 1};// REP
this.rules[29].opcodes[3] = {type: 7, string: [45]};// TLS
this.rules[29].opcodes[4] = {type: 3, min: 1, max: Infinity};// REP
this.rules[29].opcodes[5] = {type: 4, index: 439};// RNM(DIGIT)
/* boundOperation */
this.rules[30].opcodes = [];
this.rules[30].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[30].opcodes[1] = {type: 7, string: [47]};// TLS
this.rules[30].opcodes[2] = {type: 1, children: [3,4,8,12,16,20,24,28]};// ALT
this.rules[30].opcodes[3] = {type: 4, index: 32};// RNM(boundActionCall)
this.rules[30].opcodes[4] = {type: 2, children: [5,6]};// CAT
this.rules[30].opcodes[5] = {type: 4, index: 34};// RNM(boundEntityColFunctionCall)
this.rules[30].opcodes[6] = {type: 3, min: 0, max: 1};// REP
this.rules[30].opcodes[7] = {type: 4, index: 5};// RNM(collectionNavigation)
this.rules[30].opcodes[8] = {type: 2, children: [9,10]};// CAT
this.rules[30].opcodes[9] = {type: 4, index: 33};// RNM(boundEntityFunctionCall)
this.rules[30].opcodes[10] = {type: 3, min: 0, max: 1};// REP
this.rules[30].opcodes[11] = {type: 4, index: 15};// RNM(singleNavigation)
this.rules[30].opcodes[12] = {type: 2, children: [13,14]};// CAT
this.rules[30].opcodes[13] = {type: 4, index: 36};// RNM(boundComplexColFunctionCall)
this.rules[30].opcodes[14] = {type: 3, min: 0, max: 1};// REP
this.rules[30].opcodes[15] = {type: 4, index: 20};// RNM(complexColPath)
this.rules[30].opcodes[16] = {type: 2, children: [17,18]};// CAT
this.rules[30].opcodes[17] = {type: 4, index: 35};// RNM(boundComplexFunctionCall)
this.rules[30].opcodes[18] = {type: 3, min: 0, max: 1};// REP
this.rules[30].opcodes[19] = {type: 4, index: 21};// RNM(complexPath)
this.rules[30].opcodes[20] = {type: 2, children: [21,22]};// CAT
this.rules[30].opcodes[21] = {type: 4, index: 38};// RNM(boundPrimitiveColFunctionCall)
this.rules[30].opcodes[22] = {type: 3, min: 0, max: 1};// REP
this.rules[30].opcodes[23] = {type: 4, index: 18};// RNM(collectionPath)
this.rules[30].opcodes[24] = {type: 2, children: [25,26]};// CAT
this.rules[30].opcodes[25] = {type: 4, index: 37};// RNM(boundPrimitiveFunctionCall)
this.rules[30].opcodes[26] = {type: 3, min: 0, max: 1};// REP
this.rules[30].opcodes[27] = {type: 4, index: 19};// RNM(primitivePath)
this.rules[30].opcodes[28] = {type: 2, children: [29,30]};// CAT
this.rules[30].opcodes[29] = {type: 4, index: 39};// RNM(boundFunctionCallNoParens)
this.rules[30].opcodes[30] = {type: 3, min: 0, max: 1};// REP
this.rules[30].opcodes[31] = {type: 4, index: 28};// RNM(querySegment)
/* actionImportCall */
this.rules[31].opcodes = [];
this.rules[31].opcodes[0] = {type: 4, index: 267};// RNM(actionImport)
/* boundActionCall */
this.rules[32].opcodes = [];
this.rules[32].opcodes[0] = {type: 2, children: [1,5]};// CAT
this.rules[32].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[32].opcodes[2] = {type: 2, children: [3,4]};// CAT
this.rules[32].opcodes[3] = {type: 4, index: 240};// RNM(namespace)
this.rules[32].opcodes[4] = {type: 7, string: [46]};// TLS
this.rules[32].opcodes[5] = {type: 4, index: 266};// RNM(action)
/* boundEntityFunctionCall */
this.rules[33].opcodes = [];
this.rules[33].opcodes[0] = {type: 2, children: [1,5,6]};// CAT
this.rules[33].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[33].opcodes[2] = {type: 2, children: [3,4]};// CAT
this.rules[33].opcodes[3] = {type: 4, index: 240};// RNM(namespace)
this.rules[33].opcodes[4] = {type: 7, string: [46]};// TLS
this.rules[33].opcodes[5] = {type: 4, index: 269};// RNM(entityFunction)
this.rules[33].opcodes[6] = {type: 4, index: 47};// RNM(functionParameters)
/* boundEntityColFunctionCall */
this.rules[34].opcodes = [];
this.rules[34].opcodes[0] = {type: 2, children: [1,5,6]};// CAT
this.rules[34].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[34].opcodes[2] = {type: 2, children: [3,4]};// CAT
this.rules[34].opcodes[3] = {type: 4, index: 240};// RNM(namespace)
this.rules[34].opcodes[4] = {type: 7, string: [46]};// TLS
this.rules[34].opcodes[5] = {type: 4, index: 270};// RNM(entityColFunction)
this.rules[34].opcodes[6] = {type: 4, index: 47};// RNM(functionParameters)
/* boundComplexFunctionCall */
this.rules[35].opcodes = [];
this.rules[35].opcodes[0] = {type: 2, children: [1,5,6]};// CAT
this.rules[35].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[35].opcodes[2] = {type: 2, children: [3,4]};// CAT
this.rules[35].opcodes[3] = {type: 4, index: 240};// RNM(namespace)
this.rules[35].opcodes[4] = {type: 7, string: [46]};// TLS
this.rules[35].opcodes[5] = {type: 4, index: 271};// RNM(complexFunction)
this.rules[35].opcodes[6] = {type: 4, index: 47};// RNM(functionParameters)
/* boundComplexColFunctionCall */
this.rules[36].opcodes = [];
this.rules[36].opcodes[0] = {type: 2, children: [1,5,6]};// CAT
this.rules[36].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[36].opcodes[2] = {type: 2, children: [3,4]};// CAT
this.rules[36].opcodes[3] = {type: 4, index: 240};// RNM(namespace)
this.rules[36].opcodes[4] = {type: 7, string: [46]};// TLS
this.rules[36].opcodes[5] = {type: 4, index: 272};// RNM(complexColFunction)
this.rules[36].opcodes[6] = {type: 4, index: 47};// RNM(functionParameters)
/* boundPrimitiveFunctionCall */
this.rules[37].opcodes = [];
this.rules[37].opcodes[0] = {type: 2, children: [1,5,6]};// CAT
this.rules[37].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[37].opcodes[2] = {type: 2, children: [3,4]};// CAT
this.rules[37].opcodes[3] = {type: 4, index: 240};// RNM(namespace)
this.rules[37].opcodes[4] = {type: 7, string: [46]};// TLS
this.rules[37].opcodes[5] = {type: 4, index: 273};// RNM(primitiveFunction)
this.rules[37].opcodes[6] = {type: 4, index: 47};// RNM(functionParameters)
/* boundPrimitiveColFunctionCall */
this.rules[38].opcodes = [];
this.rules[38].opcodes[0] = {type: 2, children: [1,5,6]};// CAT
this.rules[38].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[38].opcodes[2] = {type: 2, children: [3,4]};// CAT
this.rules[38].opcodes[3] = {type: 4, index: 240};// RNM(namespace)
this.rules[38].opcodes[4] = {type: 7, string: [46]};// TLS
this.rules[38].opcodes[5] = {type: 4, index: 274};// RNM(primitiveColFunction)
this.rules[38].opcodes[6] = {type: 4, index: 47};// RNM(functionParameters)
/* boundFunctionCallNoParens */
this.rules[39].opcodes = [];
this.rules[39].opcodes[0] = {type: 1, children: [1,7,13,19,25,31]};// ALT
this.rules[39].opcodes[1] = {type: 2, children: [2,6]};// CAT
this.rules[39].opcodes[2] = {type: 3, min: 0, max: 1};// REP
this.rules[39].opcodes[3] = {type: 2, children: [4,5]};// CAT
this.rules[39].opcodes[4] = {type: 4, index: 240};// RNM(namespace)
this.rules[39].opcodes[5] = {type: 7, string: [46]};// TLS
this.rules[39].opcodes[6] = {type: 4, index: 269};// RNM(entityFunction)
this.rules[39].opcodes[7] = {type: 2, children: [8,12]};// CAT
this.rules[39].opcodes[8] = {type: 3, min: 0, max: 1};// REP
this.rules[39].opcodes[9] = {type: 2, children: [10,11]};// CAT
this.rules[39].opcodes[10] = {type: 4, index: 240};// RNM(namespace)
this.rules[39].opcodes[11] = {type: 7, string: [46]};// TLS
this.rules[39].opcodes[12] = {type: 4, index: 270};// RNM(entityColFunction)
this.rules[39].opcodes[13] = {type: 2, children: [14,18]};// CAT
this.rules[39].opcodes[14] = {type: 3, min: 0, max: 1};// REP
this.rules[39].opcodes[15] = {type: 2, children: [16,17]};// CAT
this.rules[39].opcodes[16] = {type: 4, index: 240};// RNM(namespace)
this.rules[39].opcodes[17] = {type: 7, string: [46]};// TLS
this.rules[39].opcodes[18] = {type: 4, index: 271};// RNM(complexFunction)
this.rules[39].opcodes[19] = {type: 2, children: [20,24]};// CAT
this.rules[39].opcodes[20] = {type: 3, min: 0, max: 1};// REP
this.rules[39].opcodes[21] = {type: 2, children: [22,23]};// CAT
this.rules[39].opcodes[22] = {type: 4, index: 240};// RNM(namespace)
this.rules[39].opcodes[23] = {type: 7, string: [46]};// TLS
this.rules[39].opcodes[24] = {type: 4, index: 272};// RNM(complexColFunction)
this.rules[39].opcodes[25] = {type: 2, children: [26,30]};// CAT
this.rules[39].opcodes[26] = {type: 3, min: 0, max: 1};// REP
this.rules[39].opcodes[27] = {type: 2, children: [28,29]};// CAT
this.rules[39].opcodes[28] = {type: 4, index: 240};// RNM(namespace)
this.rules[39].opcodes[29] = {type: 7, string: [46]};// TLS
this.rules[39].opcodes[30] = {type: 4, index: 273};// RNM(primitiveFunction)
this.rules[39].opcodes[31] = {type: 2, children: [32,36]};// CAT
this.rules[39].opcodes[32] = {type: 3, min: 0, max: 1};// REP
this.rules[39].opcodes[33] = {type: 2, children: [34,35]};// CAT
this.rules[39].opcodes[34] = {type: 4, index: 240};// RNM(namespace)
this.rules[39].opcodes[35] = {type: 7, string: [46]};// TLS
this.rules[39].opcodes[36] = {type: 4, index: 274};// RNM(primitiveColFunction)
/* entityFunctionImportCall */
this.rules[40].opcodes = [];
this.rules[40].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[40].opcodes[1] = {type: 4, index: 275};// RNM(entityFunctionImport)
this.rules[40].opcodes[2] = {type: 4, index: 47};// RNM(functionParameters)
/* entityColFunctionImportCall */
this.rules[41].opcodes = [];
this.rules[41].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[41].opcodes[1] = {type: 4, index: 276};// RNM(entityColFunctionImport)
this.rules[41].opcodes[2] = {type: 4, index: 47};// RNM(functionParameters)
/* complexFunctionImportCall */
this.rules[42].opcodes = [];
this.rules[42].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[42].opcodes[1] = {type: 4, index: 277};// RNM(complexFunctionImport)
this.rules[42].opcodes[2] = {type: 4, index: 47};// RNM(functionParameters)
/* complexColFunctionImportCall */
this.rules[43].opcodes = [];
this.rules[43].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[43].opcodes[1] = {type: 4, index: 278};// RNM(complexColFunctionImport)
this.rules[43].opcodes[2] = {type: 4, index: 47};// RNM(functionParameters)
/* primitiveFunctionImportCall */
this.rules[44].opcodes = [];
this.rules[44].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[44].opcodes[1] = {type: 4, index: 279};// RNM(primitiveFunctionImport)
this.rules[44].opcodes[2] = {type: 4, index: 47};// RNM(functionParameters)
/* primitiveColFunctionImportCall */
this.rules[45].opcodes = [];
this.rules[45].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[45].opcodes[1] = {type: 4, index: 280};// RNM(primitiveColFunctionImport)
this.rules[45].opcodes[2] = {type: 4, index: 47};// RNM(functionParameters)
/* functionImportCallNoParens */
this.rules[46].opcodes = [];
this.rules[46].opcodes[0] = {type: 1, children: [1,2,3,4,5,6]};// ALT
this.rules[46].opcodes[1] = {type: 4, index: 275};// RNM(entityFunctionImport)
this.rules[46].opcodes[2] = {type: 4, index: 276};// RNM(entityColFunctionImport)
this.rules[46].opcodes[3] = {type: 4, index: 277};// RNM(complexFunctionImport)
this.rules[46].opcodes[4] = {type: 4, index: 278};// RNM(complexColFunctionImport)
this.rules[46].opcodes[5] = {type: 4, index: 279};// RNM(primitiveFunctionImport)
this.rules[46].opcodes[6] = {type: 4, index: 280};// RNM(primitiveColFunctionImport)
/* functionParameters */
this.rules[47].opcodes = [];
this.rules[47].opcodes[0] = {type: 2, children: [1,2,9]};// CAT
this.rules[47].opcodes[1] = {type: 4, index: 397};// RNM(OPEN)
this.rules[47].opcodes[2] = {type: 3, min: 0, max: 1};// REP
this.rules[47].opcodes[3] = {type: 2, children: [4,5]};// CAT
this.rules[47].opcodes[4] = {type: 4, index: 48};// RNM(functionParameter)
this.rules[47].opcodes[5] = {type: 3, min: 0, max: Infinity};// REP
this.rules[47].opcodes[6] = {type: 2, children: [7,8]};// CAT
this.rules[47].opcodes[7] = {type: 4, index: 390};// RNM(COMMA)
this.rules[47].opcodes[8] = {type: 4, index: 48};// RNM(functionParameter)
this.rules[47].opcodes[9] = {type: 4, index: 398};// RNM(CLOSE)
/* functionParameter */
this.rules[48].opcodes = [];
this.rules[48].opcodes[0] = {type: 2, children: [1,2,3]};// CAT
this.rules[48].opcodes[1] = {type: 4, index: 49};// RNM(parameterName)
this.rules[48].opcodes[2] = {type: 4, index: 391};// RNM(EQ)
this.rules[48].opcodes[3] = {type: 1, children: [4,5]};// ALT
this.rules[48].opcodes[4] = {type: 4, index: 50};// RNM(parameterAlias)
this.rules[48].opcodes[5] = {type: 4, index: 281};// RNM(primitiveLiteral)
/* parameterName */
this.rules[49].opcodes = [];
this.rules[49].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* parameterAlias */
this.rules[50].opcodes = [];
this.rules[50].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[50].opcodes[1] = {type: 4, index: 388};// RNM(AT)
this.rules[50].opcodes[2] = {type: 4, index: 250};// RNM(odataIdentifier)
/* crossjoin */
this.rules[51].opcodes = [];
this.rules[51].opcodes[0] = {type: 2, children: [1,2,3,4,8]};// CAT
this.rules[51].opcodes[1] = {type: 6, string: [36,99,114,111,115,115,106,111,105,110]};// TBS
this.rules[51].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[51].opcodes[3] = {type: 4, index: 242};// RNM(entitySetName)
this.rules[51].opcodes[4] = {type: 3, min: 0, max: Infinity};// REP
this.rules[51].opcodes[5] = {type: 2, children: [6,7]};// CAT
this.rules[51].opcodes[6] = {type: 4, index: 390};// RNM(COMMA)
this.rules[51].opcodes[7] = {type: 4, index: 242};// RNM(entitySetName)
this.rules[51].opcodes[8] = {type: 4, index: 398};// RNM(CLOSE)
/* queryOptions */
this.rules[52].opcodes = [];
this.rules[52].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[52].opcodes[1] = {type: 4, index: 53};// RNM(queryOption)
this.rules[52].opcodes[2] = {type: 3, min: 0, max: Infinity};// REP
this.rules[52].opcodes[3] = {type: 2, children: [4,5]};// CAT
this.rules[52].opcodes[4] = {type: 7, string: [38]};// TLS
this.rules[52].opcodes[5] = {type: 4, index: 53};// RNM(queryOption)
/* queryOption */
this.rules[53].opcodes = [];
this.rules[53].opcodes[0] = {type: 1, children: [1,2,3,4]};// ALT
this.rules[53].opcodes[1] = {type: 4, index: 63};// RNM(systemQueryOption)
this.rules[53].opcodes[2] = {type: 4, index: 105};// RNM(aliasAndValue)
this.rules[53].opcodes[3] = {type: 4, index: 106};// RNM(nameAndValue)
this.rules[53].opcodes[4] = {type: 4, index: 108};// RNM(customQueryOption)
/* batchOptions */
this.rules[54].opcodes = [];
this.rules[54].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[54].opcodes[1] = {type: 4, index: 55};// RNM(batchOption)
this.rules[54].opcodes[2] = {type: 3, min: 0, max: Infinity};// REP
this.rules[54].opcodes[3] = {type: 2, children: [4,5]};// CAT
this.rules[54].opcodes[4] = {type: 7, string: [38]};// TLS
this.rules[54].opcodes[5] = {type: 4, index: 55};// RNM(batchOption)
/* batchOption */
this.rules[55].opcodes = [];
this.rules[55].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[55].opcodes[1] = {type: 4, index: 80};// RNM(format)
this.rules[55].opcodes[2] = {type: 4, index: 108};// RNM(customQueryOption)
/* metadataOptions */
this.rules[56].opcodes = [];
this.rules[56].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[56].opcodes[1] = {type: 4, index: 57};// RNM(metadataOption)
this.rules[56].opcodes[2] = {type: 3, min: 0, max: Infinity};// REP
this.rules[56].opcodes[3] = {type: 2, children: [4,5]};// CAT
this.rules[56].opcodes[4] = {type: 7, string: [38]};// TLS
this.rules[56].opcodes[5] = {type: 4, index: 57};// RNM(metadataOption)
/* metadataOption */
this.rules[57].opcodes = [];
this.rules[57].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[57].opcodes[1] = {type: 4, index: 80};// RNM(format)
this.rules[57].opcodes[2] = {type: 4, index: 108};// RNM(customQueryOption)
/* entityOptions */
this.rules[58].opcodes = [];
this.rules[58].opcodes[0] = {type: 2, children: [1,5,6]};// CAT
this.rules[58].opcodes[1] = {type: 3, min: 0, max: Infinity};// REP
this.rules[58].opcodes[2] = {type: 2, children: [3,4]};// CAT
this.rules[58].opcodes[3] = {type: 4, index: 59};// RNM(entityIdOption)
this.rules[58].opcodes[4] = {type: 7, string: [38]};// TLS
this.rules[58].opcodes[5] = {type: 4, index: 62};// RNM(id)
this.rules[58].opcodes[6] = {type: 3, min: 0, max: Infinity};// REP
this.rules[58].opcodes[7] = {type: 2, children: [8,9]};// CAT
this.rules[58].opcodes[8] = {type: 7, string: [38]};// TLS
this.rules[58].opcodes[9] = {type: 4, index: 59};// RNM(entityIdOption)
/* entityIdOption */
this.rules[59].opcodes = [];
this.rules[59].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[59].opcodes[1] = {type: 4, index: 80};// RNM(format)
this.rules[59].opcodes[2] = {type: 4, index: 108};// RNM(customQueryOption)
/* entityCastOptions */
this.rules[60].opcodes = [];
this.rules[60].opcodes[0] = {type: 2, children: [1,5,6]};// CAT
this.rules[60].opcodes[1] = {type: 3, min: 0, max: Infinity};// REP
this.rules[60].opcodes[2] = {type: 2, children: [3,4]};// CAT
this.rules[60].opcodes[3] = {type: 4, index: 61};// RNM(entityCastOption)
this.rules[60].opcodes[4] = {type: 7, string: [38]};// TLS
this.rules[60].opcodes[5] = {type: 4, index: 62};// RNM(id)
this.rules[60].opcodes[6] = {type: 3, min: 0, max: Infinity};// REP
this.rules[60].opcodes[7] = {type: 2, children: [8,9]};// CAT
this.rules[60].opcodes[8] = {type: 7, string: [38]};// TLS
this.rules[60].opcodes[9] = {type: 4, index: 61};// RNM(entityCastOption)
/* entityCastOption */
this.rules[61].opcodes = [];
this.rules[61].opcodes[0] = {type: 1, children: [1,2,3]};// ALT
this.rules[61].opcodes[1] = {type: 4, index: 59};// RNM(entityIdOption)
this.rules[61].opcodes[2] = {type: 4, index: 67};// RNM(expand)
this.rules[61].opcodes[3] = {type: 4, index: 93};// RNM(select)
/* id */
this.rules[62].opcodes = [];
this.rules[62].opcodes[0] = {type: 2, children: [1,4,5]};// CAT
this.rules[62].opcodes[1] = {type: 1, children: [2,3]};// ALT
this.rules[62].opcodes[2] = {type: 7, string: [36,105,100]};// TLS
this.rules[62].opcodes[3] = {type: 7, string: [105,100]};// TLS
this.rules[62].opcodes[4] = {type: 4, index: 391};// RNM(EQ)
this.rules[62].opcodes[5] = {type: 4, index: 437};// RNM(IRI-in-query)
/* systemQueryOption */
this.rules[63].opcodes = [];
this.rules[63].opcodes[0] = {type: 1, children: [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]};// ALT
this.rules[63].opcodes[1] = {type: 4, index: 64};// RNM(compute)
this.rules[63].opcodes[2] = {type: 4, index: 103};// RNM(deltatoken)
this.rules[63].opcodes[3] = {type: 4, index: 67};// RNM(expand)
this.rules[63].opcodes[4] = {type: 4, index: 74};// RNM(filter)
this.rules[63].opcodes[5] = {type: 4, index: 80};// RNM(format)
this.rules[63].opcodes[6] = {type: 4, index: 62};// RNM(id)
this.rules[63].opcodes[7] = {type: 4, index: 81};// RNM(inlinecount)
this.rules[63].opcodes[8] = {type: 4, index: 75};// RNM(orderby)
this.rules[63].opcodes[9] = {type: 4, index: 82};// RNM(schemaversion)
this.rules[63].opcodes[10] = {type: 4, index: 83};// RNM(search)
this.rules[63].opcodes[11] = {type: 4, index: 93};// RNM(select)
this.rules[63].opcodes[12] = {type: 4, index: 77};// RNM(skip)
this.rules[63].opcodes[13] = {type: 4, index: 104};// RNM(skiptoken)
this.rules[63].opcodes[14] = {type: 4, index: 78};// RNM(top)
this.rules[63].opcodes[15] = {type: 4, index: 79};// RNM(index)
/* compute */
this.rules[64].opcodes = [];
this.rules[64].opcodes[0] = {type: 2, children: [1,4,5,6]};// CAT
this.rules[64].opcodes[1] = {type: 1, children: [2,3]};// ALT
this.rules[64].opcodes[2] = {type: 7, string: [36,99,111,109,112,117,116,101]};// TLS
this.rules[64].opcodes[3] = {type: 7, string: [99,111,109,112,117,116,101]};// TLS
this.rules[64].opcodes[4] = {type: 4, index: 391};// RNM(EQ)
this.rules[64].opcodes[5] = {type: 4, index: 65};// RNM(computeItem)
this.rules[64].opcodes[6] = {type: 3, min: 0, max: Infinity};// REP
this.rules[64].opcodes[7] = {type: 2, children: [8,9]};// CAT
this.rules[64].opcodes[8] = {type: 4, index: 390};// RNM(COMMA)
this.rules[64].opcodes[9] = {type: 4, index: 65};// RNM(computeItem)
/* computeItem */
this.rules[65].opcodes = [];
this.rules[65].opcodes[0] = {type: 2, children: [1,2,3,4,5]};// CAT
this.rules[65].opcodes[1] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[65].opcodes[2] = {type: 4, index: 386};// RNM(RWS)
this.rules[65].opcodes[3] = {type: 7, string: [97,115]};// TLS
this.rules[65].opcodes[4] = {type: 4, index: 386};// RNM(RWS)
this.rules[65].opcodes[5] = {type: 4, index: 66};// RNM(computedProperty)
/* computedProperty */
this.rules[66].opcodes = [];
this.rules[66].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* expand */
this.rules[67].opcodes = [];
this.rules[67].opcodes[0] = {type: 2, children: [1,4,5,6]};// CAT
this.rules[67].opcodes[1] = {type: 1, children: [2,3]};// ALT
this.rules[67].opcodes[2] = {type: 7, string: [36,101,120,112,97,110,100]};// TLS
this.rules[67].opcodes[3] = {type: 7, string: [101,120,112,97,110,100]};// TLS
this.rules[67].opcodes[4] = {type: 4, index: 391};// RNM(EQ)
this.rules[67].opcodes[5] = {type: 4, index: 68};// RNM(expandItem)
this.rules[67].opcodes[6] = {type: 3, min: 0, max: Infinity};// REP
this.rules[67].opcodes[7] = {type: 2, children: [8,9]};// CAT
this.rules[67].opcodes[8] = {type: 4, index: 390};// RNM(COMMA)
this.rules[67].opcodes[9] = {type: 4, index: 68};// RNM(expandItem)
/* expandItem */
this.rules[68].opcodes = [];
this.rules[68].opcodes[0] = {type: 1, children: [1,2,3]};// ALT
this.rules[68].opcodes[1] = {type: 7, string: [36,118,97,108,117,101]};// TLS
this.rules[68].opcodes[2] = {type: 4, index: 69};// RNM(expandPath)
this.rules[68].opcodes[3] = {type: 2, children: [4,5,6]};// CAT
this.rules[68].opcodes[4] = {type: 4, index: 238};// RNM(optionallyQualifiedEntityTypeName)
this.rules[68].opcodes[5] = {type: 7, string: [47]};// TLS
this.rules[68].opcodes[6] = {type: 4, index: 69};// RNM(expandPath)
/* expandPath */
this.rules[69].opcodes = [];
this.rules[69].opcodes[0] = {type: 2, children: [1,9]};// CAT
this.rules[69].opcodes[1] = {type: 3, min: 0, max: Infinity};// REP
this.rules[69].opcodes[2] = {type: 2, children: [3,8]};// CAT
this.rules[69].opcodes[3] = {type: 1, children: [4,5,6,7]};// ALT
this.rules[69].opcodes[4] = {type: 4, index: 260};// RNM(complexProperty)
this.rules[69].opcodes[5] = {type: 4, index: 261};// RNM(complexColProperty)
this.rules[69].opcodes[6] = {type: 4, index: 239};// RNM(optionallyQualifiedComplexTypeName)
this.rules[69].opcodes[7] = {type: 4, index: 111};// RNM(complexAnnotationInQuery)
this.rules[69].opcodes[8] = {type: 7, string: [47]};// TLS
this.rules[69].opcodes[9] = {type: 1, children: [10,19,20]};// ALT
this.rules[69].opcodes[10] = {type: 2, children: [11,12]};// CAT
this.rules[69].opcodes[11] = {type: 4, index: 395};// RNM(STAR)
this.rules[69].opcodes[12] = {type: 3, min: 0, max: 1};// REP
this.rules[69].opcodes[13] = {type: 1, children: [14,15]};// ALT
this.rules[69].opcodes[14] = {type: 4, index: 26};// RNM(ref)
this.rules[69].opcodes[15] = {type: 2, children: [16,17,18]};// CAT
this.rules[69].opcodes[16] = {type: 4, index: 397};// RNM(OPEN)
this.rules[69].opcodes[17] = {type: 4, index: 73};// RNM(levels)
this.rules[69].opcodes[18] = {type: 4, index: 398};// RNM(CLOSE)
this.rules[69].opcodes[19] = {type: 4, index: 262};// RNM(streamProperty)
this.rules[69].opcodes[20] = {type: 2, children: [21,24,28]};// CAT
this.rules[69].opcodes[21] = {type: 1, children: [22,23]};// ALT
this.rules[69].opcodes[22] = {type: 4, index: 263};// RNM(navigationProperty)
this.rules[69].opcodes[23] = {type: 4, index: 112};// RNM(entityAnnotationInQuery)
this.rules[69].opcodes[24] = {type: 3, min: 0, max: 1};// REP
this.rules[69].opcodes[25] = {type: 2, children: [26,27]};// CAT
this.rules[69].opcodes[26] = {type: 7, string: [47]};// TLS
this.rules[69].opcodes[27] = {type: 4, index: 238};// RNM(optionallyQualifiedEntityTypeName)
this.rules[69].opcodes[28] = {type: 3, min: 0, max: 1};// REP
this.rules[69].opcodes[29] = {type: 1, children: [30,41,52]};// ALT
this.rules[69].opcodes[30] = {type: 2, children: [31,32]};// CAT
this.rules[69].opcodes[31] = {type: 4, index: 26};// RNM(ref)
this.rules[69].opcodes[32] = {type: 3, min: 0, max: 1};// REP
this.rules[69].opcodes[33] = {type: 2, children: [34,35,36,40]};// CAT
this.rules[69].opcodes[34] = {type: 4, index: 397};// RNM(OPEN)
this.rules[69].opcodes[35] = {type: 4, index: 71};// RNM(expandRefOption)
this.rules[69].opcodes[36] = {type: 3, min: 0, max: Infinity};// REP
this.rules[69].opcodes[37] = {type: 2, children: [38,39]};// CAT
this.rules[69].opcodes[38] = {type: 4, index: 394};// RNM(SEMI)
this.rules[69].opcodes[39] = {type: 4, index: 71};// RNM(expandRefOption)
this.rules[69].opcodes[40] = {type: 4, index: 398};// RNM(CLOSE)
this.rules[69].opcodes[41] = {type: 2, children: [42,43]};// CAT
this.rules[69].opcodes[42] = {type: 4, index: 25};// RNM(count)
this.rules[69].opcodes[43] = {type: 3, min: 0, max: 1};// REP
this.rules[69].opcodes[44] = {type: 2, children: [45,46,47,51]};// CAT
this.rules[69].opcodes[45] = {type: 4, index: 397};// RNM(OPEN)
this.rules[69].opcodes[46] = {type: 4, index: 70};// RNM(expandCountOption)
this.rules[69].opcodes[47] = {type: 3, min: 0, max: Infinity};// REP
this.rules[69].opcodes[48] = {type: 2, children: [49,50]};// CAT
this.rules[69].opcodes[49] = {type: 4, index: 394};// RNM(SEMI)
this.rules[69].opcodes[50] = {type: 4, index: 70};// RNM(expandCountOption)
this.rules[69].opcodes[51] = {type: 4, index: 398};// RNM(CLOSE)
this.rules[69].opcodes[52] = {type: 2, children: [53,54,55,59]};// CAT
this.rules[69].opcodes[53] = {type: 4, index: 397};// RNM(OPEN)
this.rules[69].opcodes[54] = {type: 4, index: 72};// RNM(expandOption)
this.rules[69].opcodes[55] = {type: 3, min: 0, max: Infinity};// REP
this.rules[69].opcodes[56] = {type: 2, children: [57,58]};// CAT
this.rules[69].opcodes[57] = {type: 4, index: 394};// RNM(SEMI)
this.rules[69].opcodes[58] = {type: 4, index: 72};// RNM(expandOption)
this.rules[69].opcodes[59] = {type: 4, index: 398};// RNM(CLOSE)
/* expandCountOption */
this.rules[70].opcodes = [];
this.rules[70].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[70].opcodes[1] = {type: 4, index: 74};// RNM(filter)
this.rules[70].opcodes[2] = {type: 4, index: 83};// RNM(search)
/* expandRefOption */
this.rules[71].opcodes = [];
this.rules[71].opcodes[0] = {type: 1, children: [1,2,3,4,5]};// ALT
this.rules[71].opcodes[1] = {type: 4, index: 70};// RNM(expandCountOption)
this.rules[71].opcodes[2] = {type: 4, index: 75};// RNM(orderby)
this.rules[71].opcodes[3] = {type: 4, index: 77};// RNM(skip)
this.rules[71].opcodes[4] = {type: 4, index: 78};// RNM(top)
this.rules[71].opcodes[5] = {type: 4, index: 81};// RNM(inlinecount)
/* expandOption */
this.rules[72].opcodes = [];
this.rules[72].opcodes[0] = {type: 1, children: [1,2,3,4,5,6]};// ALT
this.rules[72].opcodes[1] = {type: 4, index: 71};// RNM(expandRefOption)
this.rules[72].opcodes[2] = {type: 4, index: 93};// RNM(select)
this.rules[72].opcodes[3] = {type: 4, index: 67};// RNM(expand)
this.rules[72].opcodes[4] = {type: 4, index: 64};// RNM(compute)
this.rules[72].opcodes[5] = {type: 4, index: 73};// RNM(levels)
this.rules[72].opcodes[6] = {type: 4, index: 105};// RNM(aliasAndValue)
/* levels */
this.rules[73].opcodes = [];
this.rules[73].opcodes[0] = {type: 2, children: [1,4,5]};// CAT
this.rules[73].opcodes[1] = {type: 1, children: [2,3]};// ALT
this.rules[73].opcodes[2] = {type: 7, string: [36,108,101,118,101,108,115]};// TLS
this.rules[73].opcodes[3] = {type: 7, string: [108,101,118,101,108,115]};// TLS
this.rules[73].opcodes[4] = {type: 4, index: 391};// RNM(EQ)
this.rules[73].opcodes[5] = {type: 1, children: [6,10]};// ALT
this.rules[73].opcodes[6] = {type: 2, children: [7,8]};// CAT
this.rules[73].opcodes[7] = {type: 4, index: 309};// RNM(oneToNine)
this.rules[73].opcodes[8] = {type: 3, min: 0, max: Infinity};// REP
this.rules[73].opcodes[9] = {type: 4, index: 439};// RNM(DIGIT)
this.rules[73].opcodes[10] = {type: 7, string: [109,97,120]};// TLS
/* filter */
this.rules[74].opcodes = [];
this.rules[74].opcodes[0] = {type: 2, children: [1,4,5]};// CAT
this.rules[74].opcodes[1] = {type: 1, children: [2,3]};// ALT
this.rules[74].opcodes[2] = {type: 7, string: [36,102,105,108,116,101,114]};// TLS
this.rules[74].opcodes[3] = {type: 7, string: [102,105,108,116,101,114]};// TLS
this.rules[74].opcodes[4] = {type: 4, index: 391};// RNM(EQ)
this.rules[74].opcodes[5] = {type: 4, index: 129};// RNM(boolCommonExpr)
/* orderby */
this.rules[75].opcodes = [];
this.rules[75].opcodes[0] = {type: 2, children: [1,4,5,6]};// CAT
this.rules[75].opcodes[1] = {type: 1, children: [2,3]};// ALT
this.rules[75].opcodes[2] = {type: 7, string: [36,111,114,100,101,114,98,121]};// TLS
this.rules[75].opcodes[3] = {type: 7, string: [111,114,100,101,114,98,121]};// TLS
this.rules[75].opcodes[4] = {type: 4, index: 391};// RNM(EQ)
this.rules[75].opcodes[5] = {type: 4, index: 76};// RNM(orderbyItem)
this.rules[75].opcodes[6] = {type: 3, min: 0, max: Infinity};// REP
this.rules[75].opcodes[7] = {type: 2, children: [8,9]};// CAT
this.rules[75].opcodes[8] = {type: 4, index: 390};// RNM(COMMA)
this.rules[75].opcodes[9] = {type: 4, index: 76};// RNM(orderbyItem)
/* orderbyItem */
this.rules[76].opcodes = [];
this.rules[76].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[76].opcodes[1] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[76].opcodes[2] = {type: 3, min: 0, max: 1};// REP
this.rules[76].opcodes[3] = {type: 2, children: [4,5]};// CAT
this.rules[76].opcodes[4] = {type: 4, index: 386};// RNM(RWS)
this.rules[76].opcodes[5] = {type: 1, children: [6,7]};// ALT
this.rules[76].opcodes[6] = {type: 7, string: [97,115,99]};// TLS
this.rules[76].opcodes[7] = {type: 7, string: [100,101,115,99]};// TLS
/* skip */
this.rules[77].opcodes = [];
this.rules[77].opcodes[0] = {type: 2, children: [1,4,5]};// CAT
this.rules[77].opcodes[1] = {type: 1, children: [2,3]};// ALT
this.rules[77].opcodes[2] = {type: 7, string: [36,115,107,105,112]};// TLS
this.rules[77].opcodes[3] = {type: 7, string: [115,107,105,112]};// TLS
this.rules[77].opcodes[4] = {type: 4, index: 391};// RNM(EQ)
this.rules[77].opcodes[5] = {type: 3, min: 1, max: Infinity};// REP
this.rules[77].opcodes[6] = {type: 4, index: 439};// RNM(DIGIT)
/* top */
this.rules[78].opcodes = [];
this.rules[78].opcodes[0] = {type: 2, children: [1,4,5]};// CAT
this.rules[78].opcodes[1] = {type: 1, children: [2,3]};// ALT
this.rules[78].opcodes[2] = {type: 7, string: [36,116,111,112]};// TLS
this.rules[78].opcodes[3] = {type: 7, string: [116,111,112]};// TLS
this.rules[78].opcodes[4] = {type: 4, index: 391};// RNM(EQ)
this.rules[78].opcodes[5] = {type: 3, min: 1, max: Infinity};// REP
this.rules[78].opcodes[6] = {type: 4, index: 439};// RNM(DIGIT)
/* index */
this.rules[79].opcodes = [];
this.rules[79].opcodes[0] = {type: 2, children: [1,4,5,7]};// CAT
this.rules[79].opcodes[1] = {type: 1, children: [2,3]};// ALT
this.rules[79].opcodes[2] = {type: 7, string: [36,105,110,100,101,120]};// TLS
this.rules[79].opcodes[3] = {type: 7, string: [105,110,100,101,120]};// TLS
this.rules[79].opcodes[4] = {type: 4, index: 391};// RNM(EQ)
this.rules[79].opcodes[5] = {type: 3, min: 0, max: 1};// REP
this.rules[79].opcodes[6] = {type: 7, string: [45]};// TLS
this.rules[79].opcodes[7] = {type: 3, min: 1, max: Infinity};// REP
this.rules[79].opcodes[8] = {type: 4, index: 439};// RNM(DIGIT)
/* format */
this.rules[80].opcodes = [];
this.rules[80].opcodes[0] = {type: 2, children: [1,4,5]};// CAT
this.rules[80].opcodes[1] = {type: 1, children: [2,3]};// ALT
this.rules[80].opcodes[2] = {type: 7, string: [36,102,111,114,109,97,116]};// TLS
this.rules[80].opcodes[3] = {type: 7, string: [102,111,114,109,97,116]};// TLS
this.rules[80].opcodes[4] = {type: 4, index: 391};// RNM(EQ)
this.rules[80].opcodes[5] = {type: 1, children: [6,7,8,9]};// ALT
this.rules[80].opcodes[6] = {type: 7, string: [97,116,111,109]};// TLS
this.rules[80].opcodes[7] = {type: 7, string: [106,115,111,110]};// TLS
this.rules[80].opcodes[8] = {type: 7, string: [120,109,108]};// TLS
this.rules[80].opcodes[9] = {type: 2, children: [10,12,13]};// CAT
this.rules[80].opcodes[10] = {type: 3, min: 1, max: Infinity};// REP
this.rules[80].opcodes[11] = {type: 4, index: 419};// RNM(pchar)
this.rules[80].opcodes[12] = {type: 7, string: [47]};// TLS
this.rules[80].opcodes[13] = {type: 3, min: 1, max: Infinity};// REP
this.rules[80].opcodes[14] = {type: 4, index: 419};// RNM(pchar)
/* inlinecount */
this.rules[81].opcodes = [];
this.rules[81].opcodes[0] = {type: 2, children: [1,4,5]};// CAT
this.rules[81].opcodes[1] = {type: 1, children: [2,3]};// ALT
this.rules[81].opcodes[2] = {type: 7, string: [36,99,111,117,110,116]};// TLS
this.rules[81].opcodes[3] = {type: 7, string: [99,111,117,110,116]};// TLS
this.rules[81].opcodes[4] = {type: 4, index: 391};// RNM(EQ)
this.rules[81].opcodes[5] = {type: 4, index: 289};// RNM(booleanValue)
/* schemaversion */
this.rules[82].opcodes = [];
this.rules[82].opcodes[0] = {type: 2, children: [1,4,5]};// CAT
this.rules[82].opcodes[1] = {type: 1, children: [2,3]};// ALT
this.rules[82].opcodes[2] = {type: 7, string: [36,115,99,104,101,109,97,118,101,114,115,105,111,110]};// TLS
this.rules[82].opcodes[3] = {type: 7, string: [115,99,104,101,109,97,118,101,114,115,105,111,110]};// TLS
this.rules[82].opcodes[4] = {type: 4, index: 391};// RNM(EQ)
this.rules[82].opcodes[5] = {type: 1, children: [6,7]};// ALT
this.rules[82].opcodes[6] = {type: 4, index: 395};// RNM(STAR)
this.rules[82].opcodes[7] = {type: 3, min: 1, max: Infinity};// REP
this.rules[82].opcodes[8] = {type: 4, index: 423};// RNM(unreserved)
/* search */
this.rules[83].opcodes = [];
this.rules[83].opcodes[0] = {type: 2, children: [1,4,5,6]};// CAT
this.rules[83].opcodes[1] = {type: 1, children: [2,3]};// ALT
this.rules[83].opcodes[2] = {type: 7, string: [36,115,101,97,114,99,104]};// TLS
this.rules[83].opcodes[3] = {type: 7, string: [115,101,97,114,99,104]};// TLS
this.rules[83].opcodes[4] = {type: 4, index: 391};// RNM(EQ)
this.rules[83].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[83].opcodes[6] = {type: 1, children: [7,8]};// ALT
this.rules[83].opcodes[7] = {type: 4, index: 84};// RNM(searchExpr)
this.rules[83].opcodes[8] = {type: 4, index: 92};// RNM(searchExpr-incomplete)
/* searchExpr */
this.rules[84].opcodes = [];
this.rules[84].opcodes[0] = {type: 2, children: [1,6]};// CAT
this.rules[84].opcodes[1] = {type: 1, children: [2,3,4,5]};// ALT
this.rules[84].opcodes[2] = {type: 4, index: 85};// RNM(searchParenExpr)
this.rules[84].opcodes[3] = {type: 4, index: 86};// RNM(searchNegateExpr)
this.rules[84].opcodes[4] = {type: 4, index: 89};// RNM(searchPhrase)
this.rules[84].opcodes[5] = {type: 4, index: 90};// RNM(searchWord)
this.rules[84].opcodes[6] = {type: 3, min: 0, max: 1};// REP
this.rules[84].opcodes[7] = {type: 1, children: [8,9]};// ALT
this.rules[84].opcodes[8] = {type: 4, index: 87};// RNM(searchOrExpr)
this.rules[84].opcodes[9] = {type: 4, index: 88};// RNM(searchAndExpr)
/* searchParenExpr */
this.rules[85].opcodes = [];
this.rules[85].opcodes[0] = {type: 2, children: [1,2,3,4,5]};// CAT
this.rules[85].opcodes[1] = {type: 4, index: 397};// RNM(OPEN)
this.rules[85].opcodes[2] = {type: 4, index: 387};// RNM(BWS)
this.rules[85].opcodes[3] = {type: 4, index: 84};// RNM(searchExpr)
this.rules[85].opcodes[4] = {type: 4, index: 387};// RNM(BWS)
this.rules[85].opcodes[5] = {type: 4, index: 398};// RNM(CLOSE)
/* searchNegateExpr */
this.rules[86].opcodes = [];
this.rules[86].opcodes[0] = {type: 2, children: [1,2,3]};// CAT
this.rules[86].opcodes[1] = {type: 6, string: [78,79,84]};// TBS
this.rules[86].opcodes[2] = {type: 4, index: 386};// RNM(RWS)
this.rules[86].opcodes[3] = {type: 4, index: 84};// RNM(searchExpr)
/* searchOrExpr */
this.rules[87].opcodes = [];
this.rules[87].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[87].opcodes[1] = {type: 4, index: 386};// RNM(RWS)
this.rules[87].opcodes[2] = {type: 6, string: [79,82]};// TBS
this.rules[87].opcodes[3] = {type: 4, index: 386};// RNM(RWS)
this.rules[87].opcodes[4] = {type: 4, index: 84};// RNM(searchExpr)
/* searchAndExpr */
this.rules[88].opcodes = [];
this.rules[88].opcodes[0] = {type: 2, children: [1,2,6]};// CAT
this.rules[88].opcodes[1] = {type: 4, index: 386};// RNM(RWS)
this.rules[88].opcodes[2] = {type: 3, min: 0, max: 1};// REP
this.rules[88].opcodes[3] = {type: 2, children: [4,5]};// CAT
this.rules[88].opcodes[4] = {type: 6, string: [65,78,68]};// TBS
this.rules[88].opcodes[5] = {type: 4, index: 386};// RNM(RWS)
this.rules[88].opcodes[6] = {type: 4, index: 84};// RNM(searchExpr)
/* searchPhrase */
this.rules[89].opcodes = [];
this.rules[89].opcodes[0] = {type: 2, children: [1,2,6]};// CAT
this.rules[89].opcodes[1] = {type: 4, index: 223};// RNM(quotation-mark)
this.rules[89].opcodes[2] = {type: 3, min: 1, max: Infinity};// REP
this.rules[89].opcodes[3] = {type: 1, children: [4,5]};// ALT
this.rules[89].opcodes[4] = {type: 4, index: 432};// RNM(qchar-no-AMP-DQUOTE)
this.rules[89].opcodes[5] = {type: 4, index: 443};// RNM(SP)
this.rules[89].opcodes[6] = {type: 4, index: 223};// RNM(quotation-mark)
/* searchWord */
this.rules[90].opcodes = [];
this.rules[90].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[90].opcodes[1] = {type: 4, index: 91};// RNM(searchChar)
this.rules[90].opcodes[2] = {type: 3, min: 0, max: Infinity};// REP
this.rules[90].opcodes[3] = {type: 1, children: [4,5]};// ALT
this.rules[90].opcodes[4] = {type: 4, index: 91};// RNM(searchChar)
this.rules[90].opcodes[5] = {type: 4, index: 396};// RNM(SQUOTE)
/* searchChar */
this.rules[91].opcodes = [];
this.rules[91].opcodes[0] = {type: 1, children: [1,2,3,4,5,6,7,8,9,10,11,12]};// ALT
this.rules[91].opcodes[1] = {type: 4, index: 423};// RNM(unreserved)
this.rules[91].opcodes[2] = {type: 4, index: 435};// RNM(pct-encoded-no-DQUOTE)
this.rules[91].opcodes[3] = {type: 7, string: [33]};// TLS
this.rules[91].opcodes[4] = {type: 7, string: [42]};// TLS
this.rules[91].opcodes[5] = {type: 7, string: [43]};// TLS
this.rules[91].opcodes[6] = {type: 7, string: [44]};// TLS
this.rules[91].opcodes[7] = {type: 7, string: [58]};// TLS
this.rules[91].opcodes[8] = {type: 7, string: [64]};// TLS
this.rules[91].opcodes[9] = {type: 7, string: [47]};// TLS
this.rules[91].opcodes[10] = {type: 7, string: [63]};// TLS
this.rules[91].opcodes[11] = {type: 7, string: [36]};// TLS
this.rules[91].opcodes[12] = {type: 7, string: [61]};// TLS
/* searchExpr-incomplete */
this.rules[92].opcodes = [];
this.rules[92].opcodes[0] = {type: 2, children: [1,2,8]};// CAT
this.rules[92].opcodes[1] = {type: 4, index: 396};// RNM(SQUOTE)
this.rules[92].opcodes[2] = {type: 3, min: 0, max: Infinity};// REP
this.rules[92].opcodes[3] = {type: 1, children: [4,5,6,7]};// ALT
this.rules[92].opcodes[4] = {type: 4, index: 301};// RNM(SQUOTE-in-string)
this.rules[92].opcodes[5] = {type: 4, index: 431};// RNM(qchar-no-AMP-SQUOTE)
this.rules[92].opcodes[6] = {type: 4, index: 223};// RNM(quotation-mark)
this.rules[92].opcodes[7] = {type: 4, index: 443};// RNM(SP)
this.rules[92].opcodes[8] = {type: 4, index: 396};// RNM(SQUOTE)
/* select */
this.rules[93].opcodes = [];
this.rules[93].opcodes[0] = {type: 2, children: [1,4,5,6]};// CAT
this.rules[93].opcodes[1] = {type: 1, children: [2,3]};// ALT
this.rules[93].opcodes[2] = {type: 7, string: [36,115,101,108,101,99,116]};// TLS
this.rules[93].opcodes[3] = {type: 7, string: [115,101,108,101,99,116]};// TLS
this.rules[93].opcodes[4] = {type: 4, index: 391};// RNM(EQ)
this.rules[93].opcodes[5] = {type: 4, index: 94};// RNM(selectItem)
this.rules[93].opcodes[6] = {type: 3, min: 0, max: Infinity};// REP
this.rules[93].opcodes[7] = {type: 2, children: [8,9]};// CAT
this.rules[93].opcodes[8] = {type: 4, index: 390};// RNM(COMMA)
this.rules[93].opcodes[9] = {type: 4, index: 94};// RNM(selectItem)
/* selectItem */
this.rules[94].opcodes = [];
this.rules[94].opcodes[0] = {type: 1, children: [1,2,3,4,5,6]};// ALT
this.rules[94].opcodes[1] = {type: 4, index: 395};// RNM(STAR)
this.rules[94].opcodes[2] = {type: 4, index: 99};// RNM(allOperationsInSchema)
this.rules[94].opcodes[3] = {type: 4, index: 95};// RNM(selectProperty)
this.rules[94].opcodes[4] = {type: 4, index: 100};// RNM(optionallyQualifiedActionName)
this.rules[94].opcodes[5] = {type: 4, index: 101};// RNM(optionallyQualifiedFunctionName)
this.rules[94].opcodes[6] = {type: 2, children: [7,10,11]};// CAT
this.rules[94].opcodes[7] = {type: 1, children: [8,9]};// ALT
this.rules[94].opcodes[8] = {type: 4, index: 238};// RNM(optionallyQualifiedEntityTypeName)
this.rules[94].opcodes[9] = {type: 4, index: 239};// RNM(optionallyQualifiedComplexTypeName)
this.rules[94].opcodes[10] = {type: 7, string: [47]};// TLS
this.rules[94].opcodes[11] = {type: 1, children: [12,13,14]};// ALT
this.rules[94].opcodes[12] = {type: 4, index: 95};// RNM(selectProperty)
this.rules[94].opcodes[13] = {type: 4, index: 100};// RNM(optionallyQualifiedActionName)
this.rules[94].opcodes[14] = {type: 4, index: 101};// RNM(optionallyQualifiedFunctionName)
/* selectProperty */
this.rules[95].opcodes = [];
this.rules[95].opcodes[0] = {type: 1, children: [1,2,3,16,17]};// ALT
this.rules[95].opcodes[1] = {type: 4, index: 256};// RNM(primitiveProperty)
this.rules[95].opcodes[2] = {type: 4, index: 113};// RNM(primitiveAnnotationInQuery)
this.rules[95].opcodes[3] = {type: 2, children: [4,7]};// CAT
this.rules[95].opcodes[4] = {type: 1, children: [5,6]};// ALT
this.rules[95].opcodes[5] = {type: 4, index: 259};// RNM(primitiveColProperty)
this.rules[95].opcodes[6] = {type: 4, index: 114};// RNM(primitiveColAnnotationInQuery)
this.rules[95].opcodes[7] = {type: 3, min: 0, max: 1};// REP
this.rules[95].opcodes[8] = {type: 2, children: [9,10,11,15]};// CAT
this.rules[95].opcodes[9] = {type: 4, index: 397};// RNM(OPEN)
this.rules[95].opcodes[10] = {type: 4, index: 97};// RNM(selectOptionPC)
this.rules[95].opcodes[11] = {type: 3, min: 0, max: Infinity};// REP
this.rules[95].opcodes[12] = {type: 2, children: [13,14]};// CAT
this.rules[95].opcodes[13] = {type: 4, index: 394};// RNM(SEMI)
this.rules[95].opcodes[14] = {type: 4, index: 97};// RNM(selectOptionPC)
this.rules[95].opcodes[15] = {type: 4, index: 398};// RNM(CLOSE)
this.rules[95].opcodes[16] = {type: 4, index: 263};// RNM(navigationProperty)
this.rules[95].opcodes[17] = {type: 2, children: [18,19]};// CAT
this.rules[95].opcodes[18] = {type: 4, index: 96};// RNM(selectPath)
this.rules[95].opcodes[19] = {type: 3, min: 0, max: 1};// REP
this.rules[95].opcodes[20] = {type: 1, children: [21,29]};// ALT
this.rules[95].opcodes[21] = {type: 2, children: [22,23,24,28]};// CAT
this.rules[95].opcodes[22] = {type: 4, index: 397};// RNM(OPEN)
this.rules[95].opcodes[23] = {type: 4, index: 98};// RNM(selectOption)
this.rules[95].opcodes[24] = {type: 3, min: 0, max: Infinity};// REP
this.rules[95].opcodes[25] = {type: 2, children: [26,27]};// CAT
this.rules[95].opcodes[26] = {type: 4, index: 394};// RNM(SEMI)
this.rules[95].opcodes[27] = {type: 4, index: 98};// RNM(selectOption)
this.rules[95].opcodes[28] = {type: 4, index: 398};// RNM(CLOSE)
this.rules[95].opcodes[29] = {type: 2, children: [30,31]};// CAT
this.rules[95].opcodes[30] = {type: 7, string: [47]};// TLS
this.rules[95].opcodes[31] = {type: 4, index: 95};// RNM(selectProperty)
/* selectPath */
this.rules[96].opcodes = [];
this.rules[96].opcodes[0] = {type: 2, children: [1,5]};// CAT
this.rules[96].opcodes[1] = {type: 1, children: [2,3,4]};// ALT
this.rules[96].opcodes[2] = {type: 4, index: 260};// RNM(complexProperty)
this.rules[96].opcodes[3] = {type: 4, index: 261};// RNM(complexColProperty)
this.rules[96].opcodes[4] = {type: 4, index: 111};// RNM(complexAnnotationInQuery)
this.rules[96].opcodes[5] = {type: 3, min: 0, max: 1};// REP
this.rules[96].opcodes[6] = {type: 2, children: [7,8]};// CAT
this.rules[96].opcodes[7] = {type: 7, string: [47]};// TLS
this.rules[96].opcodes[8] = {type: 4, index: 239};// RNM(optionallyQualifiedComplexTypeName)
/* selectOptionPC */
this.rules[97].opcodes = [];
this.rules[97].opcodes[0] = {type: 1, children: [1,2,3,4,5,6]};// ALT
this.rules[97].opcodes[1] = {type: 4, index: 74};// RNM(filter)
this.rules[97].opcodes[2] = {type: 4, index: 83};// RNM(search)
this.rules[97].opcodes[3] = {type: 4, index: 81};// RNM(inlinecount)
this.rules[97].opcodes[4] = {type: 4, index: 75};// RNM(orderby)
this.rules[97].opcodes[5] = {type: 4, index: 77};// RNM(skip)
this.rules[97].opcodes[6] = {type: 4, index: 78};// RNM(top)
/* selectOption */
this.rules[98].opcodes = [];
this.rules[98].opcodes[0] = {type: 1, children: [1,2,3,4]};// ALT
this.rules[98].opcodes[1] = {type: 4, index: 97};// RNM(selectOptionPC)
this.rules[98].opcodes[2] = {type: 4, index: 64};// RNM(compute)
this.rules[98].opcodes[3] = {type: 4, index: 93};// RNM(select)
this.rules[98].opcodes[4] = {type: 4, index: 105};// RNM(aliasAndValue)
/* allOperationsInSchema */
this.rules[99].opcodes = [];
this.rules[99].opcodes[0] = {type: 2, children: [1,2,3]};// CAT
this.rules[99].opcodes[1] = {type: 4, index: 240};// RNM(namespace)
this.rules[99].opcodes[2] = {type: 7, string: [46]};// TLS
this.rules[99].opcodes[3] = {type: 4, index: 395};// RNM(STAR)
/* optionallyQualifiedActionName */
this.rules[100].opcodes = [];
this.rules[100].opcodes[0] = {type: 2, children: [1,5]};// CAT
this.rules[100].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[100].opcodes[2] = {type: 2, children: [3,4]};// CAT
this.rules[100].opcodes[3] = {type: 4, index: 240};// RNM(namespace)
this.rules[100].opcodes[4] = {type: 7, string: [46]};// TLS
this.rules[100].opcodes[5] = {type: 4, index: 266};// RNM(action)
/* optionallyQualifiedFunctionName */
this.rules[101].opcodes = [];
this.rules[101].opcodes[0] = {type: 2, children: [1,5,6]};// CAT
this.rules[101].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[101].opcodes[2] = {type: 2, children: [3,4]};// CAT
this.rules[101].opcodes[3] = {type: 4, index: 240};// RNM(namespace)
this.rules[101].opcodes[4] = {type: 7, string: [46]};// TLS
this.rules[101].opcodes[5] = {type: 4, index: 268};// RNM(function)
this.rules[101].opcodes[6] = {type: 3, min: 0, max: 1};// REP
this.rules[101].opcodes[7] = {type: 2, children: [8,9,10]};// CAT
this.rules[101].opcodes[8] = {type: 4, index: 397};// RNM(OPEN)
this.rules[101].opcodes[9] = {type: 4, index: 102};// RNM(parameterNames)
this.rules[101].opcodes[10] = {type: 4, index: 398};// RNM(CLOSE)
/* parameterNames */
this.rules[102].opcodes = [];
this.rules[102].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[102].opcodes[1] = {type: 4, index: 49};// RNM(parameterName)
this.rules[102].opcodes[2] = {type: 3, min: 0, max: Infinity};// REP
this.rules[102].opcodes[3] = {type: 2, children: [4,5]};// CAT
this.rules[102].opcodes[4] = {type: 4, index: 390};// RNM(COMMA)
this.rules[102].opcodes[5] = {type: 4, index: 49};// RNM(parameterName)
/* deltatoken */
this.rules[103].opcodes = [];
this.rules[103].opcodes[0] = {type: 2, children: [1,2,3]};// CAT
this.rules[103].opcodes[1] = {type: 7, string: [36,100,101,108,116,97,116,111,107,101,110]};// TLS
this.rules[103].opcodes[2] = {type: 4, index: 391};// RNM(EQ)
this.rules[103].opcodes[3] = {type: 3, min: 1, max: Infinity};// REP
this.rules[103].opcodes[4] = {type: 4, index: 428};// RNM(qchar-no-AMP)
/* skiptoken */
this.rules[104].opcodes = [];
this.rules[104].opcodes[0] = {type: 2, children: [1,2,3]};// CAT
this.rules[104].opcodes[1] = {type: 7, string: [36,115,107,105,112,116,111,107,101,110]};// TLS
this.rules[104].opcodes[2] = {type: 4, index: 391};// RNM(EQ)
this.rules[104].opcodes[3] = {type: 3, min: 1, max: Infinity};// REP
this.rules[104].opcodes[4] = {type: 4, index: 428};// RNM(qchar-no-AMP)
/* aliasAndValue */
this.rules[105].opcodes = [];
this.rules[105].opcodes[0] = {type: 2, children: [1,2,3]};// CAT
this.rules[105].opcodes[1] = {type: 4, index: 50};// RNM(parameterAlias)
this.rules[105].opcodes[2] = {type: 4, index: 391};// RNM(EQ)
this.rules[105].opcodes[3] = {type: 4, index: 107};// RNM(parameterValue)
/* nameAndValue */
this.rules[106].opcodes = [];
this.rules[106].opcodes[0] = {type: 2, children: [1,2,3]};// CAT
this.rules[106].opcodes[1] = {type: 4, index: 49};// RNM(parameterName)
this.rules[106].opcodes[2] = {type: 4, index: 391};// RNM(EQ)
this.rules[106].opcodes[3] = {type: 4, index: 107};// RNM(parameterValue)
/* parameterValue */
this.rules[107].opcodes = [];
this.rules[107].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[107].opcodes[1] = {type: 4, index: 214};// RNM(arrayOrObject)
this.rules[107].opcodes[2] = {type: 4, index: 128};// RNM(commonExpr)
/* customQueryOption */
this.rules[108].opcodes = [];
this.rules[108].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[108].opcodes[1] = {type: 4, index: 109};// RNM(customName)
this.rules[108].opcodes[2] = {type: 3, min: 0, max: 1};// REP
this.rules[108].opcodes[3] = {type: 2, children: [4,5]};// CAT
this.rules[108].opcodes[4] = {type: 4, index: 391};// RNM(EQ)
this.rules[108].opcodes[5] = {type: 4, index: 110};// RNM(customValue)
/* customName */
this.rules[109].opcodes = [];
this.rules[109].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[109].opcodes[1] = {type: 4, index: 430};// RNM(qchar-no-AMP-EQ-AT-DOLLAR)
this.rules[109].opcodes[2] = {type: 3, min: 0, max: Infinity};// REP
this.rules[109].opcodes[3] = {type: 4, index: 429};// RNM(qchar-no-AMP-EQ)
/* customValue */
this.rules[110].opcodes = [];
this.rules[110].opcodes[0] = {type: 3, min: 0, max: Infinity};// REP
this.rules[110].opcodes[1] = {type: 4, index: 428};// RNM(qchar-no-AMP)
/* complexAnnotationInQuery */
this.rules[111].opcodes = [];
this.rules[111].opcodes[0] = {type: 4, index: 136};// RNM(annotationInQuery)
/* entityAnnotationInQuery */
this.rules[112].opcodes = [];
this.rules[112].opcodes[0] = {type: 4, index: 136};// RNM(annotationInQuery)
/* primitiveAnnotationInQuery */
this.rules[113].opcodes = [];
this.rules[113].opcodes[0] = {type: 4, index: 136};// RNM(annotationInQuery)
/* primitiveColAnnotationInQuery */
this.rules[114].opcodes = [];
this.rules[114].opcodes[0] = {type: 4, index: 136};// RNM(annotationInQuery)
/* context */
this.rules[115].opcodes = [];
this.rules[115].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[115].opcodes[1] = {type: 7, string: [35]};// TLS
this.rules[115].opcodes[2] = {type: 4, index: 116};// RNM(contextFragment)
/* contextFragment */
this.rules[116].opcodes = [];
this.rules[116].opcodes[0] = {type: 1, children: [1,2,3,4,5,18,22,28,35]};// ALT
this.rules[116].opcodes[1] = {type: 6, string: [67,111,108,108,101,99,116,105,111,110,40,36,114,101,102,41]};// TBS
this.rules[116].opcodes[2] = {type: 6, string: [36,114,101,102]};// TBS
this.rules[116].opcodes[3] = {type: 6, string: [67,111,108,108,101,99,116,105,111,110,40,69,100,109,46,69,110,116,105,116,121,84,121,112,101,41]};// TBS
this.rules[116].opcodes[4] = {type: 6, string: [67,111,108,108,101,99,116,105,111,110,40,69,100,109,46,67,111,109,112,108,101,120,84,121,112,101,41]};// TBS
this.rules[116].opcodes[5] = {type: 2, children: [6,7,16]};// CAT
this.rules[116].opcodes[6] = {type: 4, index: 243};// RNM(singletonEntity)
this.rules[116].opcodes[7] = {type: 3, min: 0, max: 1};// REP
this.rules[116].opcodes[8] = {type: 2, children: [9,10,12]};// CAT
this.rules[116].opcodes[9] = {type: 4, index: 119};// RNM(navigation)
this.rules[116].opcodes[10] = {type: 3, min: 0, max: Infinity};// REP
this.rules[116].opcodes[11] = {type: 4, index: 118};// RNM(containmentNavigation)
this.rules[116].opcodes[12] = {type: 3, min: 0, max: 1};// REP
this.rules[116].opcodes[13] = {type: 2, children: [14,15]};// CAT
this.rules[116].opcodes[14] = {type: 7, string: [47]};// TLS
this.rules[116].opcodes[15] = {type: 4, index: 234};// RNM(qualifiedEntityTypeName)
this.rules[116].opcodes[16] = {type: 3, min: 0, max: 1};// REP
this.rules[116].opcodes[17] = {type: 4, index: 120};// RNM(selectList)
this.rules[116].opcodes[18] = {type: 2, children: [19,20]};// CAT
this.rules[116].opcodes[19] = {type: 4, index: 230};// RNM(qualifiedTypeName)
this.rules[116].opcodes[20] = {type: 3, min: 0, max: 1};// REP
this.rules[116].opcodes[21] = {type: 4, index: 120};// RNM(selectList)
this.rules[116].opcodes[22] = {type: 2, children: [23,24]};// CAT
this.rules[116].opcodes[23] = {type: 4, index: 117};// RNM(entitySet)
this.rules[116].opcodes[24] = {type: 1, children: [25,26,27]};// ALT
this.rules[116].opcodes[25] = {type: 6, string: [47,36,100,101,108,101,116,101,100,69,110,116,105,116,121]};// TBS
this.rules[116].opcodes[26] = {type: 6, string: [47,36,108,105,110,107]};// TBS
this.rules[116].opcodes[27] = {type: 6, string: [47,36,100,101,108,101,116,101,100,76,105,110,107]};// TBS
this.rules[116].opcodes[28] = {type: 2, children: [29,30,31,32,33]};// CAT
this.rules[116].opcodes[29] = {type: 4, index: 117};// RNM(entitySet)
this.rules[116].opcodes[30] = {type: 4, index: 7};// RNM(keyPredicate)
this.rules[116].opcodes[31] = {type: 7, string: [47]};// TLS
this.rules[116].opcodes[32] = {type: 4, index: 123};// RNM(contextPropertyPath)
this.rules[116].opcodes[33] = {type: 3, min: 0, max: 1};// REP
this.rules[116].opcodes[34] = {type: 4, index: 120};// RNM(selectList)
this.rules[116].opcodes[35] = {type: 2, children: [36,37,39]};// CAT
this.rules[116].opcodes[36] = {type: 4, index: 117};// RNM(entitySet)
this.rules[116].opcodes[37] = {type: 3, min: 0, max: 1};// REP
this.rules[116].opcodes[38] = {type: 4, index: 120};// RNM(selectList)
this.rules[116].opcodes[39] = {type: 3, min: 0, max: 1};// REP
this.rules[116].opcodes[40] = {type: 1, children: [41,42]};// ALT
this.rules[116].opcodes[41] = {type: 6, string: [47,36,101,110,116,105,116,121]};// TBS
this.rules[116].opcodes[42] = {type: 6, string: [47,36,100,101,108,116,97]};// TBS
/* entitySet */
this.rules[117].opcodes = [];
this.rules[117].opcodes[0] = {type: 2, children: [1,2,4]};// CAT
this.rules[117].opcodes[1] = {type: 4, index: 242};// RNM(entitySetName)
this.rules[117].opcodes[2] = {type: 3, min: 0, max: Infinity};// REP
this.rules[117].opcodes[3] = {type: 4, index: 118};// RNM(containmentNavigation)
this.rules[117].opcodes[4] = {type: 3, min: 0, max: 1};// REP
this.rules[117].opcodes[5] = {type: 2, children: [6,7]};// CAT
this.rules[117].opcodes[6] = {type: 7, string: [47]};// TLS
this.rules[117].opcodes[7] = {type: 4, index: 234};// RNM(qualifiedEntityTypeName)
/* containmentNavigation */
this.rules[118].opcodes = [];
this.rules[118].opcodes[0] = {type: 2, children: [1,2,6]};// CAT
this.rules[118].opcodes[1] = {type: 4, index: 7};// RNM(keyPredicate)
this.rules[118].opcodes[2] = {type: 3, min: 0, max: 1};// REP
this.rules[118].opcodes[3] = {type: 2, children: [4,5]};// CAT
this.rules[118].opcodes[4] = {type: 7, string: [47]};// TLS
this.rules[118].opcodes[5] = {type: 4, index: 234};// RNM(qualifiedEntityTypeName)
this.rules[118].opcodes[6] = {type: 4, index: 119};// RNM(navigation)
/* navigation */
this.rules[119].opcodes = [];
this.rules[119].opcodes[0] = {type: 2, children: [1,9,10]};// CAT
this.rules[119].opcodes[1] = {type: 3, min: 0, max: Infinity};// REP
this.rules[119].opcodes[2] = {type: 2, children: [3,4,5]};// CAT
this.rules[119].opcodes[3] = {type: 7, string: [47]};// TLS
this.rules[119].opcodes[4] = {type: 4, index: 260};// RNM(complexProperty)
this.rules[119].opcodes[5] = {type: 3, min: 0, max: 1};// REP
this.rules[119].opcodes[6] = {type: 2, children: [7,8]};// CAT
this.rules[119].opcodes[7] = {type: 7, string: [47]};// TLS
this.rules[119].opcodes[8] = {type: 4, index: 235};// RNM(qualifiedComplexTypeName)
this.rules[119].opcodes[9] = {type: 7, string: [47]};// TLS
this.rules[119].opcodes[10] = {type: 4, index: 263};// RNM(navigationProperty)
/* selectList */
this.rules[120].opcodes = [];
this.rules[120].opcodes[0] = {type: 2, children: [1,2,9]};// CAT
this.rules[120].opcodes[1] = {type: 4, index: 397};// RNM(OPEN)
this.rules[120].opcodes[2] = {type: 3, min: 0, max: 1};// REP
this.rules[120].opcodes[3] = {type: 2, children: [4,5]};// CAT
this.rules[120].opcodes[4] = {type: 4, index: 121};// RNM(selectListItem)
this.rules[120].opcodes[5] = {type: 3, min: 0, max: Infinity};// REP
this.rules[120].opcodes[6] = {type: 2, children: [7,8]};// CAT
this.rules[120].opcodes[7] = {type: 4, index: 390};// RNM(COMMA)
this.rules[120].opcodes[8] = {type: 4, index: 121};// RNM(selectListItem)
this.rules[120].opcodes[9] = {type: 4, index: 398};// RNM(CLOSE)
/* selectListItem */
this.rules[121].opcodes = [];
this.rules[121].opcodes[0] = {type: 1, children: [1,2,3]};// ALT
this.rules[121].opcodes[1] = {type: 4, index: 395};// RNM(STAR)
this.rules[121].opcodes[2] = {type: 4, index: 99};// RNM(allOperationsInSchema)
this.rules[121].opcodes[3] = {type: 2, children: [4,10]};// CAT
this.rules[121].opcodes[4] = {type: 3, min: 0, max: 1};// REP
this.rules[121].opcodes[5] = {type: 2, children: [6,9]};// CAT
this.rules[121].opcodes[6] = {type: 1, children: [7,8]};// ALT
this.rules[121].opcodes[7] = {type: 4, index: 234};// RNM(qualifiedEntityTypeName)
this.rules[121].opcodes[8] = {type: 4, index: 235};// RNM(qualifiedComplexTypeName)
this.rules[121].opcodes[9] = {type: 7, string: [47]};// TLS
this.rules[121].opcodes[10] = {type: 1, children: [11,12,13]};// ALT
this.rules[121].opcodes[11] = {type: 4, index: 124};// RNM(qualifiedActionName)
this.rules[121].opcodes[12] = {type: 4, index: 125};// RNM(qualifiedFunctionName)
this.rules[121].opcodes[13] = {type: 4, index: 122};// RNM(selectListProperty)
/* selectListProperty */
this.rules[122].opcodes = [];
this.rules[122].opcodes[0] = {type: 1, children: [1,2,3,11]};// ALT
this.rules[122].opcodes[1] = {type: 4, index: 256};// RNM(primitiveProperty)
this.rules[122].opcodes[2] = {type: 4, index: 259};// RNM(primitiveColProperty)
this.rules[122].opcodes[3] = {type: 2, children: [4,7,9]};// CAT
this.rules[122].opcodes[4] = {type: 1, children: [5,6]};// ALT
this.rules[122].opcodes[5] = {type: 4, index: 263};// RNM(navigationProperty)
this.rules[122].opcodes[6] = {type: 4, index: 127};// RNM(entityAnnotationInFragment)
this.rules[122].opcodes[7] = {type: 3, min: 0, max: 1};// REP
this.rules[122].opcodes[8] = {type: 7, string: [43]};// TLS
this.rules[122].opcodes[9] = {type: 3, min: 0, max: 1};// REP
this.rules[122].opcodes[10] = {type: 4, index: 120};// RNM(selectList)
this.rules[122].opcodes[11] = {type: 2, children: [12,16,20]};// CAT
this.rules[122].opcodes[12] = {type: 1, children: [13,14,15]};// ALT
this.rules[122].opcodes[13] = {type: 4, index: 260};// RNM(complexProperty)
this.rules[122].opcodes[14] = {type: 4, index: 261};// RNM(complexColProperty)
this.rules[122].opcodes[15] = {type: 4, index: 126};// RNM(complexAnnotationInFragment)
this.rules[122].opcodes[16] = {type: 3, min: 0, max: 1};// REP
this.rules[122].opcodes[17] = {type: 2, children: [18,19]};// CAT
this.rules[122].opcodes[18] = {type: 7, string: [47]};// TLS
this.rules[122].opcodes[19] = {type: 4, index: 235};// RNM(qualifiedComplexTypeName)
this.rules[122].opcodes[20] = {type: 3, min: 0, max: 1};// REP
this.rules[122].opcodes[21] = {type: 2, children: [22,23]};// CAT
this.rules[122].opcodes[22] = {type: 7, string: [47]};// TLS
this.rules[122].opcodes[23] = {type: 4, index: 122};// RNM(selectListProperty)
/* contextPropertyPath */
this.rules[123].opcodes = [];
this.rules[123].opcodes[0] = {type: 1, children: [1,2,3,4]};// ALT
this.rules[123].opcodes[1] = {type: 4, index: 256};// RNM(primitiveProperty)
this.rules[123].opcodes[2] = {type: 4, index: 259};// RNM(primitiveColProperty)
this.rules[123].opcodes[3] = {type: 4, index: 261};// RNM(complexColProperty)
this.rules[123].opcodes[4] = {type: 2, children: [5,6]};// CAT
this.rules[123].opcodes[5] = {type: 4, index: 260};// RNM(complexProperty)
this.rules[123].opcodes[6] = {type: 3, min: 0, max: 1};// REP
this.rules[123].opcodes[7] = {type: 2, children: [8,12,13]};// CAT
this.rules[123].opcodes[8] = {type: 3, min: 0, max: 1};// REP
this.rules[123].opcodes[9] = {type: 2, children: [10,11]};// CAT
this.rules[123].opcodes[10] = {type: 7, string: [47]};// TLS
this.rules[123].opcodes[11] = {type: 4, index: 235};// RNM(qualifiedComplexTypeName)
this.rules[123].opcodes[12] = {type: 7, string: [47]};// TLS
this.rules[123].opcodes[13] = {type: 4, index: 123};// RNM(contextPropertyPath)
/* qualifiedActionName */
this.rules[124].opcodes = [];
this.rules[124].opcodes[0] = {type: 2, children: [1,2,3]};// CAT
this.rules[124].opcodes[1] = {type: 4, index: 240};// RNM(namespace)
this.rules[124].opcodes[2] = {type: 7, string: [46]};// TLS
this.rules[124].opcodes[3] = {type: 4, index: 266};// RNM(action)
/* qualifiedFunctionName */
this.rules[125].opcodes = [];
this.rules[125].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[125].opcodes[1] = {type: 4, index: 240};// RNM(namespace)
this.rules[125].opcodes[2] = {type: 7, string: [46]};// TLS
this.rules[125].opcodes[3] = {type: 4, index: 268};// RNM(function)
this.rules[125].opcodes[4] = {type: 3, min: 0, max: 1};// REP
this.rules[125].opcodes[5] = {type: 2, children: [6,7,8]};// CAT
this.rules[125].opcodes[6] = {type: 4, index: 397};// RNM(OPEN)
this.rules[125].opcodes[7] = {type: 4, index: 102};// RNM(parameterNames)
this.rules[125].opcodes[8] = {type: 4, index: 398};// RNM(CLOSE)
/* complexAnnotationInFragment */
this.rules[126].opcodes = [];
this.rules[126].opcodes[0] = {type: 4, index: 137};// RNM(annotationInFragment)
/* entityAnnotationInFragment */
this.rules[127].opcodes = [];
this.rules[127].opcodes[0] = {type: 4, index: 137};// RNM(annotationInFragment)
/* commonExpr */
this.rules[128].opcodes = [];
this.rules[128].opcodes[0] = {type: 2, children: [1,13,21,31]};// CAT
this.rules[128].opcodes[1] = {type: 1, children: [2,3,4,5,6,7,8,9,10,11,12]};// ALT
this.rules[128].opcodes[2] = {type: 4, index: 281};// RNM(primitiveLiteral)
this.rules[128].opcodes[3] = {type: 4, index: 214};// RNM(arrayOrObject)
this.rules[128].opcodes[4] = {type: 4, index: 130};// RNM(rootExpr)
this.rules[128].opcodes[5] = {type: 4, index: 131};// RNM(firstMemberExpr)
this.rules[128].opcodes[6] = {type: 4, index: 150};// RNM(functionExpr)
this.rules[128].opcodes[7] = {type: 4, index: 210};// RNM(negateExpr)
this.rules[128].opcodes[8] = {type: 4, index: 156};// RNM(methodCallExpr)
this.rules[128].opcodes[9] = {type: 4, index: 192};// RNM(parenExpr)
this.rules[128].opcodes[10] = {type: 4, index: 213};// RNM(castExpr)
this.rules[128].opcodes[11] = {type: 4, index: 212};// RNM(isofExpr)
this.rules[128].opcodes[12] = {type: 4, index: 211};// RNM(notExpr)
this.rules[128].opcodes[13] = {type: 3, min: 0, max: 1};// REP
this.rules[128].opcodes[14] = {type: 1, children: [15,16,17,18,19,20]};// ALT
this.rules[128].opcodes[15] = {type: 4, index: 204};// RNM(addExpr)
this.rules[128].opcodes[16] = {type: 4, index: 205};// RNM(subExpr)
this.rules[128].opcodes[17] = {type: 4, index: 206};// RNM(mulExpr)
this.rules[128].opcodes[18] = {type: 4, index: 207};// RNM(divExpr)
this.rules[128].opcodes[19] = {type: 4, index: 208};// RNM(divbyExpr)
this.rules[128].opcodes[20] = {type: 4, index: 209};// RNM(modExpr)
this.rules[128].opcodes[21] = {type: 3, min: 0, max: 1};// REP
this.rules[128].opcodes[22] = {type: 1, children: [23,24,25,26,27,28,29,30]};// ALT
this.rules[128].opcodes[23] = {type: 4, index: 196};// RNM(eqExpr)
this.rules[128].opcodes[24] = {type: 4, index: 197};// RNM(neExpr)
this.rules[128].opcodes[25] = {type: 4, index: 198};// RNM(ltExpr)
this.rules[128].opcodes[26] = {type: 4, index: 199};// RNM(leExpr)
this.rules[128].opcodes[27] = {type: 4, index: 200};// RNM(gtExpr)
this.rules[128].opcodes[28] = {type: 4, index: 201};// RNM(geExpr)
this.rules[128].opcodes[29] = {type: 4, index: 203};// RNM(hasExpr)
this.rules[128].opcodes[30] = {type: 4, index: 202};// RNM(inExpr)
this.rules[128].opcodes[31] = {type: 3, min: 0, max: 1};// REP
this.rules[128].opcodes[32] = {type: 1, children: [33,34]};// ALT
this.rules[128].opcodes[33] = {type: 4, index: 194};// RNM(andExpr)
this.rules[128].opcodes[34] = {type: 4, index: 195};// RNM(orExpr)
/* boolCommonExpr */
this.rules[129].opcodes = [];
this.rules[129].opcodes[0] = {type: 4, index: 128};// RNM(commonExpr)
/* rootExpr */
this.rules[130].opcodes = [];
this.rules[130].opcodes[0] = {type: 2, children: [1,2,7]};// CAT
this.rules[130].opcodes[1] = {type: 6, string: [36,114,111,111,116,47]};// TBS
this.rules[130].opcodes[2] = {type: 1, children: [3,6]};// ALT
this.rules[130].opcodes[3] = {type: 2, children: [4,5]};// CAT
this.rules[130].opcodes[4] = {type: 4, index: 242};// RNM(entitySetName)
this.rules[130].opcodes[5] = {type: 4, index: 7};// RNM(keyPredicate)
this.rules[130].opcodes[6] = {type: 4, index: 243};// RNM(singletonEntity)
this.rules[130].opcodes[7] = {type: 3, min: 0, max: 1};// REP
this.rules[130].opcodes[8] = {type: 4, index: 143};// RNM(singleNavigationExpr)
/* firstMemberExpr */
this.rules[131].opcodes = [];
this.rules[131].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[131].opcodes[1] = {type: 4, index: 132};// RNM(memberExpr)
this.rules[131].opcodes[2] = {type: 2, children: [3,4]};// CAT
this.rules[131].opcodes[3] = {type: 4, index: 139};// RNM(inscopeVariableExpr)
this.rules[131].opcodes[4] = {type: 3, min: 0, max: 1};// REP
this.rules[131].opcodes[5] = {type: 2, children: [6,7]};// CAT
this.rules[131].opcodes[6] = {type: 7, string: [47]};// TLS
this.rules[131].opcodes[7] = {type: 4, index: 132};// RNM(memberExpr)
/* memberExpr */
this.rules[132].opcodes = [];
this.rules[132].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[132].opcodes[1] = {type: 4, index: 133};// RNM(directMemberExpr)
this.rules[132].opcodes[2] = {type: 2, children: [3,6,7]};// CAT
this.rules[132].opcodes[3] = {type: 1, children: [4,5]};// ALT
this.rules[132].opcodes[4] = {type: 4, index: 238};// RNM(optionallyQualifiedEntityTypeName)
this.rules[132].opcodes[5] = {type: 4, index: 239};// RNM(optionallyQualifiedComplexTypeName)
this.rules[132].opcodes[6] = {type: 7, string: [47]};// TLS
this.rules[132].opcodes[7] = {type: 4, index: 133};// RNM(directMemberExpr)
/* directMemberExpr */
this.rules[133].opcodes = [];
this.rules[133].opcodes[0] = {type: 1, children: [1,2,3]};// ALT
this.rules[133].opcodes[1] = {type: 4, index: 134};// RNM(propertyPathExpr)
this.rules[133].opcodes[2] = {type: 4, index: 149};// RNM(boundFunctionExpr)
this.rules[133].opcodes[3] = {type: 4, index: 135};// RNM(annotationExpr)
/* propertyPathExpr */
this.rules[134].opcodes = [];
this.rules[134].opcodes[0] = {type: 1, children: [1,5,9,13,17,21,25]};// ALT
this.rules[134].opcodes[1] = {type: 2, children: [2,3]};// CAT
this.rules[134].opcodes[2] = {type: 4, index: 265};// RNM(entityColNavigationProperty)
this.rules[134].opcodes[3] = {type: 3, min: 0, max: 1};// REP
this.rules[134].opcodes[4] = {type: 4, index: 142};// RNM(collectionNavigationExpr)
this.rules[134].opcodes[5] = {type: 2, children: [6,7]};// CAT
this.rules[134].opcodes[6] = {type: 4, index: 264};// RNM(entityNavigationProperty)
this.rules[134].opcodes[7] = {type: 3, min: 0, max: 1};// REP
this.rules[134].opcodes[8] = {type: 4, index: 143};// RNM(singleNavigationExpr)
this.rules[134].opcodes[9] = {type: 2, children: [10,11]};// CAT
this.rules[134].opcodes[10] = {type: 4, index: 261};// RNM(complexColProperty)
this.rules[134].opcodes[11] = {type: 3, min: 0, max: 1};// REP
this.rules[134].opcodes[12] = {type: 4, index: 145};// RNM(complexColPathExpr)
this.rules[134].opcodes[13] = {type: 2, children: [14,15]};// CAT
this.rules[134].opcodes[14] = {type: 4, index: 260};// RNM(complexProperty)
this.rules[134].opcodes[15] = {type: 3, min: 0, max: 1};// REP
this.rules[134].opcodes[16] = {type: 4, index: 147};// RNM(complexPathExpr)
this.rules[134].opcodes[17] = {type: 2, children: [18,19]};// CAT
this.rules[134].opcodes[18] = {type: 4, index: 259};// RNM(primitiveColProperty)
this.rules[134].opcodes[19] = {type: 3, min: 0, max: 1};// REP
this.rules[134].opcodes[20] = {type: 4, index: 146};// RNM(collectionPathExpr)
this.rules[134].opcodes[21] = {type: 2, children: [22,23]};// CAT
this.rules[134].opcodes[22] = {type: 4, index: 256};// RNM(primitiveProperty)
this.rules[134].opcodes[23] = {type: 3, min: 0, max: 1};// REP
this.rules[134].opcodes[24] = {type: 4, index: 148};// RNM(primitivePathExpr)
this.rules[134].opcodes[25] = {type: 2, children: [26,27]};// CAT
this.rules[134].opcodes[26] = {type: 4, index: 262};// RNM(streamProperty)
this.rules[134].opcodes[27] = {type: 3, min: 0, max: 1};// REP
this.rules[134].opcodes[28] = {type: 4, index: 148};// RNM(primitivePathExpr)
/* annotationExpr */
this.rules[135].opcodes = [];
this.rules[135].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[135].opcodes[1] = {type: 4, index: 136};// RNM(annotationInQuery)
this.rules[135].opcodes[2] = {type: 3, min: 0, max: 1};// REP
this.rules[135].opcodes[3] = {type: 1, children: [4,5,6,7]};// ALT
this.rules[135].opcodes[4] = {type: 4, index: 146};// RNM(collectionPathExpr)
this.rules[135].opcodes[5] = {type: 4, index: 143};// RNM(singleNavigationExpr)
this.rules[135].opcodes[6] = {type: 4, index: 147};// RNM(complexPathExpr)
this.rules[135].opcodes[7] = {type: 4, index: 148};// RNM(primitivePathExpr)
/* annotationInQuery */
this.rules[136].opcodes = [];
this.rules[136].opcodes[0] = {type: 2, children: [1,2,6,7]};// CAT
this.rules[136].opcodes[1] = {type: 4, index: 388};// RNM(AT)
this.rules[136].opcodes[2] = {type: 3, min: 0, max: 1};// REP
this.rules[136].opcodes[3] = {type: 2, children: [4,5]};// CAT
this.rules[136].opcodes[4] = {type: 4, index: 240};// RNM(namespace)
this.rules[136].opcodes[5] = {type: 7, string: [46]};// TLS
this.rules[136].opcodes[6] = {type: 4, index: 249};// RNM(termName)
this.rules[136].opcodes[7] = {type: 3, min: 0, max: 1};// REP
this.rules[136].opcodes[8] = {type: 2, children: [9,10]};// CAT
this.rules[136].opcodes[9] = {type: 4, index: 392};// RNM(HASH)
this.rules[136].opcodes[10] = {type: 4, index: 138};// RNM(annotationQualifier)
/* annotationInFragment */
this.rules[137].opcodes = [];
this.rules[137].opcodes[0] = {type: 2, children: [1,2,6,7]};// CAT
this.rules[137].opcodes[1] = {type: 4, index: 388};// RNM(AT)
this.rules[137].opcodes[2] = {type: 3, min: 0, max: 1};// REP
this.rules[137].opcodes[3] = {type: 2, children: [4,5]};// CAT
this.rules[137].opcodes[4] = {type: 4, index: 240};// RNM(namespace)
this.rules[137].opcodes[5] = {type: 7, string: [46]};// TLS
this.rules[137].opcodes[6] = {type: 4, index: 249};// RNM(termName)
this.rules[137].opcodes[7] = {type: 3, min: 0, max: 1};// REP
this.rules[137].opcodes[8] = {type: 2, children: [9,10]};// CAT
this.rules[137].opcodes[9] = {type: 7, string: [35]};// TLS
this.rules[137].opcodes[10] = {type: 4, index: 138};// RNM(annotationQualifier)
/* annotationQualifier */
this.rules[138].opcodes = [];
this.rules[138].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* inscopeVariableExpr */
this.rules[139].opcodes = [];
this.rules[139].opcodes[0] = {type: 1, children: [1,2,3]};// ALT
this.rules[139].opcodes[1] = {type: 4, index: 140};// RNM(implicitVariableExpr)
this.rules[139].opcodes[2] = {type: 4, index: 50};// RNM(parameterAlias)
this.rules[139].opcodes[3] = {type: 4, index: 141};// RNM(lambdaVariableExpr)
/* implicitVariableExpr */
this.rules[140].opcodes = [];
this.rules[140].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[140].opcodes[1] = {type: 6, string: [36,105,116]};// TBS
this.rules[140].opcodes[2] = {type: 6, string: [36,116,104,105,115]};// TBS
/* lambdaVariableExpr */
this.rules[141].opcodes = [];
this.rules[141].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* collectionNavigationExpr */
this.rules[142].opcodes = [];
this.rules[142].opcodes[0] = {type: 2, children: [1,5]};// CAT
this.rules[142].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[142].opcodes[2] = {type: 2, children: [3,4]};// CAT
this.rules[142].opcodes[3] = {type: 7, string: [47]};// TLS
this.rules[142].opcodes[4] = {type: 4, index: 238};// RNM(optionallyQualifiedEntityTypeName)
this.rules[142].opcodes[5] = {type: 1, children: [6,7,11]};// ALT
this.rules[142].opcodes[6] = {type: 4, index: 146};// RNM(collectionPathExpr)
this.rules[142].opcodes[7] = {type: 2, children: [8,9]};// CAT
this.rules[142].opcodes[8] = {type: 4, index: 7};// RNM(keyPredicate)
this.rules[142].opcodes[9] = {type: 3, min: 0, max: 1};// REP
this.rules[142].opcodes[10] = {type: 4, index: 143};// RNM(singleNavigationExpr)
this.rules[142].opcodes[11] = {type: 2, children: [12,13]};// CAT
this.rules[142].opcodes[12] = {type: 4, index: 144};// RNM(filterExpr)
this.rules[142].opcodes[13] = {type: 3, min: 0, max: 1};// REP
this.rules[142].opcodes[14] = {type: 4, index: 142};// RNM(collectionNavigationExpr)
/* singleNavigationExpr */
this.rules[143].opcodes = [];
this.rules[143].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[143].opcodes[1] = {type: 7, string: [47]};// TLS
this.rules[143].opcodes[2] = {type: 4, index: 132};// RNM(memberExpr)
/* filterExpr */
this.rules[144].opcodes = [];
this.rules[144].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[144].opcodes[1] = {type: 6, string: [47,36,102,105,108,116,101,114]};// TBS
this.rules[144].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[144].opcodes[3] = {type: 4, index: 129};// RNM(boolCommonExpr)
this.rules[144].opcodes[4] = {type: 4, index: 398};// RNM(CLOSE)
/* complexColPathExpr */
this.rules[145].opcodes = [];
this.rules[145].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[145].opcodes[1] = {type: 4, index: 146};// RNM(collectionPathExpr)
this.rules[145].opcodes[2] = {type: 2, children: [3,4,5]};// CAT
this.rules[145].opcodes[3] = {type: 7, string: [47]};// TLS
this.rules[145].opcodes[4] = {type: 4, index: 239};// RNM(optionallyQualifiedComplexTypeName)
this.rules[145].opcodes[5] = {type: 3, min: 0, max: 1};// REP
this.rules[145].opcodes[6] = {type: 4, index: 146};// RNM(collectionPathExpr)
/* collectionPathExpr */
this.rules[146].opcodes = [];
this.rules[146].opcodes[0] = {type: 1, children: [1,12,16,19,22,25]};// ALT
this.rules[146].opcodes[1] = {type: 2, children: [2,3]};// CAT
this.rules[146].opcodes[2] = {type: 4, index: 25};// RNM(count)
this.rules[146].opcodes[3] = {type: 3, min: 0, max: 1};// REP
this.rules[146].opcodes[4] = {type: 2, children: [5,6,7,11]};// CAT
this.rules[146].opcodes[5] = {type: 4, index: 397};// RNM(OPEN)
this.rules[146].opcodes[6] = {type: 4, index: 70};// RNM(expandCountOption)
this.rules[146].opcodes[7] = {type: 3, min: 0, max: Infinity};// REP
this.rules[146].opcodes[8] = {type: 2, children: [9,10]};// CAT
this.rules[146].opcodes[9] = {type: 4, index: 394};// RNM(SEMI)
this.rules[146].opcodes[10] = {type: 4, index: 70};// RNM(expandCountOption)
this.rules[146].opcodes[11] = {type: 4, index: 398};// RNM(CLOSE)
this.rules[146].opcodes[12] = {type: 2, children: [13,14]};// CAT
this.rules[146].opcodes[13] = {type: 4, index: 144};// RNM(filterExpr)
this.rules[146].opcodes[14] = {type: 3, min: 0, max: 1};// REP
this.rules[146].opcodes[15] = {type: 4, index: 146};// RNM(collectionPathExpr)
this.rules[146].opcodes[16] = {type: 2, children: [17,18]};// CAT
this.rules[146].opcodes[17] = {type: 7, string: [47]};// TLS
this.rules[146].opcodes[18] = {type: 4, index: 153};// RNM(anyExpr)
this.rules[146].opcodes[19] = {type: 2, children: [20,21]};// CAT
this.rules[146].opcodes[20] = {type: 7, string: [47]};// TLS
this.rules[146].opcodes[21] = {type: 4, index: 154};// RNM(allExpr)
this.rules[146].opcodes[22] = {type: 2, children: [23,24]};// CAT
this.rules[146].opcodes[23] = {type: 7, string: [47]};// TLS
this.rules[146].opcodes[24] = {type: 4, index: 149};// RNM(boundFunctionExpr)
this.rules[146].opcodes[25] = {type: 2, children: [26,27]};// CAT
this.rules[146].opcodes[26] = {type: 7, string: [47]};// TLS
this.rules[146].opcodes[27] = {type: 4, index: 135};// RNM(annotationExpr)
/* complexPathExpr */
this.rules[147].opcodes = [];
this.rules[147].opcodes[0] = {type: 1, children: [1,4]};// ALT
this.rules[147].opcodes[1] = {type: 2, children: [2,3]};// CAT
this.rules[147].opcodes[2] = {type: 7, string: [47]};// TLS
this.rules[147].opcodes[3] = {type: 4, index: 133};// RNM(directMemberExpr)
this.rules[147].opcodes[4] = {type: 2, children: [5,6,7]};// CAT
this.rules[147].opcodes[5] = {type: 7, string: [47]};// TLS
this.rules[147].opcodes[6] = {type: 4, index: 239};// RNM(optionallyQualifiedComplexTypeName)
this.rules[147].opcodes[7] = {type: 3, min: 0, max: 1};// REP
this.rules[147].opcodes[8] = {type: 2, children: [9,10]};// CAT
this.rules[147].opcodes[9] = {type: 7, string: [47]};// TLS
this.rules[147].opcodes[10] = {type: 4, index: 133};// RNM(directMemberExpr)
/* primitivePathExpr */
this.rules[148].opcodes = [];
this.rules[148].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[148].opcodes[1] = {type: 7, string: [47]};// TLS
this.rules[148].opcodes[2] = {type: 3, min: 0, max: 1};// REP
this.rules[148].opcodes[3] = {type: 1, children: [4,5]};// ALT
this.rules[148].opcodes[4] = {type: 4, index: 135};// RNM(annotationExpr)
this.rules[148].opcodes[5] = {type: 4, index: 149};// RNM(boundFunctionExpr)
/* boundFunctionExpr */
this.rules[149].opcodes = [];
this.rules[149].opcodes[0] = {type: 4, index: 150};// RNM(functionExpr)
/* functionExpr */
this.rules[150].opcodes = [];
this.rules[150].opcodes[0] = {type: 2, children: [1,5]};// CAT
this.rules[150].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[150].opcodes[2] = {type: 2, children: [3,4]};// CAT
this.rules[150].opcodes[3] = {type: 4, index: 240};// RNM(namespace)
this.rules[150].opcodes[4] = {type: 7, string: [46]};// TLS
this.rules[150].opcodes[5] = {type: 1, children: [6,11,16,21,26,31]};// ALT
this.rules[150].opcodes[6] = {type: 2, children: [7,8,9]};// CAT
this.rules[150].opcodes[7] = {type: 4, index: 270};// RNM(entityColFunction)
this.rules[150].opcodes[8] = {type: 4, index: 151};// RNM(functionExprParameters)
this.rules[150].opcodes[9] = {type: 3, min: 0, max: 1};// REP
this.rules[150].opcodes[10] = {type: 4, index: 142};// RNM(collectionNavigationExpr)
this.rules[150].opcodes[11] = {type: 2, children: [12,13,14]};// CAT
this.rules[150].opcodes[12] = {type: 4, index: 269};// RNM(entityFunction)
this.rules[150].opcodes[13] = {type: 4, index: 151};// RNM(functionExprParameters)
this.rules[150].opcodes[14] = {type: 3, min: 0, max: 1};// REP
this.rules[150].opcodes[15] = {type: 4, index: 143};// RNM(singleNavigationExpr)
this.rules[150].opcodes[16] = {type: 2, children: [17,18,19]};// CAT
this.rules[150].opcodes[17] = {type: 4, index: 272};// RNM(complexColFunction)
this.rules[150].opcodes[18] = {type: 4, index: 151};// RNM(functionExprParameters)
this.rules[150].opcodes[19] = {type: 3, min: 0, max: 1};// REP
this.rules[150].opcodes[20] = {type: 4, index: 145};// RNM(complexColPathExpr)
this.rules[150].opcodes[21] = {type: 2, children: [22,23,24]};// CAT
this.rules[150].opcodes[22] = {type: 4, index: 271};// RNM(complexFunction)
this.rules[150].opcodes[23] = {type: 4, index: 151};// RNM(functionExprParameters)
this.rules[150].opcodes[24] = {type: 3, min: 0, max: 1};// REP
this.rules[150].opcodes[25] = {type: 4, index: 147};// RNM(complexPathExpr)
this.rules[150].opcodes[26] = {type: 2, children: [27,28,29]};// CAT
this.rules[150].opcodes[27] = {type: 4, index: 274};// RNM(primitiveColFunction)
this.rules[150].opcodes[28] = {type: 4, index: 151};// RNM(functionExprParameters)
this.rules[150].opcodes[29] = {type: 3, min: 0, max: 1};// REP
this.rules[150].opcodes[30] = {type: 4, index: 146};// RNM(collectionPathExpr)
this.rules[150].opcodes[31] = {type: 2, children: [32,33,34]};// CAT
this.rules[150].opcodes[32] = {type: 4, index: 273};// RNM(primitiveFunction)
this.rules[150].opcodes[33] = {type: 4, index: 151};// RNM(functionExprParameters)
this.rules[150].opcodes[34] = {type: 3, min: 0, max: 1};// REP
this.rules[150].opcodes[35] = {type: 4, index: 148};// RNM(primitivePathExpr)
/* functionExprParameters */
this.rules[151].opcodes = [];
this.rules[151].opcodes[0] = {type: 2, children: [1,2,9]};// CAT
this.rules[151].opcodes[1] = {type: 4, index: 397};// RNM(OPEN)
this.rules[151].opcodes[2] = {type: 3, min: 0, max: 1};// REP
this.rules[151].opcodes[3] = {type: 2, children: [4,5]};// CAT
this.rules[151].opcodes[4] = {type: 4, index: 152};// RNM(functionExprParameter)
this.rules[151].opcodes[5] = {type: 3, min: 0, max: Infinity};// REP
this.rules[151].opcodes[6] = {type: 2, children: [7,8]};// CAT
this.rules[151].opcodes[7] = {type: 4, index: 390};// RNM(COMMA)
this.rules[151].opcodes[8] = {type: 4, index: 152};// RNM(functionExprParameter)
this.rules[151].opcodes[9] = {type: 4, index: 398};// RNM(CLOSE)
/* functionExprParameter */
this.rules[152].opcodes = [];
this.rules[152].opcodes[0] = {type: 2, children: [1,2,3]};// CAT
this.rules[152].opcodes[1] = {type: 4, index: 49};// RNM(parameterName)
this.rules[152].opcodes[2] = {type: 4, index: 391};// RNM(EQ)
this.rules[152].opcodes[3] = {type: 1, children: [4,5]};// ALT
this.rules[152].opcodes[4] = {type: 4, index: 50};// RNM(parameterAlias)
this.rules[152].opcodes[5] = {type: 4, index: 107};// RNM(parameterValue)
/* anyExpr */
this.rules[153].opcodes = [];
this.rules[153].opcodes[0] = {type: 2, children: [1,2,3,4,11,12]};// CAT
this.rules[153].opcodes[1] = {type: 7, string: [97,110,121]};// TLS
this.rules[153].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[153].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[153].opcodes[4] = {type: 3, min: 0, max: 1};// REP
this.rules[153].opcodes[5] = {type: 2, children: [6,7,8,9,10]};// CAT
this.rules[153].opcodes[6] = {type: 4, index: 141};// RNM(lambdaVariableExpr)
this.rules[153].opcodes[7] = {type: 4, index: 387};// RNM(BWS)
this.rules[153].opcodes[8] = {type: 4, index: 389};// RNM(COLON)
this.rules[153].opcodes[9] = {type: 4, index: 387};// RNM(BWS)
this.rules[153].opcodes[10] = {type: 4, index: 155};// RNM(lambdaPredicateExpr)
this.rules[153].opcodes[11] = {type: 4, index: 387};// RNM(BWS)
this.rules[153].opcodes[12] = {type: 4, index: 398};// RNM(CLOSE)
/* allExpr */
this.rules[154].opcodes = [];
this.rules[154].opcodes[0] = {type: 2, children: [1,2,3,4,5,6,7,8,9,10]};// CAT
this.rules[154].opcodes[1] = {type: 7, string: [97,108,108]};// TLS
this.rules[154].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[154].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[154].opcodes[4] = {type: 4, index: 141};// RNM(lambdaVariableExpr)
this.rules[154].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[154].opcodes[6] = {type: 4, index: 389};// RNM(COLON)
this.rules[154].opcodes[7] = {type: 4, index: 387};// RNM(BWS)
this.rules[154].opcodes[8] = {type: 4, index: 155};// RNM(lambdaPredicateExpr)
this.rules[154].opcodes[9] = {type: 4, index: 387};// RNM(BWS)
this.rules[154].opcodes[10] = {type: 4, index: 398};// RNM(CLOSE)
/* lambdaPredicateExpr */
this.rules[155].opcodes = [];
this.rules[155].opcodes[0] = {type: 4, index: 129};// RNM(boolCommonExpr)
/* methodCallExpr */
this.rules[156].opcodes = [];
this.rules[156].opcodes[0] = {type: 1, children: [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]};// ALT
this.rules[156].opcodes[1] = {type: 4, index: 161};// RNM(indexOfMethodCallExpr)
this.rules[156].opcodes[2] = {type: 4, index: 166};// RNM(toLowerMethodCallExpr)
this.rules[156].opcodes[3] = {type: 4, index: 167};// RNM(toUpperMethodCallExpr)
this.rules[156].opcodes[4] = {type: 4, index: 168};// RNM(trimMethodCallExpr)
this.rules[156].opcodes[5] = {type: 4, index: 165};// RNM(substringMethodCallExpr)
this.rules[156].opcodes[6] = {type: 4, index: 158};// RNM(concatMethodCallExpr)
this.rules[156].opcodes[7] = {type: 4, index: 162};// RNM(lengthMethodCallExpr)
this.rules[156].opcodes[8] = {type: 4, index: 163};// RNM(matchesPatternMethodCallExpr)
this.rules[156].opcodes[9] = {type: 4, index: 169};// RNM(yearMethodCallExpr)
this.rules[156].opcodes[10] = {type: 4, index: 170};// RNM(monthMethodCallExpr)
this.rules[156].opcodes[11] = {type: 4, index: 171};// RNM(dayMethodCallExpr)
this.rules[156].opcodes[12] = {type: 4, index: 172};// RNM(hourMethodCallExpr)
this.rules[156].opcodes[13] = {type: 4, index: 173};// RNM(minuteMethodCallExpr)
this.rules[156].opcodes[14] = {type: 4, index: 174};// RNM(secondMethodCallExpr)
this.rules[156].opcodes[15] = {type: 4, index: 175};// RNM(fractionalsecondsMethodCallExpr)
this.rules[156].opcodes[16] = {type: 4, index: 176};// RNM(totalsecondsMethodCallExpr)
this.rules[156].opcodes[17] = {type: 4, index: 177};// RNM(dateMethodCallExpr)
this.rules[156].opcodes[18] = {type: 4, index: 178};// RNM(timeMethodCallExpr)
this.rules[156].opcodes[19] = {type: 4, index: 183};// RNM(roundMethodCallExpr)
this.rules[156].opcodes[20] = {type: 4, index: 184};// RNM(floorMethodCallExpr)
this.rules[156].opcodes[21] = {type: 4, index: 185};// RNM(ceilingMethodCallExpr)
this.rules[156].opcodes[22] = {type: 4, index: 186};// RNM(distanceMethodCallExpr)
this.rules[156].opcodes[23] = {type: 4, index: 187};// RNM(geoLengthMethodCallExpr)
this.rules[156].opcodes[24] = {type: 4, index: 179};// RNM(totalOffsetMinutesMethodCallExpr)
this.rules[156].opcodes[25] = {type: 4, index: 180};// RNM(minDateTimeMethodCallExpr)
this.rules[156].opcodes[26] = {type: 4, index: 181};// RNM(maxDateTimeMethodCallExpr)
this.rules[156].opcodes[27] = {type: 4, index: 182};// RNM(nowMethodCallExpr)
this.rules[156].opcodes[28] = {type: 4, index: 191};// RNM(caseMethodCallExpr)
this.rules[156].opcodes[29] = {type: 4, index: 157};// RNM(boolMethodCallExpr)
/* boolMethodCallExpr */
this.rules[157].opcodes = [];
this.rules[157].opcodes[0] = {type: 1, children: [1,2,3,4,5,6]};// ALT
this.rules[157].opcodes[1] = {type: 4, index: 160};// RNM(endsWithMethodCallExpr)
this.rules[157].opcodes[2] = {type: 4, index: 164};// RNM(startsWithMethodCallExpr)
this.rules[157].opcodes[3] = {type: 4, index: 159};// RNM(containsMethodCallExpr)
this.rules[157].opcodes[4] = {type: 4, index: 188};// RNM(intersectsMethodCallExpr)
this.rules[157].opcodes[5] = {type: 4, index: 189};// RNM(hasSubsetMethodCallExpr)
this.rules[157].opcodes[6] = {type: 4, index: 190};// RNM(hasSubsequenceMethodCallExpr)
/* concatMethodCallExpr */
this.rules[158].opcodes = [];
this.rules[158].opcodes[0] = {type: 2, children: [1,2,3,4,5,6,7,8,9,10]};// CAT
this.rules[158].opcodes[1] = {type: 7, string: [99,111,110,99,97,116]};// TLS
this.rules[158].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[158].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[158].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[158].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[158].opcodes[6] = {type: 4, index: 390};// RNM(COMMA)
this.rules[158].opcodes[7] = {type: 4, index: 387};// RNM(BWS)
this.rules[158].opcodes[8] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[158].opcodes[9] = {type: 4, index: 387};// RNM(BWS)
this.rules[158].opcodes[10] = {type: 4, index: 398};// RNM(CLOSE)
/* containsMethodCallExpr */
this.rules[159].opcodes = [];
this.rules[159].opcodes[0] = {type: 2, children: [1,2,3,4,5,6,7,8,9,10]};// CAT
this.rules[159].opcodes[1] = {type: 7, string: [99,111,110,116,97,105,110,115]};// TLS
this.rules[159].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[159].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[159].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[159].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[159].opcodes[6] = {type: 4, index: 390};// RNM(COMMA)
this.rules[159].opcodes[7] = {type: 4, index: 387};// RNM(BWS)
this.rules[159].opcodes[8] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[159].opcodes[9] = {type: 4, index: 387};// RNM(BWS)
this.rules[159].opcodes[10] = {type: 4, index: 398};// RNM(CLOSE)
/* endsWithMethodCallExpr */
this.rules[160].opcodes = [];
this.rules[160].opcodes[0] = {type: 2, children: [1,2,3,4,5,6,7,8,9,10]};// CAT
this.rules[160].opcodes[1] = {type: 7, string: [101,110,100,115,119,105,116,104]};// TLS
this.rules[160].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[160].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[160].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[160].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[160].opcodes[6] = {type: 4, index: 390};// RNM(COMMA)
this.rules[160].opcodes[7] = {type: 4, index: 387};// RNM(BWS)
this.rules[160].opcodes[8] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[160].opcodes[9] = {type: 4, index: 387};// RNM(BWS)
this.rules[160].opcodes[10] = {type: 4, index: 398};// RNM(CLOSE)
/* indexOfMethodCallExpr */
this.rules[161].opcodes = [];
this.rules[161].opcodes[0] = {type: 2, children: [1,2,3,4,5,6,7,8,9,10]};// CAT
this.rules[161].opcodes[1] = {type: 7, string: [105,110,100,101,120,111,102]};// TLS
this.rules[161].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[161].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[161].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[161].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[161].opcodes[6] = {type: 4, index: 390};// RNM(COMMA)
this.rules[161].opcodes[7] = {type: 4, index: 387};// RNM(BWS)
this.rules[161].opcodes[8] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[161].opcodes[9] = {type: 4, index: 387};// RNM(BWS)
this.rules[161].opcodes[10] = {type: 4, index: 398};// RNM(CLOSE)
/* lengthMethodCallExpr */
this.rules[162].opcodes = [];
this.rules[162].opcodes[0] = {type: 2, children: [1,2,3,4,5,6]};// CAT
this.rules[162].opcodes[1] = {type: 7, string: [108,101,110,103,116,104]};// TLS
this.rules[162].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[162].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[162].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[162].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[162].opcodes[6] = {type: 4, index: 398};// RNM(CLOSE)
/* matchesPatternMethodCallExpr */
this.rules[163].opcodes = [];
this.rules[163].opcodes[0] = {type: 2, children: [1,2,3,4,5,6,7,8,9,10]};// CAT
this.rules[163].opcodes[1] = {type: 7, string: [109,97,116,99,104,101,115,112,97,116,116,101,114,110]};// TLS
this.rules[163].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[163].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[163].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[163].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[163].opcodes[6] = {type: 4, index: 390};// RNM(COMMA)
this.rules[163].opcodes[7] = {type: 4, index: 387};// RNM(BWS)
this.rules[163].opcodes[8] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[163].opcodes[9] = {type: 4, index: 387};// RNM(BWS)
this.rules[163].opcodes[10] = {type: 4, index: 398};// RNM(CLOSE)
/* startsWithMethodCallExpr */
this.rules[164].opcodes = [];
this.rules[164].opcodes[0] = {type: 2, children: [1,2,3,4,5,6,7,8,9,10]};// CAT
this.rules[164].opcodes[1] = {type: 7, string: [115,116,97,114,116,115,119,105,116,104]};// TLS
this.rules[164].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[164].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[164].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[164].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[164].opcodes[6] = {type: 4, index: 390};// RNM(COMMA)
this.rules[164].opcodes[7] = {type: 4, index: 387};// RNM(BWS)
this.rules[164].opcodes[8] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[164].opcodes[9] = {type: 4, index: 387};// RNM(BWS)
this.rules[164].opcodes[10] = {type: 4, index: 398};// RNM(CLOSE)
/* substringMethodCallExpr */
this.rules[165].opcodes = [];
this.rules[165].opcodes[0] = {type: 2, children: [1,2,3,4,5,6,7,8,9,10,16]};// CAT
this.rules[165].opcodes[1] = {type: 7, string: [115,117,98,115,116,114,105,110,103]};// TLS
this.rules[165].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[165].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[165].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[165].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[165].opcodes[6] = {type: 4, index: 390};// RNM(COMMA)
this.rules[165].opcodes[7] = {type: 4, index: 387};// RNM(BWS)
this.rules[165].opcodes[8] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[165].opcodes[9] = {type: 4, index: 387};// RNM(BWS)
this.rules[165].opcodes[10] = {type: 3, min: 0, max: 1};// REP
this.rules[165].opcodes[11] = {type: 2, children: [12,13,14,15]};// CAT
this.rules[165].opcodes[12] = {type: 4, index: 390};// RNM(COMMA)
this.rules[165].opcodes[13] = {type: 4, index: 387};// RNM(BWS)
this.rules[165].opcodes[14] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[165].opcodes[15] = {type: 4, index: 387};// RNM(BWS)
this.rules[165].opcodes[16] = {type: 4, index: 398};// RNM(CLOSE)
/* toLowerMethodCallExpr */
this.rules[166].opcodes = [];
this.rules[166].opcodes[0] = {type: 2, children: [1,2,3,4,5,6]};// CAT
this.rules[166].opcodes[1] = {type: 7, string: [116,111,108,111,119,101,114]};// TLS
this.rules[166].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[166].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[166].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[166].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[166].opcodes[6] = {type: 4, index: 398};// RNM(CLOSE)
/* toUpperMethodCallExpr */
this.rules[167].opcodes = [];
this.rules[167].opcodes[0] = {type: 2, children: [1,2,3,4,5,6]};// CAT
this.rules[167].opcodes[1] = {type: 7, string: [116,111,117,112,112,101,114]};// TLS
this.rules[167].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[167].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[167].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[167].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[167].opcodes[6] = {type: 4, index: 398};// RNM(CLOSE)
/* trimMethodCallExpr */
this.rules[168].opcodes = [];
this.rules[168].opcodes[0] = {type: 2, children: [1,2,3,4,5,6]};// CAT
this.rules[168].opcodes[1] = {type: 7, string: [116,114,105,109]};// TLS
this.rules[168].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[168].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[168].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[168].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[168].opcodes[6] = {type: 4, index: 398};// RNM(CLOSE)
/* yearMethodCallExpr */
this.rules[169].opcodes = [];
this.rules[169].opcodes[0] = {type: 2, children: [1,2,3,4,5,6]};// CAT
this.rules[169].opcodes[1] = {type: 7, string: [121,101,97,114]};// TLS
this.rules[169].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[169].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[169].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[169].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[169].opcodes[6] = {type: 4, index: 398};// RNM(CLOSE)
/* monthMethodCallExpr */
this.rules[170].opcodes = [];
this.rules[170].opcodes[0] = {type: 2, children: [1,2,3,4,5,6]};// CAT
this.rules[170].opcodes[1] = {type: 7, string: [109,111,110,116,104]};// TLS
this.rules[170].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[170].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[170].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[170].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[170].opcodes[6] = {type: 4, index: 398};// RNM(CLOSE)
/* dayMethodCallExpr */
this.rules[171].opcodes = [];
this.rules[171].opcodes[0] = {type: 2, children: [1,2,3,4,5,6]};// CAT
this.rules[171].opcodes[1] = {type: 7, string: [100,97,121]};// TLS
this.rules[171].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[171].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[171].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[171].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[171].opcodes[6] = {type: 4, index: 398};// RNM(CLOSE)
/* hourMethodCallExpr */
this.rules[172].opcodes = [];
this.rules[172].opcodes[0] = {type: 2, children: [1,2,3,4,5,6]};// CAT
this.rules[172].opcodes[1] = {type: 7, string: [104,111,117,114]};// TLS
this.rules[172].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[172].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[172].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[172].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[172].opcodes[6] = {type: 4, index: 398};// RNM(CLOSE)
/* minuteMethodCallExpr */
this.rules[173].opcodes = [];
this.rules[173].opcodes[0] = {type: 2, children: [1,2,3,4,5,6]};// CAT
this.rules[173].opcodes[1] = {type: 7, string: [109,105,110,117,116,101]};// TLS
this.rules[173].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[173].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[173].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[173].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[173].opcodes[6] = {type: 4, index: 398};// RNM(CLOSE)
/* secondMethodCallExpr */
this.rules[174].opcodes = [];
this.rules[174].opcodes[0] = {type: 2, children: [1,2,3,4,5,6]};// CAT
this.rules[174].opcodes[1] = {type: 7, string: [115,101,99,111,110,100]};// TLS
this.rules[174].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[174].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[174].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[174].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[174].opcodes[6] = {type: 4, index: 398};// RNM(CLOSE)
/* fractionalsecondsMethodCallExpr */
this.rules[175].opcodes = [];
this.rules[175].opcodes[0] = {type: 2, children: [1,2,3,4,5,6]};// CAT
this.rules[175].opcodes[1] = {type: 7, string: [102,114,97,99,116,105,111,110,97,108,115,101,99,111,110,100,115]};// TLS
this.rules[175].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[175].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[175].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[175].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[175].opcodes[6] = {type: 4, index: 398};// RNM(CLOSE)
/* totalsecondsMethodCallExpr */
this.rules[176].opcodes = [];
this.rules[176].opcodes[0] = {type: 2, children: [1,2,3,4,5,6]};// CAT
this.rules[176].opcodes[1] = {type: 7, string: [116,111,116,97,108,115,101,99,111,110,100,115]};// TLS
this.rules[176].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[176].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[176].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[176].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[176].opcodes[6] = {type: 4, index: 398};// RNM(CLOSE)
/* dateMethodCallExpr */
this.rules[177].opcodes = [];
this.rules[177].opcodes[0] = {type: 2, children: [1,2,3,4,5,6]};// CAT
this.rules[177].opcodes[1] = {type: 7, string: [100,97,116,101]};// TLS
this.rules[177].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[177].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[177].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[177].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[177].opcodes[6] = {type: 4, index: 398};// RNM(CLOSE)
/* timeMethodCallExpr */
this.rules[178].opcodes = [];
this.rules[178].opcodes[0] = {type: 2, children: [1,2,3,4,5,6]};// CAT
this.rules[178].opcodes[1] = {type: 7, string: [116,105,109,101]};// TLS
this.rules[178].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[178].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[178].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[178].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[178].opcodes[6] = {type: 4, index: 398};// RNM(CLOSE)
/* totalOffsetMinutesMethodCallExpr */
this.rules[179].opcodes = [];
this.rules[179].opcodes[0] = {type: 2, children: [1,2,3,4,5,6]};// CAT
this.rules[179].opcodes[1] = {type: 7, string: [116,111,116,97,108,111,102,102,115,101,116,109,105,110,117,116,101,115]};// TLS
this.rules[179].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[179].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[179].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[179].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[179].opcodes[6] = {type: 4, index: 398};// RNM(CLOSE)
/* minDateTimeMethodCallExpr */
this.rules[180].opcodes = [];
this.rules[180].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[180].opcodes[1] = {type: 7, string: [109,105,110,100,97,116,101,116,105,109,101]};// TLS
this.rules[180].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[180].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[180].opcodes[4] = {type: 4, index: 398};// RNM(CLOSE)
/* maxDateTimeMethodCallExpr */
this.rules[181].opcodes = [];
this.rules[181].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[181].opcodes[1] = {type: 7, string: [109,97,120,100,97,116,101,116,105,109,101]};// TLS
this.rules[181].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[181].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[181].opcodes[4] = {type: 4, index: 398};// RNM(CLOSE)
/* nowMethodCallExpr */
this.rules[182].opcodes = [];
this.rules[182].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[182].opcodes[1] = {type: 7, string: [110,111,119]};// TLS
this.rules[182].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[182].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[182].opcodes[4] = {type: 4, index: 398};// RNM(CLOSE)
/* roundMethodCallExpr */
this.rules[183].opcodes = [];
this.rules[183].opcodes[0] = {type: 2, children: [1,2,3,4,5,6]};// CAT
this.rules[183].opcodes[1] = {type: 7, string: [114,111,117,110,100]};// TLS
this.rules[183].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[183].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[183].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[183].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[183].opcodes[6] = {type: 4, index: 398};// RNM(CLOSE)
/* floorMethodCallExpr */
this.rules[184].opcodes = [];
this.rules[184].opcodes[0] = {type: 2, children: [1,2,3,4,5,6]};// CAT
this.rules[184].opcodes[1] = {type: 7, string: [102,108,111,111,114]};// TLS
this.rules[184].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[184].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[184].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[184].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[184].opcodes[6] = {type: 4, index: 398};// RNM(CLOSE)
/* ceilingMethodCallExpr */
this.rules[185].opcodes = [];
this.rules[185].opcodes[0] = {type: 2, children: [1,2,3,4,5,6]};// CAT
this.rules[185].opcodes[1] = {type: 7, string: [99,101,105,108,105,110,103]};// TLS
this.rules[185].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[185].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[185].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[185].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[185].opcodes[6] = {type: 4, index: 398};// RNM(CLOSE)
/* distanceMethodCallExpr */
this.rules[186].opcodes = [];
this.rules[186].opcodes[0] = {type: 2, children: [1,2,3,4,5,6,7,8,9,10]};// CAT
this.rules[186].opcodes[1] = {type: 7, string: [103,101,111,46,100,105,115,116,97,110,99,101]};// TLS
this.rules[186].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[186].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[186].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[186].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[186].opcodes[6] = {type: 4, index: 390};// RNM(COMMA)
this.rules[186].opcodes[7] = {type: 4, index: 387};// RNM(BWS)
this.rules[186].opcodes[8] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[186].opcodes[9] = {type: 4, index: 387};// RNM(BWS)
this.rules[186].opcodes[10] = {type: 4, index: 398};// RNM(CLOSE)
/* geoLengthMethodCallExpr */
this.rules[187].opcodes = [];
this.rules[187].opcodes[0] = {type: 2, children: [1,2,3,4,5,6]};// CAT
this.rules[187].opcodes[1] = {type: 7, string: [103,101,111,46,108,101,110,103,116,104]};// TLS
this.rules[187].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[187].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[187].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[187].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[187].opcodes[6] = {type: 4, index: 398};// RNM(CLOSE)
/* intersectsMethodCallExpr */
this.rules[188].opcodes = [];
this.rules[188].opcodes[0] = {type: 2, children: [1,2,3,4,5,6,7,8,9,10]};// CAT
this.rules[188].opcodes[1] = {type: 7, string: [103,101,111,46,105,110,116,101,114,115,101,99,116,115]};// TLS
this.rules[188].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[188].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[188].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[188].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[188].opcodes[6] = {type: 4, index: 390};// RNM(COMMA)
this.rules[188].opcodes[7] = {type: 4, index: 387};// RNM(BWS)
this.rules[188].opcodes[8] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[188].opcodes[9] = {type: 4, index: 387};// RNM(BWS)
this.rules[188].opcodes[10] = {type: 4, index: 398};// RNM(CLOSE)
/* hasSubsetMethodCallExpr */
this.rules[189].opcodes = [];
this.rules[189].opcodes[0] = {type: 2, children: [1,2,3,4,5,6,7,8,9,10]};// CAT
this.rules[189].opcodes[1] = {type: 7, string: [104,97,115,115,117,98,115,101,116]};// TLS
this.rules[189].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[189].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[189].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[189].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[189].opcodes[6] = {type: 4, index: 390};// RNM(COMMA)
this.rules[189].opcodes[7] = {type: 4, index: 387};// RNM(BWS)
this.rules[189].opcodes[8] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[189].opcodes[9] = {type: 4, index: 387};// RNM(BWS)
this.rules[189].opcodes[10] = {type: 4, index: 398};// RNM(CLOSE)
/* hasSubsequenceMethodCallExpr */
this.rules[190].opcodes = [];
this.rules[190].opcodes[0] = {type: 2, children: [1,2,3,4,5,6,7,8,9,10]};// CAT
this.rules[190].opcodes[1] = {type: 7, string: [104,97,115,115,117,98,115,101,113,117,101,110,99,101]};// TLS
this.rules[190].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[190].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[190].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[190].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[190].opcodes[6] = {type: 4, index: 390};// RNM(COMMA)
this.rules[190].opcodes[7] = {type: 4, index: 387};// RNM(BWS)
this.rules[190].opcodes[8] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[190].opcodes[9] = {type: 4, index: 387};// RNM(BWS)
this.rules[190].opcodes[10] = {type: 4, index: 398};// RNM(CLOSE)
/* caseMethodCallExpr */
this.rules[191].opcodes = [];
this.rules[191].opcodes[0] = {type: 2, children: [1,2,3,4,5,6,7,8,9,10,20]};// CAT
this.rules[191].opcodes[1] = {type: 7, string: [99,97,115,101]};// TLS
this.rules[191].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[191].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[191].opcodes[4] = {type: 4, index: 129};// RNM(boolCommonExpr)
this.rules[191].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
this.rules[191].opcodes[6] = {type: 4, index: 389};// RNM(COLON)
this.rules[191].opcodes[7] = {type: 4, index: 387};// RNM(BWS)
this.rules[191].opcodes[8] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[191].opcodes[9] = {type: 4, index: 387};// RNM(BWS)
this.rules[191].opcodes[10] = {type: 3, min: 0, max: Infinity};// REP
this.rules[191].opcodes[11] = {type: 2, children: [12,13,14,15,16,17,18,19]};// CAT
this.rules[191].opcodes[12] = {type: 4, index: 390};// RNM(COMMA)
this.rules[191].opcodes[13] = {type: 4, index: 387};// RNM(BWS)
this.rules[191].opcodes[14] = {type: 4, index: 129};// RNM(boolCommonExpr)
this.rules[191].opcodes[15] = {type: 4, index: 387};// RNM(BWS)
this.rules[191].opcodes[16] = {type: 4, index: 389};// RNM(COLON)
this.rules[191].opcodes[17] = {type: 4, index: 387};// RNM(BWS)
this.rules[191].opcodes[18] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[191].opcodes[19] = {type: 4, index: 387};// RNM(BWS)
this.rules[191].opcodes[20] = {type: 4, index: 398};// RNM(CLOSE)
/* parenExpr */
this.rules[192].opcodes = [];
this.rules[192].opcodes[0] = {type: 2, children: [1,2,3,4,5]};// CAT
this.rules[192].opcodes[1] = {type: 4, index: 397};// RNM(OPEN)
this.rules[192].opcodes[2] = {type: 4, index: 387};// RNM(BWS)
this.rules[192].opcodes[3] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[192].opcodes[4] = {type: 4, index: 387};// RNM(BWS)
this.rules[192].opcodes[5] = {type: 4, index: 398};// RNM(CLOSE)
/* listExpr */
this.rules[193].opcodes = [];
this.rules[193].opcodes[0] = {type: 2, children: [1,2,3,4,5,11]};// CAT
this.rules[193].opcodes[1] = {type: 4, index: 397};// RNM(OPEN)
this.rules[193].opcodes[2] = {type: 4, index: 387};// RNM(BWS)
this.rules[193].opcodes[3] = {type: 4, index: 281};// RNM(primitiveLiteral)
this.rules[193].opcodes[4] = {type: 4, index: 387};// RNM(BWS)
this.rules[193].opcodes[5] = {type: 3, min: 0, max: Infinity};// REP
this.rules[193].opcodes[6] = {type: 2, children: [7,8,9,10]};// CAT
this.rules[193].opcodes[7] = {type: 4, index: 390};// RNM(COMMA)
this.rules[193].opcodes[8] = {type: 4, index: 387};// RNM(BWS)
this.rules[193].opcodes[9] = {type: 4, index: 281};// RNM(primitiveLiteral)
this.rules[193].opcodes[10] = {type: 4, index: 387};// RNM(BWS)
this.rules[193].opcodes[11] = {type: 4, index: 398};// RNM(CLOSE)
/* andExpr */
this.rules[194].opcodes = [];
this.rules[194].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[194].opcodes[1] = {type: 4, index: 386};// RNM(RWS)
this.rules[194].opcodes[2] = {type: 7, string: [97,110,100]};// TLS
this.rules[194].opcodes[3] = {type: 4, index: 386};// RNM(RWS)
this.rules[194].opcodes[4] = {type: 4, index: 129};// RNM(boolCommonExpr)
/* orExpr */
this.rules[195].opcodes = [];
this.rules[195].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[195].opcodes[1] = {type: 4, index: 386};// RNM(RWS)
this.rules[195].opcodes[2] = {type: 7, string: [111,114]};// TLS
this.rules[195].opcodes[3] = {type: 4, index: 386};// RNM(RWS)
this.rules[195].opcodes[4] = {type: 4, index: 129};// RNM(boolCommonExpr)
/* eqExpr */
this.rules[196].opcodes = [];
this.rules[196].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[196].opcodes[1] = {type: 4, index: 386};// RNM(RWS)
this.rules[196].opcodes[2] = {type: 7, string: [101,113]};// TLS
this.rules[196].opcodes[3] = {type: 4, index: 386};// RNM(RWS)
this.rules[196].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
/* neExpr */
this.rules[197].opcodes = [];
this.rules[197].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[197].opcodes[1] = {type: 4, index: 386};// RNM(RWS)
this.rules[197].opcodes[2] = {type: 7, string: [110,101]};// TLS
this.rules[197].opcodes[3] = {type: 4, index: 386};// RNM(RWS)
this.rules[197].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
/* ltExpr */
this.rules[198].opcodes = [];
this.rules[198].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[198].opcodes[1] = {type: 4, index: 386};// RNM(RWS)
this.rules[198].opcodes[2] = {type: 7, string: [108,116]};// TLS
this.rules[198].opcodes[3] = {type: 4, index: 386};// RNM(RWS)
this.rules[198].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
/* leExpr */
this.rules[199].opcodes = [];
this.rules[199].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[199].opcodes[1] = {type: 4, index: 386};// RNM(RWS)
this.rules[199].opcodes[2] = {type: 7, string: [108,101]};// TLS
this.rules[199].opcodes[3] = {type: 4, index: 386};// RNM(RWS)
this.rules[199].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
/* gtExpr */
this.rules[200].opcodes = [];
this.rules[200].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[200].opcodes[1] = {type: 4, index: 386};// RNM(RWS)
this.rules[200].opcodes[2] = {type: 7, string: [103,116]};// TLS
this.rules[200].opcodes[3] = {type: 4, index: 386};// RNM(RWS)
this.rules[200].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
/* geExpr */
this.rules[201].opcodes = [];
this.rules[201].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[201].opcodes[1] = {type: 4, index: 386};// RNM(RWS)
this.rules[201].opcodes[2] = {type: 7, string: [103,101]};// TLS
this.rules[201].opcodes[3] = {type: 4, index: 386};// RNM(RWS)
this.rules[201].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
/* inExpr */
this.rules[202].opcodes = [];
this.rules[202].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[202].opcodes[1] = {type: 4, index: 386};// RNM(RWS)
this.rules[202].opcodes[2] = {type: 7, string: [105,110]};// TLS
this.rules[202].opcodes[3] = {type: 4, index: 386};// RNM(RWS)
this.rules[202].opcodes[4] = {type: 1, children: [5,6]};// ALT
this.rules[202].opcodes[5] = {type: 4, index: 193};// RNM(listExpr)
this.rules[202].opcodes[6] = {type: 4, index: 128};// RNM(commonExpr)
/* hasExpr */
this.rules[203].opcodes = [];
this.rules[203].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[203].opcodes[1] = {type: 4, index: 386};// RNM(RWS)
this.rules[203].opcodes[2] = {type: 7, string: [104,97,115]};// TLS
this.rules[203].opcodes[3] = {type: 4, index: 386};// RNM(RWS)
this.rules[203].opcodes[4] = {type: 4, index: 318};// RNM(enum)
/* addExpr */
this.rules[204].opcodes = [];
this.rules[204].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[204].opcodes[1] = {type: 4, index: 386};// RNM(RWS)
this.rules[204].opcodes[2] = {type: 7, string: [97,100,100]};// TLS
this.rules[204].opcodes[3] = {type: 4, index: 386};// RNM(RWS)
this.rules[204].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
/* subExpr */
this.rules[205].opcodes = [];
this.rules[205].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[205].opcodes[1] = {type: 4, index: 386};// RNM(RWS)
this.rules[205].opcodes[2] = {type: 7, string: [115,117,98]};// TLS
this.rules[205].opcodes[3] = {type: 4, index: 386};// RNM(RWS)
this.rules[205].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
/* mulExpr */
this.rules[206].opcodes = [];
this.rules[206].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[206].opcodes[1] = {type: 4, index: 386};// RNM(RWS)
this.rules[206].opcodes[2] = {type: 7, string: [109,117,108]};// TLS
this.rules[206].opcodes[3] = {type: 4, index: 386};// RNM(RWS)
this.rules[206].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
/* divExpr */
this.rules[207].opcodes = [];
this.rules[207].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[207].opcodes[1] = {type: 4, index: 386};// RNM(RWS)
this.rules[207].opcodes[2] = {type: 7, string: [100,105,118]};// TLS
this.rules[207].opcodes[3] = {type: 4, index: 386};// RNM(RWS)
this.rules[207].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
/* divbyExpr */
this.rules[208].opcodes = [];
this.rules[208].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[208].opcodes[1] = {type: 4, index: 386};// RNM(RWS)
this.rules[208].opcodes[2] = {type: 7, string: [100,105,118,98,121]};// TLS
this.rules[208].opcodes[3] = {type: 4, index: 386};// RNM(RWS)
this.rules[208].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
/* modExpr */
this.rules[209].opcodes = [];
this.rules[209].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[209].opcodes[1] = {type: 4, index: 386};// RNM(RWS)
this.rules[209].opcodes[2] = {type: 7, string: [109,111,100]};// TLS
this.rules[209].opcodes[3] = {type: 4, index: 386};// RNM(RWS)
this.rules[209].opcodes[4] = {type: 4, index: 128};// RNM(commonExpr)
/* negateExpr */
this.rules[210].opcodes = [];
this.rules[210].opcodes[0] = {type: 2, children: [1,2,3]};// CAT
this.rules[210].opcodes[1] = {type: 7, string: [45]};// TLS
this.rules[210].opcodes[2] = {type: 4, index: 387};// RNM(BWS)
this.rules[210].opcodes[3] = {type: 4, index: 128};// RNM(commonExpr)
/* notExpr */
this.rules[211].opcodes = [];
this.rules[211].opcodes[0] = {type: 2, children: [1,2,3]};// CAT
this.rules[211].opcodes[1] = {type: 7, string: [110,111,116]};// TLS
this.rules[211].opcodes[2] = {type: 4, index: 386};// RNM(RWS)
this.rules[211].opcodes[3] = {type: 4, index: 129};// RNM(boolCommonExpr)
/* isofExpr */
this.rules[212].opcodes = [];
this.rules[212].opcodes[0] = {type: 2, children: [1,2,3,4,10,11,12]};// CAT
this.rules[212].opcodes[1] = {type: 7, string: [105,115,111,102]};// TLS
this.rules[212].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[212].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[212].opcodes[4] = {type: 3, min: 0, max: 1};// REP
this.rules[212].opcodes[5] = {type: 2, children: [6,7,8,9]};// CAT
this.rules[212].opcodes[6] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[212].opcodes[7] = {type: 4, index: 387};// RNM(BWS)
this.rules[212].opcodes[8] = {type: 4, index: 390};// RNM(COMMA)
this.rules[212].opcodes[9] = {type: 4, index: 387};// RNM(BWS)
this.rules[212].opcodes[10] = {type: 4, index: 231};// RNM(optionallyQualifiedTypeName)
this.rules[212].opcodes[11] = {type: 4, index: 387};// RNM(BWS)
this.rules[212].opcodes[12] = {type: 4, index: 398};// RNM(CLOSE)
/* castExpr */
this.rules[213].opcodes = [];
this.rules[213].opcodes[0] = {type: 2, children: [1,2,3,4,10,11,12]};// CAT
this.rules[213].opcodes[1] = {type: 7, string: [99,97,115,116]};// TLS
this.rules[213].opcodes[2] = {type: 4, index: 397};// RNM(OPEN)
this.rules[213].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
this.rules[213].opcodes[4] = {type: 3, min: 0, max: 1};// REP
this.rules[213].opcodes[5] = {type: 2, children: [6,7,8,9]};// CAT
this.rules[213].opcodes[6] = {type: 4, index: 128};// RNM(commonExpr)
this.rules[213].opcodes[7] = {type: 4, index: 387};// RNM(BWS)
this.rules[213].opcodes[8] = {type: 4, index: 390};// RNM(COMMA)
this.rules[213].opcodes[9] = {type: 4, index: 387};// RNM(BWS)
this.rules[213].opcodes[10] = {type: 4, index: 231};// RNM(optionallyQualifiedTypeName)
this.rules[213].opcodes[11] = {type: 4, index: 387};// RNM(BWS)
this.rules[213].opcodes[12] = {type: 4, index: 398};// RNM(CLOSE)
/* arrayOrObject */
this.rules[214].opcodes = [];
this.rules[214].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[214].opcodes[1] = {type: 4, index: 215};// RNM(array)
this.rules[214].opcodes[2] = {type: 4, index: 216};// RNM(object)
/* array */
this.rules[215].opcodes = [];
this.rules[215].opcodes[0] = {type: 2, children: [1,2,9]};// CAT
this.rules[215].opcodes[1] = {type: 4, index: 221};// RNM(begin-array)
this.rules[215].opcodes[2] = {type: 3, min: 0, max: 1};// REP
this.rules[215].opcodes[3] = {type: 2, children: [4,5]};// CAT
this.rules[215].opcodes[4] = {type: 4, index: 218};// RNM(valueInUrl)
this.rules[215].opcodes[5] = {type: 3, min: 0, max: Infinity};// REP
this.rules[215].opcodes[6] = {type: 2, children: [7,8]};// CAT
this.rules[215].opcodes[7] = {type: 4, index: 225};// RNM(value-separator)
this.rules[215].opcodes[8] = {type: 4, index: 218};// RNM(valueInUrl)
this.rules[215].opcodes[9] = {type: 4, index: 222};// RNM(end-array)
/* object */
this.rules[216].opcodes = [];
this.rules[216].opcodes[0] = {type: 2, children: [1,2,9]};// CAT
this.rules[216].opcodes[1] = {type: 4, index: 219};// RNM(begin-object)
this.rules[216].opcodes[2] = {type: 3, min: 0, max: 1};// REP
this.rules[216].opcodes[3] = {type: 2, children: [4,5]};// CAT
this.rules[216].opcodes[4] = {type: 4, index: 217};// RNM(member)
this.rules[216].opcodes[5] = {type: 3, min: 0, max: Infinity};// REP
this.rules[216].opcodes[6] = {type: 2, children: [7,8]};// CAT
this.rules[216].opcodes[7] = {type: 4, index: 225};// RNM(value-separator)
this.rules[216].opcodes[8] = {type: 4, index: 217};// RNM(member)
this.rules[216].opcodes[9] = {type: 4, index: 220};// RNM(end-object)
/* member */
this.rules[217].opcodes = [];
this.rules[217].opcodes[0] = {type: 2, children: [1,2,3]};// CAT
this.rules[217].opcodes[1] = {type: 4, index: 226};// RNM(stringInUrl)
this.rules[217].opcodes[2] = {type: 4, index: 224};// RNM(name-separator)
this.rules[217].opcodes[3] = {type: 4, index: 218};// RNM(valueInUrl)
/* valueInUrl */
this.rules[218].opcodes = [];
this.rules[218].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[218].opcodes[1] = {type: 4, index: 226};// RNM(stringInUrl)
this.rules[218].opcodes[2] = {type: 4, index: 128};// RNM(commonExpr)
/* begin-object */
this.rules[219].opcodes = [];
this.rules[219].opcodes[0] = {type: 2, children: [1,2,5]};// CAT
this.rules[219].opcodes[1] = {type: 4, index: 387};// RNM(BWS)
this.rules[219].opcodes[2] = {type: 1, children: [3,4]};// ALT
this.rules[219].opcodes[3] = {type: 7, string: [123]};// TLS
this.rules[219].opcodes[4] = {type: 7, string: [37,55,98]};// TLS
this.rules[219].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
/* end-object */
this.rules[220].opcodes = [];
this.rules[220].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[220].opcodes[1] = {type: 4, index: 387};// RNM(BWS)
this.rules[220].opcodes[2] = {type: 1, children: [3,4]};// ALT
this.rules[220].opcodes[3] = {type: 7, string: [125]};// TLS
this.rules[220].opcodes[4] = {type: 7, string: [37,55,100]};// TLS
/* begin-array */
this.rules[221].opcodes = [];
this.rules[221].opcodes[0] = {type: 2, children: [1,2,5]};// CAT
this.rules[221].opcodes[1] = {type: 4, index: 387};// RNM(BWS)
this.rules[221].opcodes[2] = {type: 1, children: [3,4]};// ALT
this.rules[221].opcodes[3] = {type: 7, string: [91]};// TLS
this.rules[221].opcodes[4] = {type: 7, string: [37,53,98]};// TLS
this.rules[221].opcodes[5] = {type: 4, index: 387};// RNM(BWS)
/* end-array */
this.rules[222].opcodes = [];
this.rules[222].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[222].opcodes[1] = {type: 4, index: 387};// RNM(BWS)
this.rules[222].opcodes[2] = {type: 1, children: [3,4]};// ALT
this.rules[222].opcodes[3] = {type: 7, string: [93]};// TLS
this.rules[222].opcodes[4] = {type: 7, string: [37,53,100]};// TLS
/* quotation-mark */
this.rules[223].opcodes = [];
this.rules[223].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[223].opcodes[1] = {type: 4, index: 442};// RNM(DQUOTE)
this.rules[223].opcodes[2] = {type: 7, string: [37,50,50]};// TLS
/* name-separator */
this.rules[224].opcodes = [];
this.rules[224].opcodes[0] = {type: 2, children: [1,2,3]};// CAT
this.rules[224].opcodes[1] = {type: 4, index: 387};// RNM(BWS)
this.rules[224].opcodes[2] = {type: 4, index: 389};// RNM(COLON)
this.rules[224].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
/* value-separator */
this.rules[225].opcodes = [];
this.rules[225].opcodes[0] = {type: 2, children: [1,2,3]};// CAT
this.rules[225].opcodes[1] = {type: 4, index: 387};// RNM(BWS)
this.rules[225].opcodes[2] = {type: 4, index: 390};// RNM(COMMA)
this.rules[225].opcodes[3] = {type: 4, index: 387};// RNM(BWS)
/* stringInUrl */
this.rules[226].opcodes = [];
this.rules[226].opcodes[0] = {type: 2, children: [1,2,4]};// CAT
this.rules[226].opcodes[1] = {type: 4, index: 223};// RNM(quotation-mark)
this.rules[226].opcodes[2] = {type: 3, min: 0, max: Infinity};// REP
this.rules[226].opcodes[3] = {type: 4, index: 227};// RNM(charInJSON)
this.rules[226].opcodes[4] = {type: 4, index: 223};// RNM(quotation-mark)
/* charInJSON */
this.rules[227].opcodes = [];
this.rules[227].opcodes[0] = {type: 1, children: [1,2,3]};// ALT
this.rules[227].opcodes[1] = {type: 4, index: 433};// RNM(qchar-unescaped)
this.rules[227].opcodes[2] = {type: 4, index: 228};// RNM(qchar-JSON-special)
this.rules[227].opcodes[3] = {type: 2, children: [4,5]};// CAT
this.rules[227].opcodes[4] = {type: 4, index: 229};// RNM(escape)
this.rules[227].opcodes[5] = {type: 1, children: [6,7,8,11,12,13,14,15,16]};// ALT
this.rules[227].opcodes[6] = {type: 4, index: 223};// RNM(quotation-mark)
this.rules[227].opcodes[7] = {type: 4, index: 229};// RNM(escape)
this.rules[227].opcodes[8] = {type: 1, children: [9,10]};// ALT
this.rules[227].opcodes[9] = {type: 7, string: [47]};// TLS
this.rules[227].opcodes[10] = {type: 7, string: [37,50,102]};// TLS
this.rules[227].opcodes[11] = {type: 6, string: [98]};// TBS
this.rules[227].opcodes[12] = {type: 6, string: [102]};// TBS
this.rules[227].opcodes[13] = {type: 6, string: [110]};// TBS
this.rules[227].opcodes[14] = {type: 6, string: [114]};// TBS
this.rules[227].opcodes[15] = {type: 6, string: [116]};// TBS
this.rules[227].opcodes[16] = {type: 2, children: [17,18]};// CAT
this.rules[227].opcodes[17] = {type: 6, string: [117]};// TBS
this.rules[227].opcodes[18] = {type: 3, min: 4, max: 4};// REP
this.rules[227].opcodes[19] = {type: 4, index: 440};// RNM(HEXDIG)
/* qchar-JSON-special */
this.rules[228].opcodes = [];
this.rules[228].opcodes[0] = {type: 1, children: [1,2,3,4,5,6]};// ALT
this.rules[228].opcodes[1] = {type: 4, index: 443};// RNM(SP)
this.rules[228].opcodes[2] = {type: 7, string: [58]};// TLS
this.rules[228].opcodes[3] = {type: 7, string: [123]};// TLS
this.rules[228].opcodes[4] = {type: 7, string: [125]};// TLS
this.rules[228].opcodes[5] = {type: 7, string: [91]};// TLS
this.rules[228].opcodes[6] = {type: 7, string: [93]};// TLS
/* escape */
this.rules[229].opcodes = [];
this.rules[229].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[229].opcodes[1] = {type: 7, string: [92]};// TLS
this.rules[229].opcodes[2] = {type: 7, string: [37,53,99]};// TLS
/* qualifiedTypeName */
this.rules[230].opcodes = [];
this.rules[230].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[230].opcodes[1] = {type: 4, index: 232};// RNM(singleQualifiedTypeName)
this.rules[230].opcodes[2] = {type: 2, children: [3,4,5,6]};// CAT
this.rules[230].opcodes[3] = {type: 6, string: [67,111,108,108,101,99,116,105,111,110]};// TBS
this.rules[230].opcodes[4] = {type: 4, index: 397};// RNM(OPEN)
this.rules[230].opcodes[5] = {type: 4, index: 232};// RNM(singleQualifiedTypeName)
this.rules[230].opcodes[6] = {type: 4, index: 398};// RNM(CLOSE)
/* optionallyQualifiedTypeName */
this.rules[231].opcodes = [];
this.rules[231].opcodes[0] = {type: 1, children: [1,2,7,8]};// ALT
this.rules[231].opcodes[1] = {type: 4, index: 232};// RNM(singleQualifiedTypeName)
this.rules[231].opcodes[2] = {type: 2, children: [3,4,5,6]};// CAT
this.rules[231].opcodes[3] = {type: 6, string: [67,111,108,108,101,99,116,105,111,110]};// TBS
this.rules[231].opcodes[4] = {type: 4, index: 397};// RNM(OPEN)
this.rules[231].opcodes[5] = {type: 4, index: 232};// RNM(singleQualifiedTypeName)
this.rules[231].opcodes[6] = {type: 4, index: 398};// RNM(CLOSE)
this.rules[231].opcodes[7] = {type: 4, index: 233};// RNM(singleTypeName)
this.rules[231].opcodes[8] = {type: 2, children: [9,10,11,12]};// CAT
this.rules[231].opcodes[9] = {type: 6, string: [67,111,108,108,101,99,116,105,111,110]};// TBS
this.rules[231].opcodes[10] = {type: 4, index: 397};// RNM(OPEN)
this.rules[231].opcodes[11] = {type: 4, index: 233};// RNM(singleTypeName)
this.rules[231].opcodes[12] = {type: 4, index: 398};// RNM(CLOSE)
/* singleQualifiedTypeName */
this.rules[232].opcodes = [];
this.rules[232].opcodes[0] = {type: 1, children: [1,2,3,4,5]};// ALT
this.rules[232].opcodes[1] = {type: 4, index: 234};// RNM(qualifiedEntityTypeName)
this.rules[232].opcodes[2] = {type: 4, index: 235};// RNM(qualifiedComplexTypeName)
this.rules[232].opcodes[3] = {type: 4, index: 236};// RNM(qualifiedTypeDefinitionName)
this.rules[232].opcodes[4] = {type: 4, index: 237};// RNM(qualifiedEnumTypeName)
this.rules[232].opcodes[5] = {type: 4, index: 253};// RNM(primitiveTypeName)
/* singleTypeName */
this.rules[233].opcodes = [];
this.rules[233].opcodes[0] = {type: 1, children: [1,2,3,4]};// ALT
this.rules[233].opcodes[1] = {type: 4, index: 244};// RNM(entityTypeName)
this.rules[233].opcodes[2] = {type: 4, index: 245};// RNM(complexTypeName)
this.rules[233].opcodes[3] = {type: 4, index: 246};// RNM(typeDefinitionName)
this.rules[233].opcodes[4] = {type: 4, index: 247};// RNM(enumerationTypeName)
/* qualifiedEntityTypeName */
this.rules[234].opcodes = [];
this.rules[234].opcodes[0] = {type: 2, children: [1,2,3]};// CAT
this.rules[234].opcodes[1] = {type: 4, index: 240};// RNM(namespace)
this.rules[234].opcodes[2] = {type: 7, string: [46]};// TLS
this.rules[234].opcodes[3] = {type: 4, index: 244};// RNM(entityTypeName)
/* qualifiedComplexTypeName */
this.rules[235].opcodes = [];
this.rules[235].opcodes[0] = {type: 2, children: [1,2,3]};// CAT
this.rules[235].opcodes[1] = {type: 4, index: 240};// RNM(namespace)
this.rules[235].opcodes[2] = {type: 7, string: [46]};// TLS
this.rules[235].opcodes[3] = {type: 4, index: 245};// RNM(complexTypeName)
/* qualifiedTypeDefinitionName */
this.rules[236].opcodes = [];
this.rules[236].opcodes[0] = {type: 2, children: [1,2,3]};// CAT
this.rules[236].opcodes[1] = {type: 4, index: 240};// RNM(namespace)
this.rules[236].opcodes[2] = {type: 7, string: [46]};// TLS
this.rules[236].opcodes[3] = {type: 4, index: 246};// RNM(typeDefinitionName)
/* qualifiedEnumTypeName */
this.rules[237].opcodes = [];
this.rules[237].opcodes[0] = {type: 2, children: [1,2,3]};// CAT
this.rules[237].opcodes[1] = {type: 4, index: 240};// RNM(namespace)
this.rules[237].opcodes[2] = {type: 7, string: [46]};// TLS
this.rules[237].opcodes[3] = {type: 4, index: 247};// RNM(enumerationTypeName)
/* optionallyQualifiedEntityTypeName */
this.rules[238].opcodes = [];
this.rules[238].opcodes[0] = {type: 2, children: [1,5]};// CAT
this.rules[238].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[238].opcodes[2] = {type: 2, children: [3,4]};// CAT
this.rules[238].opcodes[3] = {type: 4, index: 240};// RNM(namespace)
this.rules[238].opcodes[4] = {type: 7, string: [46]};// TLS
this.rules[238].opcodes[5] = {type: 4, index: 244};// RNM(entityTypeName)
/* optionallyQualifiedComplexTypeName */
this.rules[239].opcodes = [];
this.rules[239].opcodes[0] = {type: 2, children: [1,5]};// CAT
this.rules[239].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[239].opcodes[2] = {type: 2, children: [3,4]};// CAT
this.rules[239].opcodes[3] = {type: 4, index: 240};// RNM(namespace)
this.rules[239].opcodes[4] = {type: 7, string: [46]};// TLS
this.rules[239].opcodes[5] = {type: 4, index: 245};// RNM(complexTypeName)
/* namespace */
this.rules[240].opcodes = [];
this.rules[240].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[240].opcodes[1] = {type: 4, index: 241};// RNM(namespacePart)
this.rules[240].opcodes[2] = {type: 3, min: 0, max: Infinity};// REP
this.rules[240].opcodes[3] = {type: 2, children: [4,5]};// CAT
this.rules[240].opcodes[4] = {type: 7, string: [46]};// TLS
this.rules[240].opcodes[5] = {type: 4, index: 241};// RNM(namespacePart)
/* namespacePart */
this.rules[241].opcodes = [];
this.rules[241].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* entitySetName */
this.rules[242].opcodes = [];
this.rules[242].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* singletonEntity */
this.rules[243].opcodes = [];
this.rules[243].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* entityTypeName */
this.rules[244].opcodes = [];
this.rules[244].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* complexTypeName */
this.rules[245].opcodes = [];
this.rules[245].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* typeDefinitionName */
this.rules[246].opcodes = [];
this.rules[246].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* enumerationTypeName */
this.rules[247].opcodes = [];
this.rules[247].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* enumerationMember */
this.rules[248].opcodes = [];
this.rules[248].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* termName */
this.rules[249].opcodes = [];
this.rules[249].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* odataIdentifier */
this.rules[250].opcodes = [];
this.rules[250].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[250].opcodes[1] = {type: 4, index: 251};// RNM(identifierLeadingCharacter)
this.rules[250].opcodes[2] = {type: 3, min: 0, max: 127};// REP
this.rules[250].opcodes[3] = {type: 4, index: 252};// RNM(identifierCharacter)
/* identifierLeadingCharacter */
this.rules[251].opcodes = [];
this.rules[251].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[251].opcodes[1] = {type: 4, index: 438};// RNM(ALPHA)
this.rules[251].opcodes[2] = {type: 7, string: [95]};// TLS
/* identifierCharacter */
this.rules[252].opcodes = [];
this.rules[252].opcodes[0] = {type: 1, children: [1,2,3]};// ALT
this.rules[252].opcodes[1] = {type: 4, index: 438};// RNM(ALPHA)
this.rules[252].opcodes[2] = {type: 7, string: [95]};// TLS
this.rules[252].opcodes[3] = {type: 4, index: 439};// RNM(DIGIT)
/* primitiveTypeName */
this.rules[253].opcodes = [];
this.rules[253].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[253].opcodes[1] = {type: 6, string: [69,100,109,46]};// TBS
this.rules[253].opcodes[2] = {type: 1, children: [3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]};// ALT
this.rules[253].opcodes[3] = {type: 6, string: [66,105,110,97,114,121]};// TBS
this.rules[253].opcodes[4] = {type: 6, string: [66,111,111,108,101,97,110]};// TBS
this.rules[253].opcodes[5] = {type: 6, string: [66,121,116,101]};// TBS
this.rules[253].opcodes[6] = {type: 6, string: [68,97,116,101]};// TBS
this.rules[253].opcodes[7] = {type: 6, string: [68,97,116,101,84,105,109,101,79,102,102,115,101,116]};// TBS
this.rules[253].opcodes[8] = {type: 6, string: [68,101,99,105,109,97,108]};// TBS
this.rules[253].opcodes[9] = {type: 6, string: [68,111,117,98,108,101]};// TBS
this.rules[253].opcodes[10] = {type: 6, string: [68,117,114,97,116,105,111,110]};// TBS
this.rules[253].opcodes[11] = {type: 6, string: [71,117,105,100]};// TBS
this.rules[253].opcodes[12] = {type: 6, string: [73,110,116,49,54]};// TBS
this.rules[253].opcodes[13] = {type: 6, string: [73,110,116,51,50]};// TBS
this.rules[253].opcodes[14] = {type: 6, string: [73,110,116,54,52]};// TBS
this.rules[253].opcodes[15] = {type: 6, string: [83,66,121,116,101]};// TBS
this.rules[253].opcodes[16] = {type: 6, string: [83,105,110,103,108,101]};// TBS
this.rules[253].opcodes[17] = {type: 6, string: [83,116,114,101,97,109]};// TBS
this.rules[253].opcodes[18] = {type: 6, string: [83,116,114,105,110,103]};// TBS
this.rules[253].opcodes[19] = {type: 6, string: [84,105,109,101,79,102,68,97,121]};// TBS
this.rules[253].opcodes[20] = {type: 2, children: [21,22]};// CAT
this.rules[253].opcodes[21] = {type: 4, index: 254};// RNM(abstractSpatialTypeName)
this.rules[253].opcodes[22] = {type: 3, min: 0, max: 1};// REP
this.rules[253].opcodes[23] = {type: 4, index: 255};// RNM(concreteSpatialTypeName)
/* abstractSpatialTypeName */
this.rules[254].opcodes = [];
this.rules[254].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[254].opcodes[1] = {type: 6, string: [71,101,111,103,114,97,112,104,121]};// TBS
this.rules[254].opcodes[2] = {type: 6, string: [71,101,111,109,101,116,114,121]};// TBS
/* concreteSpatialTypeName */
this.rules[255].opcodes = [];
this.rules[255].opcodes[0] = {type: 1, children: [1,2,3,4,5,6,7]};// ALT
this.rules[255].opcodes[1] = {type: 6, string: [67,111,108,108,101,99,116,105,111,110]};// TBS
this.rules[255].opcodes[2] = {type: 6, string: [76,105,110,101,83,116,114,105,110,103]};// TBS
this.rules[255].opcodes[3] = {type: 6, string: [77,117,108,116,105,76,105,110,101,83,116,114,105,110,103]};// TBS
this.rules[255].opcodes[4] = {type: 6, string: [77,117,108,116,105,80,111,105,110,116]};// TBS
this.rules[255].opcodes[5] = {type: 6, string: [77,117,108,116,105,80,111,108,121,103,111,110]};// TBS
this.rules[255].opcodes[6] = {type: 6, string: [80,111,105,110,116]};// TBS
this.rules[255].opcodes[7] = {type: 6, string: [80,111,108,121,103,111,110]};// TBS
/* primitiveProperty */
this.rules[256].opcodes = [];
this.rules[256].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[256].opcodes[1] = {type: 4, index: 257};// RNM(primitiveKeyProperty)
this.rules[256].opcodes[2] = {type: 4, index: 258};// RNM(primitiveNonKeyProperty)
/* primitiveKeyProperty */
this.rules[257].opcodes = [];
this.rules[257].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* primitiveNonKeyProperty */
this.rules[258].opcodes = [];
this.rules[258].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* primitiveColProperty */
this.rules[259].opcodes = [];
this.rules[259].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* complexProperty */
this.rules[260].opcodes = [];
this.rules[260].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* complexColProperty */
this.rules[261].opcodes = [];
this.rules[261].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* streamProperty */
this.rules[262].opcodes = [];
this.rules[262].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* navigationProperty */
this.rules[263].opcodes = [];
this.rules[263].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[263].opcodes[1] = {type: 4, index: 264};// RNM(entityNavigationProperty)
this.rules[263].opcodes[2] = {type: 4, index: 265};// RNM(entityColNavigationProperty)
/* entityNavigationProperty */
this.rules[264].opcodes = [];
this.rules[264].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* entityColNavigationProperty */
this.rules[265].opcodes = [];
this.rules[265].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* action */
this.rules[266].opcodes = [];
this.rules[266].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* actionImport */
this.rules[267].opcodes = [];
this.rules[267].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* function */
this.rules[268].opcodes = [];
this.rules[268].opcodes[0] = {type: 1, children: [1,2,3,4,5,6]};// ALT
this.rules[268].opcodes[1] = {type: 4, index: 269};// RNM(entityFunction)
this.rules[268].opcodes[2] = {type: 4, index: 270};// RNM(entityColFunction)
this.rules[268].opcodes[3] = {type: 4, index: 271};// RNM(complexFunction)
this.rules[268].opcodes[4] = {type: 4, index: 272};// RNM(complexColFunction)
this.rules[268].opcodes[5] = {type: 4, index: 273};// RNM(primitiveFunction)
this.rules[268].opcodes[6] = {type: 4, index: 274};// RNM(primitiveColFunction)
/* entityFunction */
this.rules[269].opcodes = [];
this.rules[269].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* entityColFunction */
this.rules[270].opcodes = [];
this.rules[270].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* complexFunction */
this.rules[271].opcodes = [];
this.rules[271].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* complexColFunction */
this.rules[272].opcodes = [];
this.rules[272].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* primitiveFunction */
this.rules[273].opcodes = [];
this.rules[273].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* primitiveColFunction */
this.rules[274].opcodes = [];
this.rules[274].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* entityFunctionImport */
this.rules[275].opcodes = [];
this.rules[275].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* entityColFunctionImport */
this.rules[276].opcodes = [];
this.rules[276].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* complexFunctionImport */
this.rules[277].opcodes = [];
this.rules[277].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* complexColFunctionImport */
this.rules[278].opcodes = [];
this.rules[278].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* primitiveFunctionImport */
this.rules[279].opcodes = [];
this.rules[279].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* primitiveColFunctionImport */
this.rules[280].opcodes = [];
this.rules[280].opcodes[0] = {type: 4, index: 250};// RNM(odataIdentifier)
/* primitiveLiteral */
this.rules[281].opcodes = [];
this.rules[281].opcodes[0] = {type: 1, children: [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32]};// ALT
this.rules[281].opcodes[1] = {type: 4, index: 283};// RNM(nullValue)
this.rules[281].opcodes[2] = {type: 4, index: 289};// RNM(booleanValue)
this.rules[281].opcodes[3] = {type: 4, index: 294};// RNM(guidValue)
this.rules[281].opcodes[4] = {type: 4, index: 304};// RNM(dateTimeOffsetValueInUrl)
this.rules[281].opcodes[5] = {type: 4, index: 302};// RNM(dateValue)
this.rules[281].opcodes[6] = {type: 4, index: 308};// RNM(timeOfDayValueInUrl)
this.rules[281].opcodes[7] = {type: 4, index: 290};// RNM(decimalValue)
this.rules[281].opcodes[8] = {type: 4, index: 291};// RNM(doubleValue)
this.rules[281].opcodes[9] = {type: 4, index: 292};// RNM(singleValue)
this.rules[281].opcodes[10] = {type: 4, index: 296};// RNM(sbyteValue)
this.rules[281].opcodes[11] = {type: 4, index: 295};// RNM(byteValue)
this.rules[281].opcodes[12] = {type: 4, index: 297};// RNM(int16Value)
this.rules[281].opcodes[13] = {type: 4, index: 298};// RNM(int32Value)
this.rules[281].opcodes[14] = {type: 4, index: 299};// RNM(int64Value)
this.rules[281].opcodes[15] = {type: 4, index: 300};// RNM(string)
this.rules[281].opcodes[16] = {type: 4, index: 305};// RNM(duration)
this.rules[281].opcodes[17] = {type: 4, index: 318};// RNM(enum)
this.rules[281].opcodes[18] = {type: 4, index: 284};// RNM(binary)
this.rules[281].opcodes[19] = {type: 4, index: 322};// RNM(geographyCollection)
this.rules[281].opcodes[20] = {type: 4, index: 326};// RNM(geographyLineString)
this.rules[281].opcodes[21] = {type: 4, index: 330};// RNM(geographyMultiLineString)
this.rules[281].opcodes[22] = {type: 4, index: 333};// RNM(geographyMultiPoint)
this.rules[281].opcodes[23] = {type: 4, index: 336};// RNM(geographyMultiPolygon)
this.rules[281].opcodes[24] = {type: 4, index: 339};// RNM(geographyPoint)
this.rules[281].opcodes[25] = {type: 4, index: 345};// RNM(geographyPolygon)
this.rules[281].opcodes[26] = {type: 4, index: 350};// RNM(geometryCollection)
this.rules[281].opcodes[27] = {type: 4, index: 351};// RNM(geometryLineString)
this.rules[281].opcodes[28] = {type: 4, index: 352};// RNM(geometryMultiLineString)
this.rules[281].opcodes[29] = {type: 4, index: 353};// RNM(geometryMultiPoint)
this.rules[281].opcodes[30] = {type: 4, index: 354};// RNM(geometryMultiPolygon)
this.rules[281].opcodes[31] = {type: 4, index: 355};// RNM(geometryPoint)
this.rules[281].opcodes[32] = {type: 4, index: 356};// RNM(geometryPolygon)
/* primitiveValue */
this.rules[282].opcodes = [];
this.rules[282].opcodes[0] = {type: 1, children: [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]};// ALT
this.rules[282].opcodes[1] = {type: 4, index: 289};// RNM(booleanValue)
this.rules[282].opcodes[2] = {type: 4, index: 294};// RNM(guidValue)
this.rules[282].opcodes[3] = {type: 4, index: 306};// RNM(durationValue)
this.rules[282].opcodes[4] = {type: 4, index: 303};// RNM(dateTimeOffsetValue)
this.rules[282].opcodes[5] = {type: 4, index: 302};// RNM(dateValue)
this.rules[282].opcodes[6] = {type: 4, index: 307};// RNM(timeOfDayValue)
this.rules[282].opcodes[7] = {type: 4, index: 319};// RNM(enumValue)
this.rules[282].opcodes[8] = {type: 4, index: 323};// RNM(fullCollectionLiteral)
this.rules[282].opcodes[9] = {type: 4, index: 327};// RNM(fullLineStringLiteral)
this.rules[282].opcodes[10] = {type: 4, index: 334};// RNM(fullMultiPointLiteral)
this.rules[282].opcodes[11] = {type: 4, index: 331};// RNM(fullMultiLineStringLiteral)
this.rules[282].opcodes[12] = {type: 4, index: 337};// RNM(fullMultiPolygonLiteral)
this.rules[282].opcodes[13] = {type: 4, index: 340};// RNM(fullPointLiteral)
this.rules[282].opcodes[14] = {type: 4, index: 346};// RNM(fullPolygonLiteral)
this.rules[282].opcodes[15] = {type: 4, index: 290};// RNM(decimalValue)
this.rules[282].opcodes[16] = {type: 4, index: 291};// RNM(doubleValue)
this.rules[282].opcodes[17] = {type: 4, index: 292};// RNM(singleValue)
this.rules[282].opcodes[18] = {type: 4, index: 296};// RNM(sbyteValue)
this.rules[282].opcodes[19] = {type: 4, index: 295};// RNM(byteValue)
this.rules[282].opcodes[20] = {type: 4, index: 297};// RNM(int16Value)
this.rules[282].opcodes[21] = {type: 4, index: 298};// RNM(int32Value)
this.rules[282].opcodes[22] = {type: 4, index: 299};// RNM(int64Value)
this.rules[282].opcodes[23] = {type: 4, index: 285};// RNM(binaryValue)
/* nullValue */
this.rules[283].opcodes = [];
this.rules[283].opcodes[0] = {type: 6, string: [110,117,108,108]};// TBS
/* binary */
this.rules[284].opcodes = [];
this.rules[284].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[284].opcodes[1] = {type: 7, string: [98,105,110,97,114,121]};// TLS
this.rules[284].opcodes[2] = {type: 4, index: 396};// RNM(SQUOTE)
this.rules[284].opcodes[3] = {type: 4, index: 285};// RNM(binaryValue)
this.rules[284].opcodes[4] = {type: 4, index: 396};// RNM(SQUOTE)
/* binaryValue */
this.rules[285].opcodes = [];
this.rules[285].opcodes[0] = {type: 2, children: [1,4]};// CAT
this.rules[285].opcodes[1] = {type: 3, min: 0, max: Infinity};// REP
this.rules[285].opcodes[2] = {type: 3, min: 4, max: 4};// REP
this.rules[285].opcodes[3] = {type: 4, index: 288};// RNM(base64char)
this.rules[285].opcodes[4] = {type: 3, min: 0, max: 1};// REP
this.rules[285].opcodes[5] = {type: 1, children: [6,7]};// ALT
this.rules[285].opcodes[6] = {type: 4, index: 286};// RNM(base64b16)
this.rules[285].opcodes[7] = {type: 4, index: 287};// RNM(base64b8)
/* base64b16 */
this.rules[286].opcodes = [];
this.rules[286].opcodes[0] = {type: 2, children: [1,3,20]};// CAT
this.rules[286].opcodes[1] = {type: 3, min: 2, max: 2};// REP
this.rules[286].opcodes[2] = {type: 4, index: 288};// RNM(base64char)
this.rules[286].opcodes[3] = {type: 1, children: [4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]};// ALT
this.rules[286].opcodes[4] = {type: 6, string: [65]};// TBS
this.rules[286].opcodes[5] = {type: 6, string: [69]};// TBS
this.rules[286].opcodes[6] = {type: 6, string: [73]};// TBS
this.rules[286].opcodes[7] = {type: 6, string: [77]};// TBS
this.rules[286].opcodes[8] = {type: 6, string: [81]};// TBS
this.rules[286].opcodes[9] = {type: 6, string: [85]};// TBS
this.rules[286].opcodes[10] = {type: 6, string: [89]};// TBS
this.rules[286].opcodes[11] = {type: 6, string: [99]};// TBS
this.rules[286].opcodes[12] = {type: 6, string: [103]};// TBS
this.rules[286].opcodes[13] = {type: 6, string: [107]};// TBS
this.rules[286].opcodes[14] = {type: 6, string: [111]};// TBS
this.rules[286].opcodes[15] = {type: 6, string: [115]};// TBS
this.rules[286].opcodes[16] = {type: 6, string: [119]};// TBS
this.rules[286].opcodes[17] = {type: 6, string: [48]};// TBS
this.rules[286].opcodes[18] = {type: 6, string: [52]};// TBS
this.rules[286].opcodes[19] = {type: 6, string: [56]};// TBS
this.rules[286].opcodes[20] = {type: 3, min: 0, max: 1};// REP
this.rules[286].opcodes[21] = {type: 7, string: [61]};// TLS
/* base64b8 */
this.rules[287].opcodes = [];
this.rules[287].opcodes[0] = {type: 2, children: [1,2,7]};// CAT
this.rules[287].opcodes[1] = {type: 4, index: 288};// RNM(base64char)
this.rules[287].opcodes[2] = {type: 1, children: [3,4,5,6]};// ALT
this.rules[287].opcodes[3] = {type: 6, string: [65]};// TBS
this.rules[287].opcodes[4] = {type: 6, string: [81]};// TBS
this.rules[287].opcodes[5] = {type: 6, string: [103]};// TBS
this.rules[287].opcodes[6] = {type: 6, string: [119]};// TBS
this.rules[287].opcodes[7] = {type: 3, min: 0, max: 1};// REP
this.rules[287].opcodes[8] = {type: 7, string: [61,61]};// TLS
/* base64char */
this.rules[288].opcodes = [];
this.rules[288].opcodes[0] = {type: 1, children: [1,2,3,4]};// ALT
this.rules[288].opcodes[1] = {type: 4, index: 438};// RNM(ALPHA)
this.rules[288].opcodes[2] = {type: 4, index: 439};// RNM(DIGIT)
this.rules[288].opcodes[3] = {type: 7, string: [45]};// TLS
this.rules[288].opcodes[4] = {type: 7, string: [95]};// TLS
/* booleanValue */
this.rules[289].opcodes = [];
this.rules[289].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[289].opcodes[1] = {type: 7, string: [116,114,117,101]};// TLS
this.rules[289].opcodes[2] = {type: 7, string: [102,97,108,115,101]};// TLS
/* decimalValue */
this.rules[290].opcodes = [];
this.rules[290].opcodes[0] = {type: 1, children: [1,18]};// ALT
this.rules[290].opcodes[1] = {type: 2, children: [2,4,6,11]};// CAT
this.rules[290].opcodes[2] = {type: 3, min: 0, max: 1};// REP
this.rules[290].opcodes[3] = {type: 4, index: 393};// RNM(SIGN)
this.rules[290].opcodes[4] = {type: 3, min: 1, max: Infinity};// REP
this.rules[290].opcodes[5] = {type: 4, index: 439};// RNM(DIGIT)
this.rules[290].opcodes[6] = {type: 3, min: 0, max: 1};// REP
this.rules[290].opcodes[7] = {type: 2, children: [8,9]};// CAT
this.rules[290].opcodes[8] = {type: 7, string: [46]};// TLS
this.rules[290].opcodes[9] = {type: 3, min: 1, max: Infinity};// REP
this.rules[290].opcodes[10] = {type: 4, index: 439};// RNM(DIGIT)
this.rules[290].opcodes[11] = {type: 3, min: 0, max: 1};// REP
this.rules[290].opcodes[12] = {type: 2, children: [13,14,16]};// CAT
this.rules[290].opcodes[13] = {type: 7, string: [101]};// TLS
this.rules[290].opcodes[14] = {type: 3, min: 0, max: 1};// REP
this.rules[290].opcodes[15] = {type: 4, index: 393};// RNM(SIGN)
this.rules[290].opcodes[16] = {type: 3, min: 1, max: Infinity};// REP
this.rules[290].opcodes[17] = {type: 4, index: 439};// RNM(DIGIT)
this.rules[290].opcodes[18] = {type: 4, index: 293};// RNM(nanInfinity)
/* doubleValue */
this.rules[291].opcodes = [];
this.rules[291].opcodes[0] = {type: 4, index: 290};// RNM(decimalValue)
/* singleValue */
this.rules[292].opcodes = [];
this.rules[292].opcodes[0] = {type: 4, index: 290};// RNM(decimalValue)
/* nanInfinity */
this.rules[293].opcodes = [];
this.rules[293].opcodes[0] = {type: 1, children: [1,2,3]};// ALT
this.rules[293].opcodes[1] = {type: 6, string: [78,97,78]};// TBS
this.rules[293].opcodes[2] = {type: 6, string: [45,73,78,70]};// TBS
this.rules[293].opcodes[3] = {type: 6, string: [73,78,70]};// TBS
/* guidValue */
this.rules[294].opcodes = [];
this.rules[294].opcodes[0] = {type: 2, children: [1,3,4,6,7,9,10,12,13]};// CAT
this.rules[294].opcodes[1] = {type: 3, min: 8, max: 8};// REP
this.rules[294].opcodes[2] = {type: 4, index: 440};// RNM(HEXDIG)
this.rules[294].opcodes[3] = {type: 7, string: [45]};// TLS
this.rules[294].opcodes[4] = {type: 3, min: 4, max: 4};// REP
this.rules[294].opcodes[5] = {type: 4, index: 440};// RNM(HEXDIG)
this.rules[294].opcodes[6] = {type: 7, string: [45]};// TLS
this.rules[294].opcodes[7] = {type: 3, min: 4, max: 4};// REP
this.rules[294].opcodes[8] = {type: 4, index: 440};// RNM(HEXDIG)
this.rules[294].opcodes[9] = {type: 7, string: [45]};// TLS
this.rules[294].opcodes[10] = {type: 3, min: 4, max: 4};// REP
this.rules[294].opcodes[11] = {type: 4, index: 440};// RNM(HEXDIG)
this.rules[294].opcodes[12] = {type: 7, string: [45]};// TLS
this.rules[294].opcodes[13] = {type: 3, min: 12, max: 12};// REP
this.rules[294].opcodes[14] = {type: 4, index: 440};// RNM(HEXDIG)
/* byteValue */
this.rules[295].opcodes = [];
this.rules[295].opcodes[0] = {type: 3, min: 1, max: 3};// REP
this.rules[295].opcodes[1] = {type: 4, index: 439};// RNM(DIGIT)
/* sbyteValue */
this.rules[296].opcodes = [];
this.rules[296].opcodes[0] = {type: 2, children: [1,3]};// CAT
this.rules[296].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[296].opcodes[2] = {type: 4, index: 393};// RNM(SIGN)
this.rules[296].opcodes[3] = {type: 3, min: 1, max: 3};// REP
this.rules[296].opcodes[4] = {type: 4, index: 439};// RNM(DIGIT)
/* int16Value */
this.rules[297].opcodes = [];
this.rules[297].opcodes[0] = {type: 2, children: [1,3]};// CAT
this.rules[297].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[297].opcodes[2] = {type: 4, index: 393};// RNM(SIGN)
this.rules[297].opcodes[3] = {type: 3, min: 1, max: 5};// REP
this.rules[297].opcodes[4] = {type: 4, index: 439};// RNM(DIGIT)
/* int32Value */
this.rules[298].opcodes = [];
this.rules[298].opcodes[0] = {type: 2, children: [1,3]};// CAT
this.rules[298].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[298].opcodes[2] = {type: 4, index: 393};// RNM(SIGN)
this.rules[298].opcodes[3] = {type: 3, min: 1, max: 10};// REP
this.rules[298].opcodes[4] = {type: 4, index: 439};// RNM(DIGIT)
/* int64Value */
this.rules[299].opcodes = [];
this.rules[299].opcodes[0] = {type: 2, children: [1,3]};// CAT
this.rules[299].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[299].opcodes[2] = {type: 4, index: 393};// RNM(SIGN)
this.rules[299].opcodes[3] = {type: 3, min: 1, max: 19};// REP
this.rules[299].opcodes[4] = {type: 4, index: 439};// RNM(DIGIT)
/* string */
this.rules[300].opcodes = [];
this.rules[300].opcodes[0] = {type: 2, children: [1,2,6]};// CAT
this.rules[300].opcodes[1] = {type: 4, index: 396};// RNM(SQUOTE)
this.rules[300].opcodes[2] = {type: 3, min: 0, max: Infinity};// REP
this.rules[300].opcodes[3] = {type: 1, children: [4,5]};// ALT
this.rules[300].opcodes[4] = {type: 4, index: 301};// RNM(SQUOTE-in-string)
this.rules[300].opcodes[5] = {type: 4, index: 426};// RNM(pchar-no-SQUOTE)
this.rules[300].opcodes[6] = {type: 4, index: 396};// RNM(SQUOTE)
/* SQUOTE-in-string */
this.rules[301].opcodes = [];
this.rules[301].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[301].opcodes[1] = {type: 4, index: 396};// RNM(SQUOTE)
this.rules[301].opcodes[2] = {type: 4, index: 396};// RNM(SQUOTE)
/* dateValue */
this.rules[302].opcodes = [];
this.rules[302].opcodes[0] = {type: 2, children: [1,2,3,4,5]};// CAT
this.rules[302].opcodes[1] = {type: 4, index: 311};// RNM(year)
this.rules[302].opcodes[2] = {type: 7, string: [45]};// TLS
this.rules[302].opcodes[3] = {type: 4, index: 312};// RNM(month)
this.rules[302].opcodes[4] = {type: 7, string: [45]};// TLS
this.rules[302].opcodes[5] = {type: 4, index: 313};// RNM(day)
/* dateTimeOffsetValue */
this.rules[303].opcodes = [];
this.rules[303].opcodes[0] = {type: 2, children: [1,2,3,4,5,6,7,8]};// CAT
this.rules[303].opcodes[1] = {type: 4, index: 311};// RNM(year)
this.rules[303].opcodes[2] = {type: 7, string: [45]};// TLS
this.rules[303].opcodes[3] = {type: 4, index: 312};// RNM(month)
this.rules[303].opcodes[4] = {type: 7, string: [45]};// TLS
this.rules[303].opcodes[5] = {type: 4, index: 313};// RNM(day)
this.rules[303].opcodes[6] = {type: 7, string: [116]};// TLS
this.rules[303].opcodes[7] = {type: 4, index: 307};// RNM(timeOfDayValue)
this.rules[303].opcodes[8] = {type: 1, children: [9,10]};// ALT
this.rules[303].opcodes[9] = {type: 7, string: [122]};// TLS
this.rules[303].opcodes[10] = {type: 2, children: [11,12,13,14]};// CAT
this.rules[303].opcodes[11] = {type: 4, index: 393};// RNM(SIGN)
this.rules[303].opcodes[12] = {type: 4, index: 314};// RNM(hour)
this.rules[303].opcodes[13] = {type: 7, string: [58]};// TLS
this.rules[303].opcodes[14] = {type: 4, index: 315};// RNM(minute)
/* dateTimeOffsetValueInUrl */
this.rules[304].opcodes = [];
this.rules[304].opcodes[0] = {type: 2, children: [1,2,3,4,5,6,7,8]};// CAT
this.rules[304].opcodes[1] = {type: 4, index: 311};// RNM(year)
this.rules[304].opcodes[2] = {type: 7, string: [45]};// TLS
this.rules[304].opcodes[3] = {type: 4, index: 312};// RNM(month)
this.rules[304].opcodes[4] = {type: 7, string: [45]};// TLS
this.rules[304].opcodes[5] = {type: 4, index: 313};// RNM(day)
this.rules[304].opcodes[6] = {type: 7, string: [116]};// TLS
this.rules[304].opcodes[7] = {type: 4, index: 308};// RNM(timeOfDayValueInUrl)
this.rules[304].opcodes[8] = {type: 1, children: [9,10]};// ALT
this.rules[304].opcodes[9] = {type: 7, string: [122]};// TLS
this.rules[304].opcodes[10] = {type: 2, children: [11,12,13,14]};// CAT
this.rules[304].opcodes[11] = {type: 4, index: 393};// RNM(SIGN)
this.rules[304].opcodes[12] = {type: 4, index: 314};// RNM(hour)
this.rules[304].opcodes[13] = {type: 4, index: 389};// RNM(COLON)
this.rules[304].opcodes[14] = {type: 4, index: 315};// RNM(minute)
/* duration */
this.rules[305].opcodes = [];
this.rules[305].opcodes[0] = {type: 2, children: [1,3,4,5]};// CAT
this.rules[305].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[305].opcodes[2] = {type: 7, string: [100,117,114,97,116,105,111,110]};// TLS
this.rules[305].opcodes[3] = {type: 4, index: 396};// RNM(SQUOTE)
this.rules[305].opcodes[4] = {type: 4, index: 306};// RNM(durationValue)
this.rules[305].opcodes[5] = {type: 4, index: 396};// RNM(SQUOTE)
/* durationValue */
this.rules[306].opcodes = [];
this.rules[306].opcodes[0] = {type: 2, children: [1,3,4,9]};// CAT
this.rules[306].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[306].opcodes[2] = {type: 4, index: 393};// RNM(SIGN)
this.rules[306].opcodes[3] = {type: 7, string: [112]};// TLS
this.rules[306].opcodes[4] = {type: 3, min: 0, max: 1};// REP
this.rules[306].opcodes[5] = {type: 2, children: [6,8]};// CAT
this.rules[306].opcodes[6] = {type: 3, min: 1, max: Infinity};// REP
this.rules[306].opcodes[7] = {type: 4, index: 439};// RNM(DIGIT)
this.rules[306].opcodes[8] = {type: 7, string: [100]};// TLS
this.rules[306].opcodes[9] = {type: 3, min: 0, max: 1};// REP
this.rules[306].opcodes[10] = {type: 2, children: [11,12,17,22]};// CAT
this.rules[306].opcodes[11] = {type: 7, string: [116]};// TLS
this.rules[306].opcodes[12] = {type: 3, min: 0, max: 1};// REP
this.rules[306].opcodes[13] = {type: 2, children: [14,16]};// CAT
this.rules[306].opcodes[14] = {type: 3, min: 1, max: Infinity};// REP
this.rules[306].opcodes[15] = {type: 4, index: 439};// RNM(DIGIT)
this.rules[306].opcodes[16] = {type: 7, string: [104]};// TLS
this.rules[306].opcodes[17] = {type: 3, min: 0, max: 1};// REP
this.rules[306].opcodes[18] = {type: 2, children: [19,21]};// CAT
this.rules[306].opcodes[19] = {type: 3, min: 1, max: Infinity};// REP
this.rules[306].opcodes[20] = {type: 4, index: 439};// RNM(DIGIT)
this.rules[306].opcodes[21] = {type: 7, string: [109]};// TLS
this.rules[306].opcodes[22] = {type: 3, min: 0, max: 1};// REP
this.rules[306].opcodes[23] = {type: 2, children: [24,26,31]};// CAT
this.rules[306].opcodes[24] = {type: 3, min: 1, max: Infinity};// REP
this.rules[306].opcodes[25] = {type: 4, index: 439};// RNM(DIGIT)
this.rules[306].opcodes[26] = {type: 3, min: 0, max: 1};// REP
this.rules[306].opcodes[27] = {type: 2, children: [28,29]};// CAT
this.rules[306].opcodes[28] = {type: 7, string: [46]};// TLS
this.rules[306].opcodes[29] = {type: 3, min: 1, max: Infinity};// REP
this.rules[306].opcodes[30] = {type: 4, index: 439};// RNM(DIGIT)
this.rules[306].opcodes[31] = {type: 7, string: [115]};// TLS
/* timeOfDayValue */
this.rules[307].opcodes = [];
this.rules[307].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[307].opcodes[1] = {type: 4, index: 314};// RNM(hour)
this.rules[307].opcodes[2] = {type: 7, string: [58]};// TLS
this.rules[307].opcodes[3] = {type: 4, index: 315};// RNM(minute)
this.rules[307].opcodes[4] = {type: 3, min: 0, max: 1};// REP
this.rules[307].opcodes[5] = {type: 2, children: [6,7,8]};// CAT
this.rules[307].opcodes[6] = {type: 7, string: [58]};// TLS
this.rules[307].opcodes[7] = {type: 4, index: 316};// RNM(second)
this.rules[307].opcodes[8] = {type: 3, min: 0, max: 1};// REP
this.rules[307].opcodes[9] = {type: 2, children: [10,11]};// CAT
this.rules[307].opcodes[10] = {type: 7, string: [46]};// TLS
this.rules[307].opcodes[11] = {type: 4, index: 317};// RNM(fractionalSeconds)
/* timeOfDayValueInUrl */
this.rules[308].opcodes = [];
this.rules[308].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[308].opcodes[1] = {type: 4, index: 314};// RNM(hour)
this.rules[308].opcodes[2] = {type: 4, index: 389};// RNM(COLON)
this.rules[308].opcodes[3] = {type: 4, index: 315};// RNM(minute)
this.rules[308].opcodes[4] = {type: 3, min: 0, max: 1};// REP
this.rules[308].opcodes[5] = {type: 2, children: [6,7,8]};// CAT
this.rules[308].opcodes[6] = {type: 4, index: 389};// RNM(COLON)
this.rules[308].opcodes[7] = {type: 4, index: 316};// RNM(second)
this.rules[308].opcodes[8] = {type: 3, min: 0, max: 1};// REP
this.rules[308].opcodes[9] = {type: 2, children: [10,11]};// CAT
this.rules[308].opcodes[10] = {type: 7, string: [46]};// TLS
this.rules[308].opcodes[11] = {type: 4, index: 317};// RNM(fractionalSeconds)
/* oneToNine */
this.rules[309].opcodes = [];
this.rules[309].opcodes[0] = {type: 1, children: [1,2,3,4,5,6,7,8,9]};// ALT
this.rules[309].opcodes[1] = {type: 7, string: [49]};// TLS
this.rules[309].opcodes[2] = {type: 7, string: [50]};// TLS
this.rules[309].opcodes[3] = {type: 7, string: [51]};// TLS
this.rules[309].opcodes[4] = {type: 7, string: [52]};// TLS
this.rules[309].opcodes[5] = {type: 7, string: [53]};// TLS
this.rules[309].opcodes[6] = {type: 7, string: [54]};// TLS
this.rules[309].opcodes[7] = {type: 7, string: [55]};// TLS
this.rules[309].opcodes[8] = {type: 7, string: [56]};// TLS
this.rules[309].opcodes[9] = {type: 7, string: [57]};// TLS
/* zeroToFiftyNine */
this.rules[310].opcodes = [];
this.rules[310].opcodes[0] = {type: 2, children: [1,8]};// CAT
this.rules[310].opcodes[1] = {type: 1, children: [2,3,4,5,6,7]};// ALT
this.rules[310].opcodes[2] = {type: 7, string: [48]};// TLS
this.rules[310].opcodes[3] = {type: 7, string: [49]};// TLS
this.rules[310].opcodes[4] = {type: 7, string: [50]};// TLS
this.rules[310].opcodes[5] = {type: 7, string: [51]};// TLS
this.rules[310].opcodes[6] = {type: 7, string: [52]};// TLS
this.rules[310].opcodes[7] = {type: 7, string: [53]};// TLS
this.rules[310].opcodes[8] = {type: 4, index: 439};// RNM(DIGIT)
/* year */
this.rules[311].opcodes = [];
this.rules[311].opcodes[0] = {type: 2, children: [1,3]};// CAT
this.rules[311].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[311].opcodes[2] = {type: 7, string: [45]};// TLS
this.rules[311].opcodes[3] = {type: 1, children: [4,8]};// ALT
this.rules[311].opcodes[4] = {type: 2, children: [5,6]};// CAT
this.rules[311].opcodes[5] = {type: 7, string: [48]};// TLS
this.rules[311].opcodes[6] = {type: 3, min: 3, max: 3};// REP
this.rules[311].opcodes[7] = {type: 4, index: 439};// RNM(DIGIT)
this.rules[311].opcodes[8] = {type: 2, children: [9,10]};// CAT
this.rules[311].opcodes[9] = {type: 4, index: 309};// RNM(oneToNine)
this.rules[311].opcodes[10] = {type: 3, min: 3, max: Infinity};// REP
this.rules[311].opcodes[11] = {type: 4, index: 439};// RNM(DIGIT)
/* month */
this.rules[312].opcodes = [];
this.rules[312].opcodes[0] = {type: 1, children: [1,4]};// ALT
this.rules[312].opcodes[1] = {type: 2, children: [2,3]};// CAT
this.rules[312].opcodes[2] = {type: 7, string: [48]};// TLS
this.rules[312].opcodes[3] = {type: 4, index: 309};// RNM(oneToNine)
this.rules[312].opcodes[4] = {type: 2, children: [5,6]};// CAT
this.rules[312].opcodes[5] = {type: 7, string: [49]};// TLS
this.rules[312].opcodes[6] = {type: 1, children: [7,8,9]};// ALT
this.rules[312].opcodes[7] = {type: 7, string: [48]};// TLS
this.rules[312].opcodes[8] = {type: 7, string: [49]};// TLS
this.rules[312].opcodes[9] = {type: 7, string: [50]};// TLS
/* day */
this.rules[313].opcodes = [];
this.rules[313].opcodes[0] = {type: 1, children: [1,4,9]};// ALT
this.rules[313].opcodes[1] = {type: 2, children: [2,3]};// CAT
this.rules[313].opcodes[2] = {type: 7, string: [48]};// TLS
this.rules[313].opcodes[3] = {type: 4, index: 309};// RNM(oneToNine)
this.rules[313].opcodes[4] = {type: 2, children: [5,8]};// CAT
this.rules[313].opcodes[5] = {type: 1, children: [6,7]};// ALT
this.rules[313].opcodes[6] = {type: 7, string: [49]};// TLS
this.rules[313].opcodes[7] = {type: 7, string: [50]};// TLS
this.rules[313].opcodes[8] = {type: 4, index: 439};// RNM(DIGIT)
this.rules[313].opcodes[9] = {type: 2, children: [10,11]};// CAT
this.rules[313].opcodes[10] = {type: 7, string: [51]};// TLS
this.rules[313].opcodes[11] = {type: 1, children: [12,13]};// ALT
this.rules[313].opcodes[12] = {type: 7, string: [48]};// TLS
this.rules[313].opcodes[13] = {type: 7, string: [49]};// TLS
/* hour */
this.rules[314].opcodes = [];
this.rules[314].opcodes[0] = {type: 1, children: [1,6]};// ALT
this.rules[314].opcodes[1] = {type: 2, children: [2,5]};// CAT
this.rules[314].opcodes[2] = {type: 1, children: [3,4]};// ALT
this.rules[314].opcodes[3] = {type: 7, string: [48]};// TLS
this.rules[314].opcodes[4] = {type: 7, string: [49]};// TLS
this.rules[314].opcodes[5] = {type: 4, index: 439};// RNM(DIGIT)
this.rules[314].opcodes[6] = {type: 2, children: [7,8]};// CAT
this.rules[314].opcodes[7] = {type: 7, string: [50]};// TLS
this.rules[314].opcodes[8] = {type: 1, children: [9,10,11,12]};// ALT
this.rules[314].opcodes[9] = {type: 7, string: [48]};// TLS
this.rules[314].opcodes[10] = {type: 7, string: [49]};// TLS
this.rules[314].opcodes[11] = {type: 7, string: [50]};// TLS
this.rules[314].opcodes[12] = {type: 7, string: [51]};// TLS
/* minute */
this.rules[315].opcodes = [];
this.rules[315].opcodes[0] = {type: 4, index: 310};// RNM(zeroToFiftyNine)
/* second */
this.rules[316].opcodes = [];
this.rules[316].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[316].opcodes[1] = {type: 4, index: 310};// RNM(zeroToFiftyNine)
this.rules[316].opcodes[2] = {type: 7, string: [54,48]};// TLS
/* fractionalSeconds */
this.rules[317].opcodes = [];
this.rules[317].opcodes[0] = {type: 3, min: 1, max: 12};// REP
this.rules[317].opcodes[1] = {type: 4, index: 439};// RNM(DIGIT)
/* enum */
this.rules[318].opcodes = [];
this.rules[318].opcodes[0] = {type: 2, children: [1,3,4,5]};// CAT
this.rules[318].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[318].opcodes[2] = {type: 4, index: 237};// RNM(qualifiedEnumTypeName)
this.rules[318].opcodes[3] = {type: 4, index: 396};// RNM(SQUOTE)
this.rules[318].opcodes[4] = {type: 4, index: 319};// RNM(enumValue)
this.rules[318].opcodes[5] = {type: 4, index: 396};// RNM(SQUOTE)
/* enumValue */
this.rules[319].opcodes = [];
this.rules[319].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[319].opcodes[1] = {type: 4, index: 320};// RNM(singleEnumValue)
this.rules[319].opcodes[2] = {type: 3, min: 0, max: Infinity};// REP
this.rules[319].opcodes[3] = {type: 2, children: [4,5]};// CAT
this.rules[319].opcodes[4] = {type: 4, index: 390};// RNM(COMMA)
this.rules[319].opcodes[5] = {type: 4, index: 320};// RNM(singleEnumValue)
/* singleEnumValue */
this.rules[320].opcodes = [];
this.rules[320].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[320].opcodes[1] = {type: 4, index: 248};// RNM(enumerationMember)
this.rules[320].opcodes[2] = {type: 4, index: 321};// RNM(enumMemberValue)
/* enumMemberValue */
this.rules[321].opcodes = [];
this.rules[321].opcodes[0] = {type: 4, index: 299};// RNM(int64Value)
/* geographyCollection */
this.rules[322].opcodes = [];
this.rules[322].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[322].opcodes[1] = {type: 4, index: 357};// RNM(geographyPrefix)
this.rules[322].opcodes[2] = {type: 4, index: 396};// RNM(SQUOTE)
this.rules[322].opcodes[3] = {type: 4, index: 323};// RNM(fullCollectionLiteral)
this.rules[322].opcodes[4] = {type: 4, index: 396};// RNM(SQUOTE)
/* fullCollectionLiteral */
this.rules[323].opcodes = [];
this.rules[323].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[323].opcodes[1] = {type: 4, index: 341};// RNM(sridLiteral)
this.rules[323].opcodes[2] = {type: 4, index: 324};// RNM(collectionLiteral)
/* collectionLiteral */
this.rules[324].opcodes = [];
this.rules[324].opcodes[0] = {type: 2, children: [1,2,3,7]};// CAT
this.rules[324].opcodes[1] = {type: 7, string: [99,111,108,108,101,99,116,105,111,110,40]};// TLS
this.rules[324].opcodes[2] = {type: 4, index: 325};// RNM(geoLiteral)
this.rules[324].opcodes[3] = {type: 3, min: 0, max: Infinity};// REP
this.rules[324].opcodes[4] = {type: 2, children: [5,6]};// CAT
this.rules[324].opcodes[5] = {type: 4, index: 390};// RNM(COMMA)
this.rules[324].opcodes[6] = {type: 4, index: 325};// RNM(geoLiteral)
this.rules[324].opcodes[7] = {type: 4, index: 398};// RNM(CLOSE)
/* geoLiteral */
this.rules[325].opcodes = [];
this.rules[325].opcodes[0] = {type: 1, children: [1,2,3,4,5,6,7]};// ALT
this.rules[325].opcodes[1] = {type: 4, index: 324};// RNM(collectionLiteral)
this.rules[325].opcodes[2] = {type: 4, index: 328};// RNM(lineStringLiteral)
this.rules[325].opcodes[3] = {type: 4, index: 335};// RNM(multiPointLiteral)
this.rules[325].opcodes[4] = {type: 4, index: 332};// RNM(multiLineStringLiteral)
this.rules[325].opcodes[5] = {type: 4, index: 338};// RNM(multiPolygonLiteral)
this.rules[325].opcodes[6] = {type: 4, index: 342};// RNM(pointLiteral)
this.rules[325].opcodes[7] = {type: 4, index: 347};// RNM(polygonLiteral)
/* geographyLineString */
this.rules[326].opcodes = [];
this.rules[326].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[326].opcodes[1] = {type: 4, index: 357};// RNM(geographyPrefix)
this.rules[326].opcodes[2] = {type: 4, index: 396};// RNM(SQUOTE)
this.rules[326].opcodes[3] = {type: 4, index: 327};// RNM(fullLineStringLiteral)
this.rules[326].opcodes[4] = {type: 4, index: 396};// RNM(SQUOTE)
/* fullLineStringLiteral */
this.rules[327].opcodes = [];
this.rules[327].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[327].opcodes[1] = {type: 4, index: 341};// RNM(sridLiteral)
this.rules[327].opcodes[2] = {type: 4, index: 328};// RNM(lineStringLiteral)
/* lineStringLiteral */
this.rules[328].opcodes = [];
this.rules[328].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[328].opcodes[1] = {type: 7, string: [108,105,110,101,115,116,114,105,110,103]};// TLS
this.rules[328].opcodes[2] = {type: 4, index: 329};// RNM(lineStringData)
/* lineStringData */
this.rules[329].opcodes = [];
this.rules[329].opcodes[0] = {type: 2, children: [1,2,3,7]};// CAT
this.rules[329].opcodes[1] = {type: 4, index: 397};// RNM(OPEN)
this.rules[329].opcodes[2] = {type: 4, index: 344};// RNM(positionLiteral)
this.rules[329].opcodes[3] = {type: 3, min: 1, max: Infinity};// REP
this.rules[329].opcodes[4] = {type: 2, children: [5,6]};// CAT
this.rules[329].opcodes[5] = {type: 4, index: 390};// RNM(COMMA)
this.rules[329].opcodes[6] = {type: 4, index: 344};// RNM(positionLiteral)
this.rules[329].opcodes[7] = {type: 4, index: 398};// RNM(CLOSE)
/* geographyMultiLineString */
this.rules[330].opcodes = [];
this.rules[330].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[330].opcodes[1] = {type: 4, index: 357};// RNM(geographyPrefix)
this.rules[330].opcodes[2] = {type: 4, index: 396};// RNM(SQUOTE)
this.rules[330].opcodes[3] = {type: 4, index: 331};// RNM(fullMultiLineStringLiteral)
this.rules[330].opcodes[4] = {type: 4, index: 396};// RNM(SQUOTE)
/* fullMultiLineStringLiteral */
this.rules[331].opcodes = [];
this.rules[331].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[331].opcodes[1] = {type: 4, index: 341};// RNM(sridLiteral)
this.rules[331].opcodes[2] = {type: 4, index: 332};// RNM(multiLineStringLiteral)
/* multiLineStringLiteral */
this.rules[332].opcodes = [];
this.rules[332].opcodes[0] = {type: 2, children: [1,2,9]};// CAT
this.rules[332].opcodes[1] = {type: 7, string: [109,117,108,116,105,108,105,110,101,115,116,114,105,110,103,40]};// TLS
this.rules[332].opcodes[2] = {type: 3, min: 0, max: 1};// REP
this.rules[332].opcodes[3] = {type: 2, children: [4,5]};// CAT
this.rules[332].opcodes[4] = {type: 4, index: 329};// RNM(lineStringData)
this.rules[332].opcodes[5] = {type: 3, min: 0, max: Infinity};// REP
this.rules[332].opcodes[6] = {type: 2, children: [7,8]};// CAT
this.rules[332].opcodes[7] = {type: 4, index: 390};// RNM(COMMA)
this.rules[332].opcodes[8] = {type: 4, index: 329};// RNM(lineStringData)
this.rules[332].opcodes[9] = {type: 4, index: 398};// RNM(CLOSE)
/* geographyMultiPoint */
this.rules[333].opcodes = [];
this.rules[333].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[333].opcodes[1] = {type: 4, index: 357};// RNM(geographyPrefix)
this.rules[333].opcodes[2] = {type: 4, index: 396};// RNM(SQUOTE)
this.rules[333].opcodes[3] = {type: 4, index: 334};// RNM(fullMultiPointLiteral)
this.rules[333].opcodes[4] = {type: 4, index: 396};// RNM(SQUOTE)
/* fullMultiPointLiteral */
this.rules[334].opcodes = [];
this.rules[334].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[334].opcodes[1] = {type: 4, index: 341};// RNM(sridLiteral)
this.rules[334].opcodes[2] = {type: 4, index: 335};// RNM(multiPointLiteral)
/* multiPointLiteral */
this.rules[335].opcodes = [];
this.rules[335].opcodes[0] = {type: 2, children: [1,2,9]};// CAT
this.rules[335].opcodes[1] = {type: 7, string: [109,117,108,116,105,112,111,105,110,116,40]};// TLS
this.rules[335].opcodes[2] = {type: 3, min: 0, max: 1};// REP
this.rules[335].opcodes[3] = {type: 2, children: [4,5]};// CAT
this.rules[335].opcodes[4] = {type: 4, index: 343};// RNM(pointData)
this.rules[335].opcodes[5] = {type: 3, min: 0, max: Infinity};// REP
this.rules[335].opcodes[6] = {type: 2, children: [7,8]};// CAT
this.rules[335].opcodes[7] = {type: 4, index: 390};// RNM(COMMA)
this.rules[335].opcodes[8] = {type: 4, index: 343};// RNM(pointData)
this.rules[335].opcodes[9] = {type: 4, index: 398};// RNM(CLOSE)
/* geographyMultiPolygon */
this.rules[336].opcodes = [];
this.rules[336].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[336].opcodes[1] = {type: 4, index: 357};// RNM(geographyPrefix)
this.rules[336].opcodes[2] = {type: 4, index: 396};// RNM(SQUOTE)
this.rules[336].opcodes[3] = {type: 4, index: 337};// RNM(fullMultiPolygonLiteral)
this.rules[336].opcodes[4] = {type: 4, index: 396};// RNM(SQUOTE)
/* fullMultiPolygonLiteral */
this.rules[337].opcodes = [];
this.rules[337].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[337].opcodes[1] = {type: 4, index: 341};// RNM(sridLiteral)
this.rules[337].opcodes[2] = {type: 4, index: 338};// RNM(multiPolygonLiteral)
/* multiPolygonLiteral */
this.rules[338].opcodes = [];
this.rules[338].opcodes[0] = {type: 2, children: [1,2,9]};// CAT
this.rules[338].opcodes[1] = {type: 7, string: [109,117,108,116,105,112,111,108,121,103,111,110,40]};// TLS
this.rules[338].opcodes[2] = {type: 3, min: 0, max: 1};// REP
this.rules[338].opcodes[3] = {type: 2, children: [4,5]};// CAT
this.rules[338].opcodes[4] = {type: 4, index: 348};// RNM(polygonData)
this.rules[338].opcodes[5] = {type: 3, min: 0, max: Infinity};// REP
this.rules[338].opcodes[6] = {type: 2, children: [7,8]};// CAT
this.rules[338].opcodes[7] = {type: 4, index: 390};// RNM(COMMA)
this.rules[338].opcodes[8] = {type: 4, index: 348};// RNM(polygonData)
this.rules[338].opcodes[9] = {type: 4, index: 398};// RNM(CLOSE)
/* geographyPoint */
this.rules[339].opcodes = [];
this.rules[339].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[339].opcodes[1] = {type: 4, index: 357};// RNM(geographyPrefix)
this.rules[339].opcodes[2] = {type: 4, index: 396};// RNM(SQUOTE)
this.rules[339].opcodes[3] = {type: 4, index: 340};// RNM(fullPointLiteral)
this.rules[339].opcodes[4] = {type: 4, index: 396};// RNM(SQUOTE)
/* fullPointLiteral */
this.rules[340].opcodes = [];
this.rules[340].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[340].opcodes[1] = {type: 4, index: 341};// RNM(sridLiteral)
this.rules[340].opcodes[2] = {type: 4, index: 342};// RNM(pointLiteral)
/* sridLiteral */
this.rules[341].opcodes = [];
this.rules[341].opcodes[0] = {type: 2, children: [1,2,3,5]};// CAT
this.rules[341].opcodes[1] = {type: 7, string: [115,114,105,100]};// TLS
this.rules[341].opcodes[2] = {type: 4, index: 391};// RNM(EQ)
this.rules[341].opcodes[3] = {type: 3, min: 1, max: 5};// REP
this.rules[341].opcodes[4] = {type: 4, index: 439};// RNM(DIGIT)
this.rules[341].opcodes[5] = {type: 4, index: 394};// RNM(SEMI)
/* pointLiteral */
this.rules[342].opcodes = [];
this.rules[342].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[342].opcodes[1] = {type: 7, string: [112,111,105,110,116]};// TLS
this.rules[342].opcodes[2] = {type: 4, index: 343};// RNM(pointData)
/* pointData */
this.rules[343].opcodes = [];
this.rules[343].opcodes[0] = {type: 2, children: [1,2,3]};// CAT
this.rules[343].opcodes[1] = {type: 4, index: 397};// RNM(OPEN)
this.rules[343].opcodes[2] = {type: 4, index: 344};// RNM(positionLiteral)
this.rules[343].opcodes[3] = {type: 4, index: 398};// RNM(CLOSE)
/* positionLiteral */
this.rules[344].opcodes = [];
this.rules[344].opcodes[0] = {type: 2, children: [1,2,3,4,8]};// CAT
this.rules[344].opcodes[1] = {type: 4, index: 291};// RNM(doubleValue)
this.rules[344].opcodes[2] = {type: 4, index: 443};// RNM(SP)
this.rules[344].opcodes[3] = {type: 4, index: 291};// RNM(doubleValue)
this.rules[344].opcodes[4] = {type: 3, min: 0, max: 1};// REP
this.rules[344].opcodes[5] = {type: 2, children: [6,7]};// CAT
this.rules[344].opcodes[6] = {type: 4, index: 443};// RNM(SP)
this.rules[344].opcodes[7] = {type: 4, index: 291};// RNM(doubleValue)
this.rules[344].opcodes[8] = {type: 3, min: 0, max: 1};// REP
this.rules[344].opcodes[9] = {type: 2, children: [10,11]};// CAT
this.rules[344].opcodes[10] = {type: 4, index: 443};// RNM(SP)
this.rules[344].opcodes[11] = {type: 4, index: 291};// RNM(doubleValue)
/* geographyPolygon */
this.rules[345].opcodes = [];
this.rules[345].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[345].opcodes[1] = {type: 4, index: 357};// RNM(geographyPrefix)
this.rules[345].opcodes[2] = {type: 4, index: 396};// RNM(SQUOTE)
this.rules[345].opcodes[3] = {type: 4, index: 346};// RNM(fullPolygonLiteral)
this.rules[345].opcodes[4] = {type: 4, index: 396};// RNM(SQUOTE)
/* fullPolygonLiteral */
this.rules[346].opcodes = [];
this.rules[346].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[346].opcodes[1] = {type: 4, index: 341};// RNM(sridLiteral)
this.rules[346].opcodes[2] = {type: 4, index: 347};// RNM(polygonLiteral)
/* polygonLiteral */
this.rules[347].opcodes = [];
this.rules[347].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[347].opcodes[1] = {type: 7, string: [112,111,108,121,103,111,110]};// TLS
this.rules[347].opcodes[2] = {type: 4, index: 348};// RNM(polygonData)
/* polygonData */
this.rules[348].opcodes = [];
this.rules[348].opcodes[0] = {type: 2, children: [1,2,3,7]};// CAT
this.rules[348].opcodes[1] = {type: 4, index: 397};// RNM(OPEN)
this.rules[348].opcodes[2] = {type: 4, index: 349};// RNM(ringLiteral)
this.rules[348].opcodes[3] = {type: 3, min: 0, max: Infinity};// REP
this.rules[348].opcodes[4] = {type: 2, children: [5,6]};// CAT
this.rules[348].opcodes[5] = {type: 4, index: 390};// RNM(COMMA)
this.rules[348].opcodes[6] = {type: 4, index: 349};// RNM(ringLiteral)
this.rules[348].opcodes[7] = {type: 4, index: 398};// RNM(CLOSE)
/* ringLiteral */
this.rules[349].opcodes = [];
this.rules[349].opcodes[0] = {type: 2, children: [1,2,3,7]};// CAT
this.rules[349].opcodes[1] = {type: 4, index: 397};// RNM(OPEN)
this.rules[349].opcodes[2] = {type: 4, index: 344};// RNM(positionLiteral)
this.rules[349].opcodes[3] = {type: 3, min: 0, max: Infinity};// REP
this.rules[349].opcodes[4] = {type: 2, children: [5,6]};// CAT
this.rules[349].opcodes[5] = {type: 4, index: 390};// RNM(COMMA)
this.rules[349].opcodes[6] = {type: 4, index: 344};// RNM(positionLiteral)
this.rules[349].opcodes[7] = {type: 4, index: 398};// RNM(CLOSE)
/* geometryCollection */
this.rules[350].opcodes = [];
this.rules[350].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[350].opcodes[1] = {type: 4, index: 358};// RNM(geometryPrefix)
this.rules[350].opcodes[2] = {type: 4, index: 396};// RNM(SQUOTE)
this.rules[350].opcodes[3] = {type: 4, index: 323};// RNM(fullCollectionLiteral)
this.rules[350].opcodes[4] = {type: 4, index: 396};// RNM(SQUOTE)
/* geometryLineString */
this.rules[351].opcodes = [];
this.rules[351].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[351].opcodes[1] = {type: 4, index: 358};// RNM(geometryPrefix)
this.rules[351].opcodes[2] = {type: 4, index: 396};// RNM(SQUOTE)
this.rules[351].opcodes[3] = {type: 4, index: 327};// RNM(fullLineStringLiteral)
this.rules[351].opcodes[4] = {type: 4, index: 396};// RNM(SQUOTE)
/* geometryMultiLineString */
this.rules[352].opcodes = [];
this.rules[352].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[352].opcodes[1] = {type: 4, index: 358};// RNM(geometryPrefix)
this.rules[352].opcodes[2] = {type: 4, index: 396};// RNM(SQUOTE)
this.rules[352].opcodes[3] = {type: 4, index: 331};// RNM(fullMultiLineStringLiteral)
this.rules[352].opcodes[4] = {type: 4, index: 396};// RNM(SQUOTE)
/* geometryMultiPoint */
this.rules[353].opcodes = [];
this.rules[353].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[353].opcodes[1] = {type: 4, index: 358};// RNM(geometryPrefix)
this.rules[353].opcodes[2] = {type: 4, index: 396};// RNM(SQUOTE)
this.rules[353].opcodes[3] = {type: 4, index: 334};// RNM(fullMultiPointLiteral)
this.rules[353].opcodes[4] = {type: 4, index: 396};// RNM(SQUOTE)
/* geometryMultiPolygon */
this.rules[354].opcodes = [];
this.rules[354].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[354].opcodes[1] = {type: 4, index: 358};// RNM(geometryPrefix)
this.rules[354].opcodes[2] = {type: 4, index: 396};// RNM(SQUOTE)
this.rules[354].opcodes[3] = {type: 4, index: 337};// RNM(fullMultiPolygonLiteral)
this.rules[354].opcodes[4] = {type: 4, index: 396};// RNM(SQUOTE)
/* geometryPoint */
this.rules[355].opcodes = [];
this.rules[355].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[355].opcodes[1] = {type: 4, index: 358};// RNM(geometryPrefix)
this.rules[355].opcodes[2] = {type: 4, index: 396};// RNM(SQUOTE)
this.rules[355].opcodes[3] = {type: 4, index: 340};// RNM(fullPointLiteral)
this.rules[355].opcodes[4] = {type: 4, index: 396};// RNM(SQUOTE)
/* geometryPolygon */
this.rules[356].opcodes = [];
this.rules[356].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[356].opcodes[1] = {type: 4, index: 358};// RNM(geometryPrefix)
this.rules[356].opcodes[2] = {type: 4, index: 396};// RNM(SQUOTE)
this.rules[356].opcodes[3] = {type: 4, index: 346};// RNM(fullPolygonLiteral)
this.rules[356].opcodes[4] = {type: 4, index: 396};// RNM(SQUOTE)
/* geographyPrefix */
this.rules[357].opcodes = [];
this.rules[357].opcodes[0] = {type: 7, string: [103,101,111,103,114,97,112,104,121]};// TLS
/* geometryPrefix */
this.rules[358].opcodes = [];
this.rules[358].opcodes[0] = {type: 7, string: [103,101,111,109,101,116,114,121]};// TLS
/* header */
this.rules[359].opcodes = [];
this.rules[359].opcodes[0] = {type: 1, children: [1,2,3,4,5,6,7]};// ALT
this.rules[359].opcodes[1] = {type: 4, index: 360};// RNM(content-id)
this.rules[359].opcodes[2] = {type: 4, index: 361};// RNM(isolation)
this.rules[359].opcodes[3] = {type: 4, index: 363};// RNM(odata-entityid)
this.rules[359].opcodes[4] = {type: 4, index: 364};// RNM(odata-error)
this.rules[359].opcodes[5] = {type: 4, index: 365};// RNM(odata-maxversion)
this.rules[359].opcodes[6] = {type: 4, index: 366};// RNM(odata-version)
this.rules[359].opcodes[7] = {type: 4, index: 367};// RNM(prefer)
/* content-id */
this.rules[360].opcodes = [];
this.rules[360].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[360].opcodes[1] = {type: 7, string: [99,111,110,116,101,110,116,45,105,100]};// TLS
this.rules[360].opcodes[2] = {type: 7, string: [58]};// TLS
this.rules[360].opcodes[3] = {type: 4, index: 383};// RNM(OWS)
this.rules[360].opcodes[4] = {type: 4, index: 362};// RNM(request-id)
/* isolation */
this.rules[361].opcodes = [];
this.rules[361].opcodes[0] = {type: 2, children: [1,3,4,5,6]};// CAT
this.rules[361].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[361].opcodes[2] = {type: 7, string: [111,100,97,116,97,45]};// TLS
this.rules[361].opcodes[3] = {type: 7, string: [105,115,111,108,97,116,105,111,110]};// TLS
this.rules[361].opcodes[4] = {type: 7, string: [58]};// TLS
this.rules[361].opcodes[5] = {type: 4, index: 383};// RNM(OWS)
this.rules[361].opcodes[6] = {type: 7, string: [115,110,97,112,115,104,111,116]};// TLS
/* request-id */
this.rules[362].opcodes = [];
this.rules[362].opcodes[0] = {type: 3, min: 1, max: Infinity};// REP
this.rules[362].opcodes[1] = {type: 4, index: 423};// RNM(unreserved)
/* odata-entityid */
this.rules[363].opcodes = [];
this.rules[363].opcodes[0] = {type: 2, children: [1,2,3,4]};// CAT
this.rules[363].opcodes[1] = {type: 7, string: [111,100,97,116,97,45,101,110,116,105,116,121,105,100]};// TLS
this.rules[363].opcodes[2] = {type: 7, string: [58]};// TLS
this.rules[363].opcodes[3] = {type: 4, index: 383};// RNM(OWS)
this.rules[363].opcodes[4] = {type: 4, index: 436};// RNM(IRI-in-header)
/* odata-error */
this.rules[364].opcodes = [];
this.rules[364].opcodes[0] = {type: 2, children: [1,2,3,4,5,6,7,8,9]};// CAT
this.rules[364].opcodes[1] = {type: 7, string: [111,100,97,116,97,45,101,114,114,111,114]};// TLS
this.rules[364].opcodes[2] = {type: 7, string: [58]};// TLS
this.rules[364].opcodes[3] = {type: 4, index: 383};// RNM(OWS)
this.rules[364].opcodes[4] = {type: 7, string: [123]};// TLS
this.rules[364].opcodes[5] = {type: 4, index: 442};// RNM(DQUOTE)
this.rules[364].opcodes[6] = {type: 6, string: [99,111,100,101]};// TBS
this.rules[364].opcodes[7] = {type: 4, index: 442};// RNM(DQUOTE)
this.rules[364].opcodes[8] = {type: 7, string: [58]};// TLS
this.rules[364].opcodes[9] = {type: 3, min: 0, max: Infinity};// REP
this.rules[364].opcodes[10] = {type: 1, children: [11,12]};// ALT
this.rules[364].opcodes[11] = {type: 4, index: 445};// RNM(VCHAR)
this.rules[364].opcodes[12] = {type: 4, index: 443};// RNM(SP)
/* odata-maxversion */
this.rules[365].opcodes = [];
this.rules[365].opcodes[0] = {type: 2, children: [1,2,3,4,6,7]};// CAT
this.rules[365].opcodes[1] = {type: 7, string: [111,100,97,116,97,45,109,97,120,118,101,114,115,105,111,110]};// TLS
this.rules[365].opcodes[2] = {type: 7, string: [58]};// TLS
this.rules[365].opcodes[3] = {type: 4, index: 383};// RNM(OWS)
this.rules[365].opcodes[4] = {type: 3, min: 1, max: Infinity};// REP
this.rules[365].opcodes[5] = {type: 4, index: 439};// RNM(DIGIT)
this.rules[365].opcodes[6] = {type: 7, string: [46]};// TLS
this.rules[365].opcodes[7] = {type: 3, min: 1, max: Infinity};// REP
this.rules[365].opcodes[8] = {type: 4, index: 439};// RNM(DIGIT)
/* odata-version */
this.rules[366].opcodes = [];
this.rules[366].opcodes[0] = {type: 2, children: [1,2,3,4,5]};// CAT
this.rules[366].opcodes[1] = {type: 7, string: [111,100,97,116,97,45,118,101,114,115,105,111,110]};// TLS
this.rules[366].opcodes[2] = {type: 7, string: [58]};// TLS
this.rules[366].opcodes[3] = {type: 4, index: 383};// RNM(OWS)
this.rules[366].opcodes[4] = {type: 7, string: [52,46,48]};// TLS
this.rules[366].opcodes[5] = {type: 3, min: 0, max: 1};// REP
this.rules[366].opcodes[6] = {type: 4, index: 309};// RNM(oneToNine)
/* prefer */
this.rules[367].opcodes = [];
this.rules[367].opcodes[0] = {type: 2, children: [1,2,3,4,5]};// CAT
this.rules[367].opcodes[1] = {type: 7, string: [112,114,101,102,101,114]};// TLS
this.rules[367].opcodes[2] = {type: 7, string: [58]};// TLS
this.rules[367].opcodes[3] = {type: 4, index: 383};// RNM(OWS)
this.rules[367].opcodes[4] = {type: 4, index: 368};// RNM(preference)
this.rules[367].opcodes[5] = {type: 3, min: 0, max: Infinity};// REP
this.rules[367].opcodes[6] = {type: 2, children: [7,8,9,10]};// CAT
this.rules[367].opcodes[7] = {type: 4, index: 383};// RNM(OWS)
this.rules[367].opcodes[8] = {type: 7, string: [44]};// TLS
this.rules[367].opcodes[9] = {type: 4, index: 383};// RNM(OWS)
this.rules[367].opcodes[10] = {type: 4, index: 368};// RNM(preference)
/* preference */
this.rules[368].opcodes = [];
this.rules[368].opcodes[0] = {type: 1, children: [1,2,3,4,5,6,7,8,9,10]};// ALT
this.rules[368].opcodes[1] = {type: 4, index: 369};// RNM(allowEntityReferencesPreference)
this.rules[368].opcodes[2] = {type: 4, index: 370};// RNM(callbackPreference)
this.rules[368].opcodes[3] = {type: 4, index: 371};// RNM(continueOnErrorPreference)
this.rules[368].opcodes[4] = {type: 4, index: 372};// RNM(includeAnnotationsPreference)
this.rules[368].opcodes[5] = {type: 4, index: 376};// RNM(maxpagesizePreference)
this.rules[368].opcodes[6] = {type: 4, index: 377};// RNM(omitValuesPreference)
this.rules[368].opcodes[7] = {type: 4, index: 378};// RNM(respondAsyncPreference)
this.rules[368].opcodes[8] = {type: 4, index: 379};// RNM(returnPreference)
this.rules[368].opcodes[9] = {type: 4, index: 380};// RNM(trackChangesPreference)
this.rules[368].opcodes[10] = {type: 4, index: 381};// RNM(waitPreference)
/* allowEntityReferencesPreference */
this.rules[369].opcodes = [];
this.rules[369].opcodes[0] = {type: 2, children: [1,3]};// CAT
this.rules[369].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[369].opcodes[2] = {type: 7, string: [111,100,97,116,97,46]};// TLS
this.rules[369].opcodes[3] = {type: 7, string: [97,108,108,111,119,45,101,110,116,105,116,121,114,101,102,101,114,101,110,99,101,115]};// TLS
/* callbackPreference */
this.rules[370].opcodes = [];
this.rules[370].opcodes[0] = {type: 2, children: [1,3,4,5,6,7,8,9,10,11]};// CAT
this.rules[370].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[370].opcodes[2] = {type: 7, string: [111,100,97,116,97,46]};// TLS
this.rules[370].opcodes[3] = {type: 7, string: [99,97,108,108,98,97,99,107]};// TLS
this.rules[370].opcodes[4] = {type: 4, index: 383};// RNM(OWS)
this.rules[370].opcodes[5] = {type: 7, string: [59]};// TLS
this.rules[370].opcodes[6] = {type: 4, index: 383};// RNM(OWS)
this.rules[370].opcodes[7] = {type: 7, string: [117,114,108]};// TLS
this.rules[370].opcodes[8] = {type: 4, index: 385};// RNM(EQ-h)
this.rules[370].opcodes[9] = {type: 4, index: 442};// RNM(DQUOTE)
this.rules[370].opcodes[10] = {type: 4, index: 399};// RNM(URI)
this.rules[370].opcodes[11] = {type: 4, index: 442};// RNM(DQUOTE)
/* continueOnErrorPreference */
this.rules[371].opcodes = [];
this.rules[371].opcodes[0] = {type: 2, children: [1,3,4]};// CAT
this.rules[371].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[371].opcodes[2] = {type: 7, string: [111,100,97,116,97,46]};// TLS
this.rules[371].opcodes[3] = {type: 7, string: [99,111,110,116,105,110,117,101,45,111,110,45,101,114,114,111,114]};// TLS
this.rules[371].opcodes[4] = {type: 3, min: 0, max: 1};// REP
this.rules[371].opcodes[5] = {type: 2, children: [6,7]};// CAT
this.rules[371].opcodes[6] = {type: 4, index: 385};// RNM(EQ-h)
this.rules[371].opcodes[7] = {type: 4, index: 289};// RNM(booleanValue)
/* includeAnnotationsPreference */
this.rules[372].opcodes = [];
this.rules[372].opcodes[0] = {type: 2, children: [1,3,4,5,6,7]};// CAT
this.rules[372].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[372].opcodes[2] = {type: 7, string: [111,100,97,116,97,46]};// TLS
this.rules[372].opcodes[3] = {type: 7, string: [105,110,99,108,117,100,101,45,97,110,110,111,116,97,116,105,111,110,115]};// TLS
this.rules[372].opcodes[4] = {type: 4, index: 385};// RNM(EQ-h)
this.rules[372].opcodes[5] = {type: 4, index: 442};// RNM(DQUOTE)
this.rules[372].opcodes[6] = {type: 4, index: 373};// RNM(annotationsList)
this.rules[372].opcodes[7] = {type: 4, index: 442};// RNM(DQUOTE)
/* annotationsList */
this.rules[373].opcodes = [];
this.rules[373].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[373].opcodes[1] = {type: 4, index: 374};// RNM(annotationIdentifier)
this.rules[373].opcodes[2] = {type: 3, min: 0, max: Infinity};// REP
this.rules[373].opcodes[3] = {type: 2, children: [4,5]};// CAT
this.rules[373].opcodes[4] = {type: 7, string: [44]};// TLS
this.rules[373].opcodes[5] = {type: 4, index: 374};// RNM(annotationIdentifier)
/* annotationIdentifier */
this.rules[374].opcodes = [];
this.rules[374].opcodes[0] = {type: 2, children: [1,3,11]};// CAT
this.rules[374].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[374].opcodes[2] = {type: 4, index: 375};// RNM(excludeOperator)
this.rules[374].opcodes[3] = {type: 1, children: [4,5]};// ALT
this.rules[374].opcodes[4] = {type: 4, index: 395};// RNM(STAR)
this.rules[374].opcodes[5] = {type: 2, children: [6,7,8]};// CAT
this.rules[374].opcodes[6] = {type: 4, index: 240};// RNM(namespace)
this.rules[374].opcodes[7] = {type: 7, string: [46]};// TLS
this.rules[374].opcodes[8] = {type: 1, children: [9,10]};// ALT
this.rules[374].opcodes[9] = {type: 4, index: 249};// RNM(termName)
this.rules[374].opcodes[10] = {type: 4, index: 395};// RNM(STAR)
this.rules[374].opcodes[11] = {type: 3, min: 0, max: 1};// REP
this.rules[374].opcodes[12] = {type: 2, children: [13,14]};// CAT
this.rules[374].opcodes[13] = {type: 7, string: [35]};// TLS
this.rules[374].opcodes[14] = {type: 4, index: 250};// RNM(odataIdentifier)
/* excludeOperator */
this.rules[375].opcodes = [];
this.rules[375].opcodes[0] = {type: 7, string: [45]};// TLS
/* maxpagesizePreference */
this.rules[376].opcodes = [];
this.rules[376].opcodes[0] = {type: 2, children: [1,3,4,5,6]};// CAT
this.rules[376].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[376].opcodes[2] = {type: 7, string: [111,100,97,116,97,46]};// TLS
this.rules[376].opcodes[3] = {type: 7, string: [109,97,120,112,97,103,101,115,105,122,101]};// TLS
this.rules[376].opcodes[4] = {type: 4, index: 385};// RNM(EQ-h)
this.rules[376].opcodes[5] = {type: 4, index: 309};// RNM(oneToNine)
this.rules[376].opcodes[6] = {type: 3, min: 0, max: Infinity};// REP
this.rules[376].opcodes[7] = {type: 4, index: 439};// RNM(DIGIT)
/* omitValuesPreference */
this.rules[377].opcodes = [];
this.rules[377].opcodes[0] = {type: 2, children: [1,2,3]};// CAT
this.rules[377].opcodes[1] = {type: 7, string: [111,109,105,116,45,118,97,108,117,101,115]};// TLS
this.rules[377].opcodes[2] = {type: 4, index: 385};// RNM(EQ-h)
this.rules[377].opcodes[3] = {type: 1, children: [4,5]};// ALT
this.rules[377].opcodes[4] = {type: 7, string: [110,117,108,108,115]};// TLS
this.rules[377].opcodes[5] = {type: 7, string: [100,101,102,97,117,108,116,115]};// TLS
/* respondAsyncPreference */
this.rules[378].opcodes = [];
this.rules[378].opcodes[0] = {type: 7, string: [114,101,115,112,111,110,100,45,97,115,121,110,99]};// TLS
/* returnPreference */
this.rules[379].opcodes = [];
this.rules[379].opcodes[0] = {type: 2, children: [1,2,3]};// CAT
this.rules[379].opcodes[1] = {type: 7, string: [114,101,116,117,114,110]};// TLS
this.rules[379].opcodes[2] = {type: 4, index: 385};// RNM(EQ-h)
this.rules[379].opcodes[3] = {type: 1, children: [4,5]};// ALT
this.rules[379].opcodes[4] = {type: 6, string: [114,101,112,114,101,115,101,110,116,97,116,105,111,110]};// TBS
this.rules[379].opcodes[5] = {type: 6, string: [109,105,110,105,109,97,108]};// TBS
/* trackChangesPreference */
this.rules[380].opcodes = [];
this.rules[380].opcodes[0] = {type: 2, children: [1,3]};// CAT
this.rules[380].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[380].opcodes[2] = {type: 7, string: [111,100,97,116,97,46]};// TLS
this.rules[380].opcodes[3] = {type: 7, string: [116,114,97,99,107,45,99,104,97,110,103,101,115]};// TLS
/* waitPreference */
this.rules[381].opcodes = [];
this.rules[381].opcodes[0] = {type: 2, children: [1,2,3]};// CAT
this.rules[381].opcodes[1] = {type: 7, string: [119,97,105,116]};// TLS
this.rules[381].opcodes[2] = {type: 4, index: 385};// RNM(EQ-h)
this.rules[381].opcodes[3] = {type: 3, min: 1, max: Infinity};// REP
this.rules[381].opcodes[4] = {type: 4, index: 439};// RNM(DIGIT)
/* obs-text */
this.rules[382].opcodes = [];
this.rules[382].opcodes[0] = {type: 5, min: 128, max: 255};// TRG
/* OWS */
this.rules[383].opcodes = [];
this.rules[383].opcodes[0] = {type: 3, min: 0, max: Infinity};// REP
this.rules[383].opcodes[1] = {type: 1, children: [2,3]};// ALT
this.rules[383].opcodes[2] = {type: 4, index: 443};// RNM(SP)
this.rules[383].opcodes[3] = {type: 4, index: 444};// RNM(HTAB)
/* BWS-h */
this.rules[384].opcodes = [];
this.rules[384].opcodes[0] = {type: 3, min: 0, max: Infinity};// REP
this.rules[384].opcodes[1] = {type: 1, children: [2,3]};// ALT
this.rules[384].opcodes[2] = {type: 4, index: 443};// RNM(SP)
this.rules[384].opcodes[3] = {type: 4, index: 444};// RNM(HTAB)
/* EQ-h */
this.rules[385].opcodes = [];
this.rules[385].opcodes[0] = {type: 2, children: [1,2,3]};// CAT
this.rules[385].opcodes[1] = {type: 4, index: 384};// RNM(BWS-h)
this.rules[385].opcodes[2] = {type: 4, index: 391};// RNM(EQ)
this.rules[385].opcodes[3] = {type: 4, index: 384};// RNM(BWS-h)
/* RWS */
this.rules[386].opcodes = [];
this.rules[386].opcodes[0] = {type: 3, min: 1, max: Infinity};// REP
this.rules[386].opcodes[1] = {type: 1, children: [2,3,4,5]};// ALT
this.rules[386].opcodes[2] = {type: 4, index: 443};// RNM(SP)
this.rules[386].opcodes[3] = {type: 4, index: 444};// RNM(HTAB)
this.rules[386].opcodes[4] = {type: 7, string: [37,50,48]};// TLS
this.rules[386].opcodes[5] = {type: 7, string: [37,48,57]};// TLS
/* BWS */
this.rules[387].opcodes = [];
this.rules[387].opcodes[0] = {type: 3, min: 0, max: Infinity};// REP
this.rules[387].opcodes[1] = {type: 1, children: [2,3,4,5]};// ALT
this.rules[387].opcodes[2] = {type: 4, index: 443};// RNM(SP)
this.rules[387].opcodes[3] = {type: 4, index: 444};// RNM(HTAB)
this.rules[387].opcodes[4] = {type: 7, string: [37,50,48]};// TLS
this.rules[387].opcodes[5] = {type: 7, string: [37,48,57]};// TLS
/* AT */
this.rules[388].opcodes = [];
this.rules[388].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[388].opcodes[1] = {type: 7, string: [64]};// TLS
this.rules[388].opcodes[2] = {type: 7, string: [37,52,48]};// TLS
/* COLON */
this.rules[389].opcodes = [];
this.rules[389].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[389].opcodes[1] = {type: 7, string: [58]};// TLS
this.rules[389].opcodes[2] = {type: 7, string: [37,51,97]};// TLS
/* COMMA */
this.rules[390].opcodes = [];
this.rules[390].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[390].opcodes[1] = {type: 7, string: [44]};// TLS
this.rules[390].opcodes[2] = {type: 7, string: [37,50,99]};// TLS
/* EQ */
this.rules[391].opcodes = [];
this.rules[391].opcodes[0] = {type: 7, string: [61]};// TLS
/* HASH */
this.rules[392].opcodes = [];
this.rules[392].opcodes[0] = {type: 7, string: [37,50,51]};// TLS
/* SIGN */
this.rules[393].opcodes = [];
this.rules[393].opcodes[0] = {type: 1, children: [1,2,3]};// ALT
this.rules[393].opcodes[1] = {type: 7, string: [43]};// TLS
this.rules[393].opcodes[2] = {type: 7, string: [37,50,98]};// TLS
this.rules[393].opcodes[3] = {type: 7, string: [45]};// TLS
/* SEMI */
this.rules[394].opcodes = [];
this.rules[394].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[394].opcodes[1] = {type: 7, string: [59]};// TLS
this.rules[394].opcodes[2] = {type: 7, string: [37,51,98]};// TLS
/* STAR */
this.rules[395].opcodes = [];
this.rules[395].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[395].opcodes[1] = {type: 7, string: [42]};// TLS
this.rules[395].opcodes[2] = {type: 7, string: [37,50,97]};// TLS
/* SQUOTE */
this.rules[396].opcodes = [];
this.rules[396].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[396].opcodes[1] = {type: 7, string: [39]};// TLS
this.rules[396].opcodes[2] = {type: 7, string: [37,50,55]};// TLS
/* OPEN */
this.rules[397].opcodes = [];
this.rules[397].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[397].opcodes[1] = {type: 7, string: [40]};// TLS
this.rules[397].opcodes[2] = {type: 7, string: [37,50,56]};// TLS
/* CLOSE */
this.rules[398].opcodes = [];
this.rules[398].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[398].opcodes[1] = {type: 7, string: [41]};// TLS
this.rules[398].opcodes[2] = {type: 7, string: [37,50,57]};// TLS
/* URI */
this.rules[399].opcodes = [];
this.rules[399].opcodes[0] = {type: 2, children: [1,2,3,4,8]};// CAT
this.rules[399].opcodes[1] = {type: 4, index: 401};// RNM(scheme)
this.rules[399].opcodes[2] = {type: 7, string: [58]};// TLS
this.rules[399].opcodes[3] = {type: 4, index: 400};// RNM(hier-part)
this.rules[399].opcodes[4] = {type: 3, min: 0, max: 1};// REP
this.rules[399].opcodes[5] = {type: 2, children: [6,7]};// CAT
this.rules[399].opcodes[6] = {type: 7, string: [63]};// TLS
this.rules[399].opcodes[7] = {type: 4, index: 420};// RNM(query)
this.rules[399].opcodes[8] = {type: 3, min: 0, max: 1};// REP
this.rules[399].opcodes[9] = {type: 2, children: [10,11]};// CAT
this.rules[399].opcodes[10] = {type: 7, string: [35]};// TLS
this.rules[399].opcodes[11] = {type: 4, index: 421};// RNM(fragment)
/* hier-part */
this.rules[400].opcodes = [];
this.rules[400].opcodes[0] = {type: 1, children: [1,5,6]};// ALT
this.rules[400].opcodes[1] = {type: 2, children: [2,3,4]};// CAT
this.rules[400].opcodes[2] = {type: 7, string: [47,47]};// TLS
this.rules[400].opcodes[3] = {type: 4, index: 402};// RNM(authority)
this.rules[400].opcodes[4] = {type: 4, index: 414};// RNM(path-abempty)
this.rules[400].opcodes[5] = {type: 4, index: 415};// RNM(path-absolute)
this.rules[400].opcodes[6] = {type: 4, index: 416};// RNM(path-rootless)
/* scheme */
this.rules[401].opcodes = [];
this.rules[401].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[401].opcodes[1] = {type: 4, index: 438};// RNM(ALPHA)
this.rules[401].opcodes[2] = {type: 3, min: 0, max: Infinity};// REP
this.rules[401].opcodes[3] = {type: 1, children: [4,5,6,7,8]};// ALT
this.rules[401].opcodes[4] = {type: 4, index: 438};// RNM(ALPHA)
this.rules[401].opcodes[5] = {type: 4, index: 439};// RNM(DIGIT)
this.rules[401].opcodes[6] = {type: 7, string: [43]};// TLS
this.rules[401].opcodes[7] = {type: 7, string: [45]};// TLS
this.rules[401].opcodes[8] = {type: 7, string: [46]};// TLS
/* authority */
this.rules[402].opcodes = [];
this.rules[402].opcodes[0] = {type: 2, children: [1,5,6]};// CAT
this.rules[402].opcodes[1] = {type: 3, min: 0, max: 1};// REP
this.rules[402].opcodes[2] = {type: 2, children: [3,4]};// CAT
this.rules[402].opcodes[3] = {type: 4, index: 403};// RNM(userinfo)
this.rules[402].opcodes[4] = {type: 7, string: [64]};// TLS
this.rules[402].opcodes[5] = {type: 4, index: 404};// RNM(host)
this.rules[402].opcodes[6] = {type: 3, min: 0, max: 1};// REP
this.rules[402].opcodes[7] = {type: 2, children: [8,9]};// CAT
this.rules[402].opcodes[8] = {type: 7, string: [58]};// TLS
this.rules[402].opcodes[9] = {type: 4, index: 405};// RNM(port)
/* userinfo */
this.rules[403].opcodes = [];
this.rules[403].opcodes[0] = {type: 3, min: 0, max: Infinity};// REP
this.rules[403].opcodes[1] = {type: 1, children: [2,3,4,5]};// ALT
this.rules[403].opcodes[2] = {type: 4, index: 423};// RNM(unreserved)
this.rules[403].opcodes[3] = {type: 4, index: 422};// RNM(pct-encoded)
this.rules[403].opcodes[4] = {type: 4, index: 424};// RNM(sub-delims)
this.rules[403].opcodes[5] = {type: 7, string: [58]};// TLS
/* host */
this.rules[404].opcodes = [];
this.rules[404].opcodes[0] = {type: 1, children: [1,2,3]};// ALT
this.rules[404].opcodes[1] = {type: 4, index: 406};// RNM(IP-literal)
this.rules[404].opcodes[2] = {type: 4, index: 411};// RNM(IPv4address)
this.rules[404].opcodes[3] = {type: 4, index: 413};// RNM(reg-name)
/* port */
this.rules[405].opcodes = [];
this.rules[405].opcodes[0] = {type: 3, min: 0, max: Infinity};// REP
this.rules[405].opcodes[1] = {type: 4, index: 439};// RNM(DIGIT)
/* IP-literal */
this.rules[406].opcodes = [];
this.rules[406].opcodes[0] = {type: 2, children: [1,2,5]};// CAT
this.rules[406].opcodes[1] = {type: 7, string: [91]};// TLS
this.rules[406].opcodes[2] = {type: 1, children: [3,4]};// ALT
this.rules[406].opcodes[3] = {type: 4, index: 408};// RNM(IPv6address)
this.rules[406].opcodes[4] = {type: 4, index: 407};// RNM(IPvFuture)
this.rules[406].opcodes[5] = {type: 7, string: [93]};// TLS
/* IPvFuture */
this.rules[407].opcodes = [];
this.rules[407].opcodes[0] = {type: 2, children: [1,2,4,5]};// CAT
this.rules[407].opcodes[1] = {type: 7, string: [118]};// TLS
this.rules[407].opcodes[2] = {type: 3, min: 1, max: Infinity};// REP
this.rules[407].opcodes[3] = {type: 4, index: 440};// RNM(HEXDIG)
this.rules[407].opcodes[4] = {type: 7, string: [46]};// TLS
this.rules[407].opcodes[5] = {type: 3, min: 1, max: Infinity};// REP
this.rules[407].opcodes[6] = {type: 1, children: [7,8,9]};// ALT
this.rules[407].opcodes[7] = {type: 4, index: 423};// RNM(unreserved)
this.rules[407].opcodes[8] = {type: 4, index: 424};// RNM(sub-delims)
this.rules[407].opcodes[9] = {type: 7, string: [58]};// TLS
/* IPv6address */
this.rules[408].opcodes = [];
this.rules[408].opcodes[0] = {type: 1, children: [1,7,14,23,37,51,63,73,83]};// ALT
this.rules[408].opcodes[1] = {type: 2, children: [2,6]};// CAT
this.rules[408].opcodes[2] = {type: 3, min: 6, max: 6};// REP
this.rules[408].opcodes[3] = {type: 2, children: [4,5]};// CAT
this.rules[408].opcodes[4] = {type: 4, index: 409};// RNM(h16)
this.rules[408].opcodes[5] = {type: 7, string: [58]};// TLS
this.rules[408].opcodes[6] = {type: 4, index: 410};// RNM(ls32)
this.rules[408].opcodes[7] = {type: 2, children: [8,9,13]};// CAT
this.rules[408].opcodes[8] = {type: 7, string: [58,58]};// TLS
this.rules[408].opcodes[9] = {type: 3, min: 5, max: 5};// REP
this.rules[408].opcodes[10] = {type: 2, children: [11,12]};// CAT
this.rules[408].opcodes[11] = {type: 4, index: 409};// RNM(h16)
this.rules[408].opcodes[12] = {type: 7, string: [58]};// TLS
this.rules[408].opcodes[13] = {type: 4, index: 410};// RNM(ls32)
this.rules[408].opcodes[14] = {type: 2, children: [15,17,18,22]};// CAT
this.rules[408].opcodes[15] = {type: 3, min: 0, max: 1};// REP
this.rules[408].opcodes[16] = {type: 4, index: 409};// RNM(h16)
this.rules[408].opcodes[17] = {type: 7, string: [58,58]};// TLS
this.rules[408].opcodes[18] = {type: 3, min: 4, max: 4};// REP
this.rules[408].opcodes[19] = {type: 2, children: [20,21]};// CAT
this.rules[408].opcodes[20] = {type: 4, index: 409};// RNM(h16)
this.rules[408].opcodes[21] = {type: 7, string: [58]};// TLS
this.rules[408].opcodes[22] = {type: 4, index: 410};// RNM(ls32)
this.rules[408].opcodes[23] = {type: 2, children: [24,31,32,36]};// CAT
this.rules[408].opcodes[24] = {type: 3, min: 0, max: 1};// REP
this.rules[408].opcodes[25] = {type: 2, children: [26,30]};// CAT
this.rules[408].opcodes[26] = {type: 3, min: 0, max: 1};// REP
this.rules[408].opcodes[27] = {type: 2, children: [28,29]};// CAT
this.rules[408].opcodes[28] = {type: 4, index: 409};// RNM(h16)
this.rules[408].opcodes[29] = {type: 7, string: [58]};// TLS
this.rules[408].opcodes[30] = {type: 4, index: 409};// RNM(h16)
this.rules[408].opcodes[31] = {type: 7, string: [58,58]};// TLS
this.rules[408].opcodes[32] = {type: 3, min: 3, max: 3};// REP
this.rules[408].opcodes[33] = {type: 2, children: [34,35]};// CAT
this.rules[408].opcodes[34] = {type: 4, index: 409};// RNM(h16)
this.rules[408].opcodes[35] = {type: 7, string: [58]};// TLS
this.rules[408].opcodes[36] = {type: 4, index: 410};// RNM(ls32)
this.rules[408].opcodes[37] = {type: 2, children: [38,45,46,50]};// CAT
this.rules[408].opcodes[38] = {type: 3, min: 0, max: 1};// REP
this.rules[408].opcodes[39] = {type: 2, children: [40,44]};// CAT
this.rules[408].opcodes[40] = {type: 3, min: 0, max: 2};// REP
this.rules[408].opcodes[41] = {type: 2, children: [42,43]};// CAT
this.rules[408].opcodes[42] = {type: 4, index: 409};// RNM(h16)
this.rules[408].opcodes[43] = {type: 7, string: [58]};// TLS
this.rules[408].opcodes[44] = {type: 4, index: 409};// RNM(h16)
this.rules[408].opcodes[45] = {type: 7, string: [58,58]};// TLS
this.rules[408].opcodes[46] = {type: 3, min: 2, max: 2};// REP
this.rules[408].opcodes[47] = {type: 2, children: [48,49]};// CAT
this.rules[408].opcodes[48] = {type: 4, index: 409};// RNM(h16)
this.rules[408].opcodes[49] = {type: 7, string: [58]};// TLS
this.rules[408].opcodes[50] = {type: 4, index: 410};// RNM(ls32)
this.rules[408].opcodes[51] = {type: 2, children: [52,59,60,61,62]};// CAT
this.rules[408].opcodes[52] = {type: 3, min: 0, max: 1};// REP
this.rules[408].opcodes[53] = {type: 2, children: [54,58]};// CAT
this.rules[408].opcodes[54] = {type: 3, min: 0, max: 3};// REP
this.rules[408].opcodes[55] = {type: 2, children: [56,57]};// CAT
this.rules[408].opcodes[56] = {type: 4, index: 409};// RNM(h16)
this.rules[408].opcodes[57] = {type: 7, string: [58]};// TLS
this.rules[408].opcodes[58] = {type: 4, index: 409};// RNM(h16)
this.rules[408].opcodes[59] = {type: 7, string: [58,58]};// TLS
this.rules[408].opcodes[60] = {type: 4, index: 409};// RNM(h16)
this.rules[408].opcodes[61] = {type: 7, string: [58]};// TLS
this.rules[408].opcodes[62] = {type: 4, index: 410};// RNM(ls32)
this.rules[408].opcodes[63] = {type: 2, children: [64,71,72]};// CAT
this.rules[408].opcodes[64] = {type: 3, min: 0, max: 1};// REP
this.rules[408].opcodes[65] = {type: 2, children: [66,70]};// CAT
this.rules[408].opcodes[66] = {type: 3, min: 0, max: 4};// REP
this.rules[408].opcodes[67] = {type: 2, children: [68,69]};// CAT
this.rules[408].opcodes[68] = {type: 4, index: 409};// RNM(h16)
this.rules[408].opcodes[69] = {type: 7, string: [58]};// TLS
this.rules[408].opcodes[70] = {type: 4, index: 409};// RNM(h16)
this.rules[408].opcodes[71] = {type: 7, string: [58,58]};// TLS
this.rules[408].opcodes[72] = {type: 4, index: 410};// RNM(ls32)
this.rules[408].opcodes[73] = {type: 2, children: [74,81,82]};// CAT
this.rules[408].opcodes[74] = {type: 3, min: 0, max: 1};// REP
this.rules[408].opcodes[75] = {type: 2, children: [76,80]};// CAT
this.rules[408].opcodes[76] = {type: 3, min: 0, max: 5};// REP
this.rules[408].opcodes[77] = {type: 2, children: [78,79]};// CAT
this.rules[408].opcodes[78] = {type: 4, index: 409};// RNM(h16)
this.rules[408].opcodes[79] = {type: 7, string: [58]};// TLS
this.rules[408].opcodes[80] = {type: 4, index: 409};// RNM(h16)
this.rules[408].opcodes[81] = {type: 7, string: [58,58]};// TLS
this.rules[408].opcodes[82] = {type: 4, index: 409};// RNM(h16)
this.rules[408].opcodes[83] = {type: 2, children: [84,91]};// CAT
this.rules[408].opcodes[84] = {type: 3, min: 0, max: 1};// REP
this.rules[408].opcodes[85] = {type: 2, children: [86,90]};// CAT
this.rules[408].opcodes[86] = {type: 3, min: 0, max: 6};// REP
this.rules[408].opcodes[87] = {type: 2, children: [88,89]};// CAT
this.rules[408].opcodes[88] = {type: 4, index: 409};// RNM(h16)
this.rules[408].opcodes[89] = {type: 7, string: [58]};// TLS
this.rules[408].opcodes[90] = {type: 4, index: 409};// RNM(h16)
this.rules[408].opcodes[91] = {type: 7, string: [58,58]};// TLS
/* h16 */
this.rules[409].opcodes = [];
this.rules[409].opcodes[0] = {type: 3, min: 1, max: 4};// REP
this.rules[409].opcodes[1] = {type: 4, index: 440};// RNM(HEXDIG)
/* ls32 */
this.rules[410].opcodes = [];
this.rules[410].opcodes[0] = {type: 1, children: [1,5]};// ALT
this.rules[410].opcodes[1] = {type: 2, children: [2,3,4]};// CAT
this.rules[410].opcodes[2] = {type: 4, index: 409};// RNM(h16)
this.rules[410].opcodes[3] = {type: 7, string: [58]};// TLS
this.rules[410].opcodes[4] = {type: 4, index: 409};// RNM(h16)
this.rules[410].opcodes[5] = {type: 4, index: 411};// RNM(IPv4address)
/* IPv4address */
this.rules[411].opcodes = [];
this.rules[411].opcodes[0] = {type: 2, children: [1,2,3,4,5,6,7]};// CAT
this.rules[411].opcodes[1] = {type: 4, index: 412};// RNM(dec-octet)
this.rules[411].opcodes[2] = {type: 7, string: [46]};// TLS
this.rules[411].opcodes[3] = {type: 4, index: 412};// RNM(dec-octet)
this.rules[411].opcodes[4] = {type: 7, string: [46]};// TLS
this.rules[411].opcodes[5] = {type: 4, index: 412};// RNM(dec-octet)
this.rules[411].opcodes[6] = {type: 7, string: [46]};// TLS
this.rules[411].opcodes[7] = {type: 4, index: 412};// RNM(dec-octet)
/* dec-octet */
this.rules[412].opcodes = [];
this.rules[412].opcodes[0] = {type: 1, children: [1,5,9,12,15]};// ALT
this.rules[412].opcodes[1] = {type: 2, children: [2,3]};// CAT
this.rules[412].opcodes[2] = {type: 7, string: [49]};// TLS
this.rules[412].opcodes[3] = {type: 3, min: 2, max: 2};// REP
this.rules[412].opcodes[4] = {type: 4, index: 439};// RNM(DIGIT)
this.rules[412].opcodes[5] = {type: 2, children: [6,7,8]};// CAT
this.rules[412].opcodes[6] = {type: 7, string: [50]};// TLS
this.rules[412].opcodes[7] = {type: 5, min: 48, max: 52};// TRG
this.rules[412].opcodes[8] = {type: 4, index: 439};// RNM(DIGIT)
this.rules[412].opcodes[9] = {type: 2, children: [10,11]};// CAT
this.rules[412].opcodes[10] = {type: 7, string: [50,53]};// TLS
this.rules[412].opcodes[11] = {type: 5, min: 48, max: 53};// TRG
this.rules[412].opcodes[12] = {type: 2, children: [13,14]};// CAT
this.rules[412].opcodes[13] = {type: 5, min: 49, max: 57};// TRG
this.rules[412].opcodes[14] = {type: 4, index: 439};// RNM(DIGIT)
this.rules[412].opcodes[15] = {type: 4, index: 439};// RNM(DIGIT)
/* reg-name */
this.rules[413].opcodes = [];
this.rules[413].opcodes[0] = {type: 3, min: 0, max: Infinity};// REP
this.rules[413].opcodes[1] = {type: 1, children: [2,3,4]};// ALT
this.rules[413].opcodes[2] = {type: 4, index: 423};// RNM(unreserved)
this.rules[413].opcodes[3] = {type: 4, index: 422};// RNM(pct-encoded)
this.rules[413].opcodes[4] = {type: 4, index: 424};// RNM(sub-delims)
/* path-abempty */
this.rules[414].opcodes = [];
this.rules[414].opcodes[0] = {type: 3, min: 0, max: Infinity};// REP
this.rules[414].opcodes[1] = {type: 2, children: [2,3]};// CAT
this.rules[414].opcodes[2] = {type: 7, string: [47]};// TLS
this.rules[414].opcodes[3] = {type: 4, index: 417};// RNM(segment)
/* path-absolute */
this.rules[415].opcodes = [];
this.rules[415].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[415].opcodes[1] = {type: 7, string: [47]};// TLS
this.rules[415].opcodes[2] = {type: 3, min: 0, max: 1};// REP
this.rules[415].opcodes[3] = {type: 2, children: [4,5]};// CAT
this.rules[415].opcodes[4] = {type: 4, index: 418};// RNM(segment-nz)
this.rules[415].opcodes[5] = {type: 3, min: 0, max: Infinity};// REP
this.rules[415].opcodes[6] = {type: 2, children: [7,8]};// CAT
this.rules[415].opcodes[7] = {type: 7, string: [47]};// TLS
this.rules[415].opcodes[8] = {type: 4, index: 417};// RNM(segment)
/* path-rootless */
this.rules[416].opcodes = [];
this.rules[416].opcodes[0] = {type: 2, children: [1,2]};// CAT
this.rules[416].opcodes[1] = {type: 4, index: 418};// RNM(segment-nz)
this.rules[416].opcodes[2] = {type: 3, min: 0, max: Infinity};// REP
this.rules[416].opcodes[3] = {type: 2, children: [4,5]};// CAT
this.rules[416].opcodes[4] = {type: 7, string: [47]};// TLS
this.rules[416].opcodes[5] = {type: 4, index: 417};// RNM(segment)
/* segment */
this.rules[417].opcodes = [];
this.rules[417].opcodes[0] = {type: 3, min: 0, max: Infinity};// REP
this.rules[417].opcodes[1] = {type: 4, index: 419};// RNM(pchar)
/* segment-nz */
this.rules[418].opcodes = [];
this.rules[418].opcodes[0] = {type: 3, min: 1, max: Infinity};// REP
this.rules[418].opcodes[1] = {type: 4, index: 419};// RNM(pchar)
/* pchar */
this.rules[419].opcodes = [];
this.rules[419].opcodes[0] = {type: 1, children: [1,2,3,4,5]};// ALT
this.rules[419].opcodes[1] = {type: 4, index: 423};// RNM(unreserved)
this.rules[419].opcodes[2] = {type: 4, index: 422};// RNM(pct-encoded)
this.rules[419].opcodes[3] = {type: 4, index: 424};// RNM(sub-delims)
this.rules[419].opcodes[4] = {type: 7, string: [58]};// TLS
this.rules[419].opcodes[5] = {type: 7, string: [64]};// TLS
/* query */
this.rules[420].opcodes = [];
this.rules[420].opcodes[0] = {type: 3, min: 0, max: Infinity};// REP
this.rules[420].opcodes[1] = {type: 1, children: [2,3,4]};// ALT
this.rules[420].opcodes[2] = {type: 4, index: 419};// RNM(pchar)
this.rules[420].opcodes[3] = {type: 7, string: [47]};// TLS
this.rules[420].opcodes[4] = {type: 7, string: [63]};// TLS
/* fragment */
this.rules[421].opcodes = [];
this.rules[421].opcodes[0] = {type: 3, min: 0, max: Infinity};// REP
this.rules[421].opcodes[1] = {type: 1, children: [2,3,4]};// ALT
this.rules[421].opcodes[2] = {type: 4, index: 419};// RNM(pchar)
this.rules[421].opcodes[3] = {type: 7, string: [47]};// TLS
this.rules[421].opcodes[4] = {type: 7, string: [63]};// TLS
/* pct-encoded */
this.rules[422].opcodes = [];
this.rules[422].opcodes[0] = {type: 2, children: [1,2,3]};// CAT
this.rules[422].opcodes[1] = {type: 7, string: [37]};// TLS
this.rules[422].opcodes[2] = {type: 4, index: 440};// RNM(HEXDIG)
this.rules[422].opcodes[3] = {type: 4, index: 440};// RNM(HEXDIG)
/* unreserved */
this.rules[423].opcodes = [];
this.rules[423].opcodes[0] = {type: 1, children: [1,2,3,4,5,6]};// ALT
this.rules[423].opcodes[1] = {type: 4, index: 438};// RNM(ALPHA)
this.rules[423].opcodes[2] = {type: 4, index: 439};// RNM(DIGIT)
this.rules[423].opcodes[3] = {type: 7, string: [45]};// TLS
this.rules[423].opcodes[4] = {type: 7, string: [46]};// TLS
this.rules[423].opcodes[5] = {type: 7, string: [95]};// TLS
this.rules[423].opcodes[6] = {type: 7, string: [126]};// TLS
/* sub-delims */
this.rules[424].opcodes = [];
this.rules[424].opcodes[0] = {type: 1, children: [1,2,3,4,5]};// ALT
this.rules[424].opcodes[1] = {type: 7, string: [36]};// TLS
this.rules[424].opcodes[2] = {type: 7, string: [38]};// TLS
this.rules[424].opcodes[3] = {type: 7, string: [39]};// TLS
this.rules[424].opcodes[4] = {type: 7, string: [61]};// TLS
this.rules[424].opcodes[5] = {type: 4, index: 425};// RNM(other-delims)
/* other-delims */
this.rules[425].opcodes = [];
this.rules[425].opcodes[0] = {type: 1, children: [1,2,3,4,5,6,7]};// ALT
this.rules[425].opcodes[1] = {type: 7, string: [33]};// TLS
this.rules[425].opcodes[2] = {type: 7, string: [40]};// TLS
this.rules[425].opcodes[3] = {type: 7, string: [41]};// TLS
this.rules[425].opcodes[4] = {type: 7, string: [42]};// TLS
this.rules[425].opcodes[5] = {type: 7, string: [43]};// TLS
this.rules[425].opcodes[6] = {type: 7, string: [44]};// TLS
this.rules[425].opcodes[7] = {type: 7, string: [59]};// TLS
/* pchar-no-SQUOTE */
this.rules[426].opcodes = [];
this.rules[426].opcodes[0] = {type: 1, children: [1,2,3,4,5,6,7,8]};// ALT
this.rules[426].opcodes[1] = {type: 4, index: 423};// RNM(unreserved)
this.rules[426].opcodes[2] = {type: 4, index: 427};// RNM(pct-encoded-no-SQUOTE)
this.rules[426].opcodes[3] = {type: 4, index: 425};// RNM(other-delims)
this.rules[426].opcodes[4] = {type: 7, string: [36]};// TLS
this.rules[426].opcodes[5] = {type: 7, string: [38]};// TLS
this.rules[426].opcodes[6] = {type: 7, string: [61]};// TLS
this.rules[426].opcodes[7] = {type: 7, string: [58]};// TLS
this.rules[426].opcodes[8] = {type: 7, string: [64]};// TLS
/* pct-encoded-no-SQUOTE */
this.rules[427].opcodes = [];
this.rules[427].opcodes[0] = {type: 1, children: [1,14]};// ALT
this.rules[427].opcodes[1] = {type: 2, children: [2,3,13]};// CAT
this.rules[427].opcodes[2] = {type: 7, string: [37]};// TLS
this.rules[427].opcodes[3] = {type: 1, children: [4,5,6,7,8,9,10,11,12]};// ALT
this.rules[427].opcodes[4] = {type: 7, string: [48]};// TLS
this.rules[427].opcodes[5] = {type: 7, string: [49]};// TLS
this.rules[427].opcodes[6] = {type: 7, string: [51]};// TLS
this.rules[427].opcodes[7] = {type: 7, string: [52]};// TLS
this.rules[427].opcodes[8] = {type: 7, string: [53]};// TLS
this.rules[427].opcodes[9] = {type: 7, string: [54]};// TLS
this.rules[427].opcodes[10] = {type: 7, string: [56]};// TLS
this.rules[427].opcodes[11] = {type: 7, string: [57]};// TLS
this.rules[427].opcodes[12] = {type: 4, index: 441};// RNM(A-to-F)
this.rules[427].opcodes[13] = {type: 4, index: 440};// RNM(HEXDIG)
this.rules[427].opcodes[14] = {type: 2, children: [15,16,17]};// CAT
this.rules[427].opcodes[15] = {type: 7, string: [37]};// TLS
this.rules[427].opcodes[16] = {type: 7, string: [50]};// TLS
this.rules[427].opcodes[17] = {type: 1, children: [18,19,20,21,22,23,24,25,26,27]};// ALT
this.rules[427].opcodes[18] = {type: 7, string: [48]};// TLS
this.rules[427].opcodes[19] = {type: 7, string: [49]};// TLS
this.rules[427].opcodes[20] = {type: 7, string: [50]};// TLS
this.rules[427].opcodes[21] = {type: 7, string: [51]};// TLS
this.rules[427].opcodes[22] = {type: 7, string: [52]};// TLS
this.rules[427].opcodes[23] = {type: 7, string: [53]};// TLS
this.rules[427].opcodes[24] = {type: 7, string: [54]};// TLS
this.rules[427].opcodes[25] = {type: 7, string: [56]};// TLS
this.rules[427].opcodes[26] = {type: 7, string: [57]};// TLS
this.rules[427].opcodes[27] = {type: 4, index: 441};// RNM(A-to-F)
/* qchar-no-AMP */
this.rules[428].opcodes = [];
this.rules[428].opcodes[0] = {type: 1, children: [1,2,3,4,5,6,7,8,9,10]};// ALT
this.rules[428].opcodes[1] = {type: 4, index: 423};// RNM(unreserved)
this.rules[428].opcodes[2] = {type: 4, index: 422};// RNM(pct-encoded)
this.rules[428].opcodes[3] = {type: 4, index: 425};// RNM(other-delims)
this.rules[428].opcodes[4] = {type: 7, string: [58]};// TLS
this.rules[428].opcodes[5] = {type: 7, string: [64]};// TLS
this.rules[428].opcodes[6] = {type: 7, string: [47]};// TLS
this.rules[428].opcodes[7] = {type: 7, string: [63]};// TLS
this.rules[428].opcodes[8] = {type: 7, string: [36]};// TLS
this.rules[428].opcodes[9] = {type: 7, string: [39]};// TLS
this.rules[428].opcodes[10] = {type: 7, string: [61]};// TLS
/* qchar-no-AMP-EQ */
this.rules[429].opcodes = [];
this.rules[429].opcodes[0] = {type: 1, children: [1,2,3,4,5,6,7,8,9]};// ALT
this.rules[429].opcodes[1] = {type: 4, index: 423};// RNM(unreserved)
this.rules[429].opcodes[2] = {type: 4, index: 422};// RNM(pct-encoded)
this.rules[429].opcodes[3] = {type: 4, index: 425};// RNM(other-delims)
this.rules[429].opcodes[4] = {type: 7, string: [58]};// TLS
this.rules[429].opcodes[5] = {type: 7, string: [64]};// TLS
this.rules[429].opcodes[6] = {type: 7, string: [47]};// TLS
this.rules[429].opcodes[7] = {type: 7, string: [63]};// TLS
this.rules[429].opcodes[8] = {type: 7, string: [36]};// TLS
this.rules[429].opcodes[9] = {type: 7, string: [39]};// TLS
/* qchar-no-AMP-EQ-AT-DOLLAR */
this.rules[430].opcodes = [];
this.rules[430].opcodes[0] = {type: 1, children: [1,2,3,4,5,6,7]};// ALT
this.rules[430].opcodes[1] = {type: 4, index: 423};// RNM(unreserved)
this.rules[430].opcodes[2] = {type: 4, index: 422};// RNM(pct-encoded)
this.rules[430].opcodes[3] = {type: 4, index: 425};// RNM(other-delims)
this.rules[430].opcodes[4] = {type: 7, string: [58]};// TLS
this.rules[430].opcodes[5] = {type: 7, string: [47]};// TLS
this.rules[430].opcodes[6] = {type: 7, string: [63]};// TLS
this.rules[430].opcodes[7] = {type: 7, string: [39]};// TLS
/* qchar-no-AMP-SQUOTE */
this.rules[431].opcodes = [];
this.rules[431].opcodes[0] = {type: 1, children: [1,2,3,4,5,6,7,8,9]};// ALT
this.rules[431].opcodes[1] = {type: 4, index: 423};// RNM(unreserved)
this.rules[431].opcodes[2] = {type: 4, index: 422};// RNM(pct-encoded)
this.rules[431].opcodes[3] = {type: 4, index: 425};// RNM(other-delims)
this.rules[431].opcodes[4] = {type: 7, string: [58]};// TLS
this.rules[431].opcodes[5] = {type: 7, string: [64]};// TLS
this.rules[431].opcodes[6] = {type: 7, string: [47]};// TLS
this.rules[431].opcodes[7] = {type: 7, string: [63]};// TLS
this.rules[431].opcodes[8] = {type: 7, string: [36]};// TLS
this.rules[431].opcodes[9] = {type: 7, string: [61]};// TLS
/* qchar-no-AMP-DQUOTE */
this.rules[432].opcodes = [];
this.rules[432].opcodes[0] = {type: 1, children: [1,2,3,4,5,6,7,8,9,10]};// ALT
this.rules[432].opcodes[1] = {type: 4, index: 423};// RNM(unreserved)
this.rules[432].opcodes[2] = {type: 4, index: 435};// RNM(pct-encoded-no-DQUOTE)
this.rules[432].opcodes[3] = {type: 4, index: 425};// RNM(other-delims)
this.rules[432].opcodes[4] = {type: 7, string: [58]};// TLS
this.rules[432].opcodes[5] = {type: 7, string: [64]};// TLS
this.rules[432].opcodes[6] = {type: 7, string: [47]};// TLS
this.rules[432].opcodes[7] = {type: 7, string: [63]};// TLS
this.rules[432].opcodes[8] = {type: 7, string: [36]};// TLS
this.rules[432].opcodes[9] = {type: 7, string: [39]};// TLS
this.rules[432].opcodes[10] = {type: 7, string: [61]};// TLS
/* qchar-unescaped */
this.rules[433].opcodes = [];
this.rules[433].opcodes[0] = {type: 1, children: [1,2,3,4,5,6,7,8,9,10]};// ALT
this.rules[433].opcodes[1] = {type: 4, index: 423};// RNM(unreserved)
this.rules[433].opcodes[2] = {type: 4, index: 434};// RNM(pct-encoded-unescaped)
this.rules[433].opcodes[3] = {type: 4, index: 425};// RNM(other-delims)
this.rules[433].opcodes[4] = {type: 7, string: [58]};// TLS
this.rules[433].opcodes[5] = {type: 7, string: [64]};// TLS
this.rules[433].opcodes[6] = {type: 7, string: [47]};// TLS
this.rules[433].opcodes[7] = {type: 7, string: [63]};// TLS
this.rules[433].opcodes[8] = {type: 7, string: [36]};// TLS
this.rules[433].opcodes[9] = {type: 7, string: [39]};// TLS
this.rules[433].opcodes[10] = {type: 7, string: [61]};// TLS
/* pct-encoded-unescaped */
this.rules[434].opcodes = [];
this.rules[434].opcodes[0] = {type: 1, children: [1,14,28]};// ALT
this.rules[434].opcodes[1] = {type: 2, children: [2,3,13]};// CAT
this.rules[434].opcodes[2] = {type: 7, string: [37]};// TLS
this.rules[434].opcodes[3] = {type: 1, children: [4,5,6,7,8,9,10,11,12]};// ALT
this.rules[434].opcodes[4] = {type: 7, string: [48]};// TLS
this.rules[434].opcodes[5] = {type: 7, string: [49]};// TLS
this.rules[434].opcodes[6] = {type: 7, string: [51]};// TLS
this.rules[434].opcodes[7] = {type: 7, string: [52]};// TLS
this.rules[434].opcodes[8] = {type: 7, string: [54]};// TLS
this.rules[434].opcodes[9] = {type: 7, string: [55]};// TLS
this.rules[434].opcodes[10] = {type: 7, string: [56]};// TLS
this.rules[434].opcodes[11] = {type: 7, string: [57]};// TLS
this.rules[434].opcodes[12] = {type: 4, index: 441};// RNM(A-to-F)
this.rules[434].opcodes[13] = {type: 4, index: 440};// RNM(HEXDIG)
this.rules[434].opcodes[14] = {type: 2, children: [15,16,17]};// CAT
this.rules[434].opcodes[15] = {type: 7, string: [37]};// TLS
this.rules[434].opcodes[16] = {type: 7, string: [50]};// TLS
this.rules[434].opcodes[17] = {type: 1, children: [18,19,20,21,22,23,24,25,26,27]};// ALT
this.rules[434].opcodes[18] = {type: 7, string: [48]};// TLS
this.rules[434].opcodes[19] = {type: 7, string: [49]};// TLS
this.rules[434].opcodes[20] = {type: 7, string: [51]};// TLS
this.rules[434].opcodes[21] = {type: 7, string: [52]};// TLS
this.rules[434].opcodes[22] = {type: 7, string: [53]};// TLS
this.rules[434].opcodes[23] = {type: 7, string: [54]};// TLS
this.rules[434].opcodes[24] = {type: 7, string: [55]};// TLS
this.rules[434].opcodes[25] = {type: 7, string: [56]};// TLS
this.rules[434].opcodes[26] = {type: 7, string: [57]};// TLS
this.rules[434].opcodes[27] = {type: 4, index: 441};// RNM(A-to-F)
this.rules[434].opcodes[28] = {type: 2, children: [29,30,31]};// CAT
this.rules[434].opcodes[29] = {type: 7, string: [37]};// TLS
this.rules[434].opcodes[30] = {type: 7, string: [53]};// TLS
this.rules[434].opcodes[31] = {type: 1, children: [32,33,34,35,36,37]};// ALT
this.rules[434].opcodes[32] = {type: 4, index: 439};// RNM(DIGIT)
this.rules[434].opcodes[33] = {type: 7, string: [97]};// TLS
this.rules[434].opcodes[34] = {type: 7, string: [98]};// TLS
this.rules[434].opcodes[35] = {type: 7, string: [100]};// TLS
this.rules[434].opcodes[36] = {type: 7, string: [101]};// TLS
this.rules[434].opcodes[37] = {type: 7, string: [102]};// TLS
/* pct-encoded-no-DQUOTE */
this.rules[435].opcodes = [];
this.rules[435].opcodes[0] = {type: 1, children: [1,15]};// ALT
this.rules[435].opcodes[1] = {type: 2, children: [2,3,14]};// CAT
this.rules[435].opcodes[2] = {type: 7, string: [37]};// TLS
this.rules[435].opcodes[3] = {type: 1, children: [4,5,6,7,8,9,10,11,12,13]};// ALT
this.rules[435].opcodes[4] = {type: 7, string: [48]};// TLS
this.rules[435].opcodes[5] = {type: 7, string: [49]};// TLS
this.rules[435].opcodes[6] = {type: 7, string: [51]};// TLS
this.rules[435].opcodes[7] = {type: 7, string: [52]};// TLS
this.rules[435].opcodes[8] = {type: 7, string: [53]};// TLS
this.rules[435].opcodes[9] = {type: 7, string: [54]};// TLS
this.rules[435].opcodes[10] = {type: 7, string: [55]};// TLS
this.rules[435].opcodes[11] = {type: 7, string: [56]};// TLS
this.rules[435].opcodes[12] = {type: 7, string: [57]};// TLS
this.rules[435].opcodes[13] = {type: 4, index: 441};// RNM(A-to-F)
this.rules[435].opcodes[14] = {type: 4, index: 440};// RNM(HEXDIG)
this.rules[435].opcodes[15] = {type: 2, children: [16,17,18]};// CAT
this.rules[435].opcodes[16] = {type: 7, string: [37]};// TLS
this.rules[435].opcodes[17] = {type: 7, string: [50]};// TLS
this.rules[435].opcodes[18] = {type: 1, children: [19,20,21,22,23,24,25,26,27,28]};// ALT
this.rules[435].opcodes[19] = {type: 7, string: [48]};// TLS
this.rules[435].opcodes[20] = {type: 7, string: [49]};// TLS
this.rules[435].opcodes[21] = {type: 7, string: [51]};// TLS
this.rules[435].opcodes[22] = {type: 7, string: [52]};// TLS
this.rules[435].opcodes[23] = {type: 7, string: [53]};// TLS
this.rules[435].opcodes[24] = {type: 7, string: [54]};// TLS
this.rules[435].opcodes[25] = {type: 7, string: [55]};// TLS
this.rules[435].opcodes[26] = {type: 7, string: [56]};// TLS
this.rules[435].opcodes[27] = {type: 7, string: [57]};// TLS
this.rules[435].opcodes[28] = {type: 4, index: 441};// RNM(A-to-F)
/* IRI-in-header */
this.rules[436].opcodes = [];
this.rules[436].opcodes[0] = {type: 3, min: 1, max: Infinity};// REP
this.rules[436].opcodes[1] = {type: 1, children: [2,3]};// ALT
this.rules[436].opcodes[2] = {type: 4, index: 445};// RNM(VCHAR)
this.rules[436].opcodes[3] = {type: 4, index: 382};// RNM(obs-text)
/* IRI-in-query */
this.rules[437].opcodes = [];
this.rules[437].opcodes[0] = {type: 3, min: 1, max: Infinity};// REP
this.rules[437].opcodes[1] = {type: 4, index: 428};// RNM(qchar-no-AMP)
/* ALPHA */
this.rules[438].opcodes = [];
this.rules[438].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[438].opcodes[1] = {type: 5, min: 65, max: 90};// TRG
this.rules[438].opcodes[2] = {type: 5, min: 97, max: 122};// TRG
/* DIGIT */
this.rules[439].opcodes = [];
this.rules[439].opcodes[0] = {type: 5, min: 48, max: 57};// TRG
/* HEXDIG */
this.rules[440].opcodes = [];
this.rules[440].opcodes[0] = {type: 1, children: [1,2]};// ALT
this.rules[440].opcodes[1] = {type: 4, index: 439};// RNM(DIGIT)
this.rules[440].opcodes[2] = {type: 4, index: 441};// RNM(A-to-F)
/* A-to-F */
this.rules[441].opcodes = [];
this.rules[441].opcodes[0] = {type: 1, children: [1,2,3,4,5,6]};// ALT
this.rules[441].opcodes[1] = {type: 7, string: [97]};// TLS
this.rules[441].opcodes[2] = {type: 7, string: [98]};// TLS
this.rules[441].opcodes[3] = {type: 7, string: [99]};// TLS
this.rules[441].opcodes[4] = {type: 7, string: [100]};// TLS
this.rules[441].opcodes[5] = {type: 7, string: [101]};// TLS
this.rules[441].opcodes[6] = {type: 7, string: [102]};// TLS
/* DQUOTE */
this.rules[442].opcodes = [];
this.rules[442].opcodes[0] = {type: 6, string: [34]};// TBS
/* SP */
this.rules[443].opcodes = [];
this.rules[443].opcodes[0] = {type: 6, string: [32]};// TBS
/* HTAB */
this.rules[444].opcodes = [];
this.rules[444].opcodes[0] = {type: 6, string: [9]};// TBS
/* VCHAR */
this.rules[445].opcodes = [];
this.rules[445].opcodes[0] = {type: 5, min: 33, max: 126};// TRG
The toString()
function will display the original grammar file(s) that produced these opcodes.
this.toString = function toString(){
let str = "";
str += ";------------------------------------------------------------------------------\r\n";
str += "; OData ABNF Construction Rules Version 4.01 and 4.0\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "; 17 September 2020\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += ";\r\n";
str += "; Technical Committee:\r\n";
str += "; OASIS Open Data Protocol (OData) TC\r\n";
str += "; https://www.oasis-open.org/committees/odata\r\n";
str += ";\r\n";
str += "; Chairs:\r\n";
str += "; - Ralf Handl (ralf.handl@sap.com), SAP SE\r\n";
str += "; - Michael Pizzo (mikep@microsoft.com), Microsoft\r\n";
str += ";\r\n";
str += "; Editors:\r\n";
str += "; - Ralf Handl (ralf.handl@sap.com), SAP SE\r\n";
str += "; - Michael Pizzo (mikep@microsoft.com), Microsoft\r\n";
str += "; - Martin Zurmuehl (martin.zurmuehl@sap.com), SAP SE\r\n";
str += ";\r\n";
str += "; Additional artifacts: \r\n";
str += "; This grammar is one component of a Work Product which consists of:\r\n";
str += "; - OData Version 4.01 Part 1: Protocol\r\n";
str += "; - OData Version 4.01 Part 2: URL Conventions\r\n";
str += "; - OData ABNF Construction Rules Version 4.01 (this document)\r\n";
str += "; - OData ABNF Test Cases Version 4.01\r\n";
str += ";\r\n";
str += "; Related work:\r\n";
str += "; This specification replaces or supersedes:\r\n";
str += "; - OData ABNF Construction Rules Version 4.0\r\n";
str += "; This work product is related to\r\n";
str += "; - OData Common Schema Definition Language (CSDL) JSON Representation Version 4.01\r\n";
str += "; - OData Common Schema Definition Language (CSDL) XML Representation Version 4.01\r\n";
str += "; - OData JSON Format Version 4.01\r\n";
str += ";\r\n";
str += "; Abstract:\r\n";
str += "; The Open Data Protocol (OData) enables the creation of REST-based data\r\n";
str += "; services, which allow resources, identified using Uniform Resource\r\n";
str += "; Identifiers (URLs) and defined in a data model, to be published and \r\n";
str += "; edited by Web clients using simple HTTP messages. This document defines\r\n";
str += "; the URL syntax for requests and the serialization format for primitive \r\n";
str += "; literals in request and response payloads.\r\n";
str += ";\r\n";
str += "; Overview:\r\n";
str += "; This grammar uses the ABNF defined in RFC5234 and RFC7405. \r\n";
str += ";\r\n";
str += "; The following rules assume that URIs have been percent-encoding normalized\r\n";
str += "; as described in section 6.2.2.2 of RFC3986 \r\n";
str += "; (http://tools.ietf.org/html/rfc3986#section-6.2.2.2)\r\n";
str += "; before applying the grammar to them, i.e. all characters in the unreserved \r\n";
str += "; set (see rule \"unreserved\" below) are plain literals and NOT\r\n";
str += "; percent-encoded. \r\n";
str += ";\r\n";
str += "; For characters outside the unreserved set the rules explicitly state \r\n";
str += "; whether the percent-encoded representation is treated identical to the\r\n";
str += "; plain literal representation.\r\n";
str += "; \r\n";
str += "; One prominent example is the single quote that delimits OData primitive \r\n";
str += "; type literals: %27 and ' are treated identically, so a single quote within \r\n";
str += "; a string literal is \"encoded\" as two consecutive single quotes in either\r\n";
str += "; literal or percent-encoded representation.\r\n";
str += ";\r\n";
str += "; Contents:\r\n";
str += "; 1. Resource Path\r\n";
str += "; 2. Query Options\r\n";
str += "; 3. Context URL Fragments\r\n";
str += "; 4. Expressions\r\n";
str += "; 5. JSON format for function parameters\r\n";
str += "; 6. Names and identifiers\r\n";
str += "; 7. Literal Data Values\r\n";
str += "; 8. Header values\r\n";
str += "; 9. Punctuation\r\n";
str += ";\r\n";
str += "; A. URI syntax [RFC3986]\r\n";
str += "; B. IRI syntax [RFC3986]\r\n";
str += "; C. ABNF core definitions [RFC5234]\r\n";
str += ";\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "dummyStartRule = odataUri / header / primitiveValue ; just to please the test parser\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "\r\n";
str += "\r\n";
str += "odataUri = serviceRoot [ odataRelativeUri ] \r\n";
str += "\r\n";
str += "serviceRoot = ( \"https\" / \"http\" ) ; Note: case-insensitive \r\n";
str += " \"://\" host [ \":\" port ]\r\n";
str += " \"/\" *( segment-nz \"/\" )\r\n";
str += "\r\n";
str += "; Note: dollar-prefixed path segments are case-sensitive!\r\n";
str += "odataRelativeUri = %s\"$batch\" [ \"?\" batchOptions ]\r\n";
str += " / %s\"$entity\" \"?\" entityOptions \r\n";
str += " / %s\"$entity\" \"/\" optionallyQualifiedEntityTypeName \"?\" entityCastOptions \r\n";
str += " / %s\"$metadata\" [ \"?\" metadataOptions ] [ context ]\r\n";
str += " / resourcePath [ \"?\" queryOptions ]\r\n";
str += "\r\n";
str += "\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "; 1. Resource Path\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "\r\n";
str += "resourcePath = entitySetName [ collectionNavigation ] \r\n";
str += " / singletonEntity [ singleNavigation ]\r\n";
str += " / actionImportCall \r\n";
str += " / entityColFunctionImportCall [ collectionNavigation ] \r\n";
str += " / entityFunctionImportCall [ singleNavigation ] \r\n";
str += " / complexColFunctionImportCall [ complexColPath ] \r\n";
str += " / complexFunctionImportCall [ complexPath ] \r\n";
str += " / primitiveColFunctionImportCall [ collectionPath ] \r\n";
str += " / primitiveFunctionImportCall [ primitivePath ] \r\n";
str += " / functionImportCallNoParens [ querySegment ]\r\n";
str += " / crossjoin [ querySegment ]\r\n";
str += " / %s\"$all\" [ \"/\" optionallyQualifiedEntityTypeName ]\r\n";
str += "\r\n";
str += "collectionNavigation = collectionNavPath\r\n";
str += " / \"/\" optionallyQualifiedEntityTypeName [ collectionNavPath ]\r\n";
str += "\r\n";
str += "collectionNavPath = keyPredicate [ singleNavigation ]\r\n";
str += " / filterInPath [ collectionNavigation ]\r\n";
str += " / each [ boundOperation ]\r\n";
str += " / boundOperation\r\n";
str += " / count\r\n";
str += " / ref\r\n";
str += " / querySegment\r\n";
str += "\r\n";
str += "keyPredicate = simpleKey / compoundKey / keyPathSegments\r\n";
str += "simpleKey = OPEN ( parameterAlias / keyPropertyValue ) CLOSE\r\n";
str += "compoundKey = OPEN keyValuePair *( COMMA keyValuePair ) CLOSE\r\n";
str += "keyValuePair = ( primitiveKeyProperty / keyPropertyAlias ) EQ ( parameterAlias / keyPropertyValue )\r\n";
str += "keyPropertyValue = primitiveLiteral\r\n";
str += "keyPropertyAlias = odataIdentifier\r\n";
str += "keyPathSegments = 1*( \"/\" keyPathLiteral )\r\n";
str += "keyPathLiteral = *pchar\r\n";
str += "\r\n";
str += "singleNavigation = singleNavPath\r\n";
str += " / \"/\" optionallyQualifiedEntityTypeName [ singleNavPath ]\r\n";
str += "\r\n";
str += "singleNavPath = \"/\" propertyPath\r\n";
str += " / boundOperation\r\n";
str += " / ref \r\n";
str += " / value ; request the media resource of a media entity \r\n";
str += " / querySegment\r\n";
str += "\r\n";
str += "propertyPath = entityColNavigationProperty [ collectionNavigation ]\r\n";
str += " / entityNavigationProperty [ singleNavigation ]\r\n";
str += " / complexColProperty [ complexColPath ]\r\n";
str += " / complexProperty [ complexPath ]\r\n";
str += " / primitiveColProperty [ collectionPath ]\r\n";
str += " / primitiveProperty [ primitivePath ]\r\n";
str += " / streamProperty [ boundOperation ]\r\n";
str += "\r\n";
str += "collectionPath = count / boundOperation / ordinalIndex / querySegment\r\n";
str += "\r\n";
str += "primitivePath = value / boundOperation / querySegment\r\n";
str += "\r\n";
str += "complexColPath = collectionPath \r\n";
str += " / \"/\" optionallyQualifiedComplexTypeName [ collectionPath ]\r\n";
str += "\r\n";
str += "complexPath = complexNavPath \r\n";
str += " / \"/\" optionallyQualifiedComplexTypeName [ complexNavPath ]\r\n";
str += "\r\n";
str += "complexNavPath = \"/\" propertyPath \r\n";
str += " / boundOperation\r\n";
str += " / querySegment\r\n";
str += " \r\n";
str += "filterInPath = %s\"/$filter\" OPEN boolCommonExpr CLOSE\r\n";
str += "\r\n";
str += "each = %s\"/$each\"\r\n";
str += "count = %s\"/$count\"\r\n";
str += "ref = %s\"/$ref\"\r\n";
str += "value = %s\"/$value\"\r\n";
str += "\r\n";
str += "querySegment = %s\"/$query\"\r\n";
str += "\r\n";
str += "ordinalIndex = \"/\" [ \"-\" ] 1*DIGIT\r\n";
str += "\r\n";
str += "; boundOperation segments can only be composed if the type of the previous segment \r\n";
str += "; matches the type of the first parameter of the action or function being called.\r\n";
str += "; Note that the rule name reflects the return type of the function.\r\n";
str += "boundOperation = \"/\" ( boundActionCall\r\n";
str += " / boundEntityColFunctionCall [ collectionNavigation ] \r\n";
str += " / boundEntityFunctionCall [ singleNavigation ]\r\n";
str += " / boundComplexColFunctionCall [ complexColPath ] \r\n";
str += " / boundComplexFunctionCall [ complexPath ]\r\n";
str += " / boundPrimitiveColFunctionCall [ collectionPath ] \r\n";
str += " / boundPrimitiveFunctionCall [ primitivePath ] \r\n";
str += " / boundFunctionCallNoParens [ querySegment ]\r\n";
str += " )\r\n";
str += "\r\n";
str += "actionImportCall = actionImport\r\n";
str += "boundActionCall = [ namespace \".\" ] action\r\n";
str += " ; with the added restriction that the binding parameter MUST be either an entity or collection of entities\r\n";
str += " ; and is specified by reference using the URI immediately preceding (to the left) of the boundActionCall\r\n";
str += "\r\n";
str += "; The following boundXxxFunctionCall rules have the added restrictions that\r\n";
str += "; - the function MUST support binding, and \r\n";
str += "; - the binding parameter type MUST match the type of resource identified by the \r\n";
str += "; URI immediately preceding (to the left) of the boundXxxFunctionCall, and\r\n";
str += "; - the functionParameters MUST NOT include the bindingParameter.\r\n";
str += "boundEntityFunctionCall = [ namespace \".\" ] entityFunction functionParameters\r\n";
str += "boundEntityColFunctionCall = [ namespace \".\" ] entityColFunction functionParameters\r\n";
str += "boundComplexFunctionCall = [ namespace \".\" ] complexFunction functionParameters\r\n";
str += "boundComplexColFunctionCall = [ namespace \".\" ] complexColFunction functionParameters\r\n";
str += "boundPrimitiveFunctionCall = [ namespace \".\" ] primitiveFunction functionParameters\r\n";
str += "boundPrimitiveColFunctionCall = [ namespace \".\" ] primitiveColFunction functionParameters\r\n";
str += "\r\n";
str += "boundFunctionCallNoParens = [ namespace \".\" ] entityFunction\r\n";
str += " / [ namespace \".\" ] entityColFunction\r\n";
str += " / [ namespace \".\" ] complexFunction\r\n";
str += " / [ namespace \".\" ] complexColFunction\r\n";
str += " / [ namespace \".\" ] primitiveFunction\r\n";
str += " / [ namespace \".\" ] primitiveColFunction\r\n";
str += "\r\n";
str += "entityFunctionImportCall = entityFunctionImport functionParameters\r\n";
str += "entityColFunctionImportCall = entityColFunctionImport functionParameters\r\n";
str += "complexFunctionImportCall = complexFunctionImport functionParameters\r\n";
str += "complexColFunctionImportCall = complexColFunctionImport functionParameters\r\n";
str += "primitiveFunctionImportCall = primitiveFunctionImport functionParameters\r\n";
str += "primitiveColFunctionImportCall = primitiveColFunctionImport functionParameters\r\n";
str += "\r\n";
str += "functionImportCallNoParens = entityFunctionImport\r\n";
str += " / entityColFunctionImport\r\n";
str += " / complexFunctionImport\r\n";
str += " / complexColFunctionImport\r\n";
str += " / primitiveFunctionImport\r\n";
str += " / primitiveColFunctionImport\r\n";
str += "\r\n";
str += "functionParameters = OPEN [ functionParameter *( COMMA functionParameter ) ] CLOSE\r\n";
str += "functionParameter = parameterName EQ ( parameterAlias / primitiveLiteral )\r\n";
str += "parameterName = odataIdentifier\r\n";
str += "parameterAlias = AT odataIdentifier \r\n";
str += "\r\n";
str += "crossjoin = %s\"$crossjoin\" OPEN\r\n";
str += " entitySetName *( COMMA entitySetName )\r\n";
str += " CLOSE\r\n";
str += "\r\n";
str += "\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "; 2. Query Options\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "\r\n";
str += "queryOptions = queryOption *( \"&\" queryOption ) \r\n";
str += "queryOption = systemQueryOption \r\n";
str += " / aliasAndValue \r\n";
str += " / nameAndValue\r\n";
str += " / customQueryOption \r\n";
str += "\r\n";
str += "batchOptions = batchOption *( \"&\" batchOption ) \r\n";
str += "batchOption = format\r\n";
str += " / customQueryOption \r\n";
str += " \r\n";
str += "metadataOptions = metadataOption *( \"&\" metadataOption ) \r\n";
str += "metadataOption = format\r\n";
str += " / customQueryOption \r\n";
str += "\r\n";
str += "entityOptions = *( entityIdOption \"&\" ) id *( \"&\" entityIdOption )\r\n";
str += "entityIdOption = format\r\n";
str += " / customQueryOption\r\n";
str += "entityCastOptions = *( entityCastOption \"&\" ) id *( \"&\" entityCastOption )\r\n";
str += "entityCastOption = entityIdOption\r\n";
str += " / expand \r\n";
str += " / select\r\n";
str += "\r\n";
str += "id = ( \"$id\" / \"id\" ) EQ IRI-in-query \r\n";
str += "\r\n";
str += "systemQueryOption = compute\r\n";
str += " / deltatoken\r\n";
str += " / expand \r\n";
str += " / filter \r\n";
str += " / format \r\n";
str += " / id\r\n";
str += " / inlinecount \r\n";
str += " / orderby \r\n";
str += " / schemaversion\r\n";
str += " / search\r\n";
str += " / select \r\n";
str += " / skip \r\n";
str += " / skiptoken\r\n";
str += " / top \r\n";
str += " / index\r\n";
str += "\r\n";
str += "compute = ( \"$compute\" / \"compute\" ) EQ computeItem *( COMMA computeItem )\r\n";
str += "computeItem = commonExpr RWS \"as\" RWS computedProperty\r\n";
str += "computedProperty = odataIdentifier \r\n";
str += "\r\n";
str += "expand = ( \"$expand\" / \"expand\" ) EQ expandItem *( COMMA expandItem )\r\n";
str += "expandItem = \"$value\"\r\n";
str += " / expandPath\r\n";
str += " / optionallyQualifiedEntityTypeName \"/\" expandPath\r\n";
str += "expandPath = *( ( complexProperty / complexColProperty / optionallyQualifiedComplexTypeName / complexAnnotationInQuery ) \"/\" )\r\n";
str += " ( STAR [ ref / OPEN levels CLOSE ]\r\n";
str += " / streamProperty \r\n";
str += " / ( navigationProperty / entityAnnotationInQuery ) [ \"/\" optionallyQualifiedEntityTypeName ] \r\n";
str += " [ ref [ OPEN expandRefOption *( SEMI expandRefOption ) CLOSE ]\r\n";
str += " / count [ OPEN expandCountOption *( SEMI expandCountOption ) CLOSE ]\r\n";
str += " / OPEN expandOption *( SEMI expandOption ) CLOSE \r\n";
str += " ] \r\n";
str += " )\r\n";
str += "expandCountOption = filter\r\n";
str += " / search\r\n";
str += "expandRefOption = expandCountOption\r\n";
str += " / orderby\r\n";
str += " / skip \r\n";
str += " / top \r\n";
str += " / inlinecount\r\n";
str += "expandOption = expandRefOption\r\n";
str += " / select \r\n";
str += " / expand\r\n";
str += " / compute\r\n";
str += " / levels\r\n";
str += " / aliasAndValue\r\n";
str += " \r\n";
str += "levels = ( \"$levels\" / \"levels\" ) EQ ( oneToNine *DIGIT / \"max\" )\r\n";
str += "\r\n";
str += "filter = ( \"$filter\" / \"filter\" ) EQ boolCommonExpr\r\n";
str += "\r\n";
str += "orderby = ( \"$orderby\" / \"orderby\" ) EQ orderbyItem *( COMMA orderbyItem )\r\n";
str += "orderbyItem = commonExpr [ RWS ( \"asc\" / \"desc\" ) ]\r\n";
str += "\r\n";
str += "skip = ( \"$skip\" / \"skip\" ) EQ 1*DIGIT\r\n";
str += "top = ( \"$top\" / \"top\" ) EQ 1*DIGIT\r\n";
str += "\r\n";
str += "index = ( \"$index\" / \"index\" ) EQ [ \"-\" ] 1*DIGIT\r\n";
str += "\r\n";
str += "format = ( \"$format\" / \"format\" ) EQ\r\n";
str += " ( \"atom\"\r\n";
str += " / \"json\" \r\n";
str += " / \"xml\"\r\n";
str += " / 1*pchar \"/\" 1*pchar ; <a data service specific value indicating a\r\n";
str += " ) ; format specific to the specific data service> or\r\n";
str += " ; <An IANA-defined [IANA-MMT] content type>\r\n";
str += " \r\n";
str += "inlinecount = ( \"$count\" / \"count\" ) EQ booleanValue\r\n";
str += "\r\n";
str += "schemaversion = ( \"$schemaversion\" / \"schemaversion\" ) EQ ( STAR / 1*unreserved )\r\n";
str += "\r\n";
str += "search = ( \"$search\" / \"search\" ) EQ BWS ( searchExpr / searchExpr-incomplete )\r\n";
str += "\r\n";
str += "searchExpr = ( searchParenExpr\r\n";
str += " / searchNegateExpr\r\n";
str += " / searchPhrase\r\n";
str += " / searchWord \r\n";
str += " ) [ searchOrExpr\r\n";
str += " / searchAndExpr\r\n";
str += " ]\r\n";
str += "searchParenExpr = OPEN BWS searchExpr BWS CLOSE\r\n";
str += "\r\n";
str += "; NOT is a unary operator if followed by a search expression\r\n";
str += "searchNegateExpr = %s\"NOT\" RWS searchExpr\r\n";
str += "\r\n";
str += "; AND and OR are binary operators if they appear between search expressions\r\n";
str += "searchOrExpr = RWS %s\"OR\" RWS searchExpr\r\n";
str += "searchAndExpr = RWS [ %s\"AND\" RWS ] searchExpr\r\n";
str += "\r\n";
str += "searchPhrase = quotation-mark 1*( qchar-no-AMP-DQUOTE / SP ) quotation-mark\r\n";
str += "\r\n";
str += "; A searchWord is a sequence of one or more non-whitespace characters, excluding \r\n";
str += "; - literal or percent-encoded parentheses \"(\", \"%28\", \"%29\", \")\"\r\n";
str += "; - literal or percent-encoded double-quotes '\"' and \"%22\"\r\n";
str += "; - the semicolon \";\"\r\n";
str += "; Percent-encoding is allowed, and required for characters with special meaning in the query part of a URL, especially \"&\" and \"#\".\r\n";
str += "; Expressing this in ABNF is somewhat clumsy, so the following rule is overly generous.\r\n";
str += "; Note: the words AND, OR, and NOT are sometimes operators, depending on their position within a search expression.\r\n";
str += "searchWord = searchChar *( searchChar / SQUOTE )\r\n";
str += "searchChar = unreserved / pct-encoded-no-DQUOTE / \"!\" / \"*\" / \"+\" / \",\" / \":\" / \"@\" / \"/\" / \"?\" / \"$\" / \"=\"\r\n";
str += "\r\n";
str += "searchExpr-incomplete = SQUOTE *( SQUOTE-in-string / qchar-no-AMP-SQUOTE / quotation-mark / SP ) SQUOTE\r\n";
str += "\r\n";
str += "\r\n";
str += "select = ( \"$select\" / \"select\" ) EQ selectItem *( COMMA selectItem )\r\n";
str += "selectItem = STAR\r\n";
str += " / allOperationsInSchema \r\n";
str += " / selectProperty\r\n";
str += " / optionallyQualifiedActionName \r\n";
str += " / optionallyQualifiedFunctionName \r\n";
str += " / ( optionallyQualifiedEntityTypeName / optionallyQualifiedComplexTypeName ) \r\n";
str += " \"/\" ( selectProperty\r\n";
str += " / optionallyQualifiedActionName \r\n";
str += " / optionallyQualifiedFunctionName \r\n";
str += " )\r\n";
str += "selectProperty = primitiveProperty / primitiveAnnotationInQuery\r\n";
str += " / ( primitiveColProperty / primitiveColAnnotationInQuery ) [ OPEN selectOptionPC *( SEMI selectOptionPC ) CLOSE ]\r\n";
str += " / navigationProperty\r\n";
str += " / selectPath [ OPEN selectOption *( SEMI selectOption ) CLOSE\r\n";
str += " / \"/\" selectProperty \r\n";
str += " ]\r\n";
str += "selectPath = ( complexProperty / complexColProperty / complexAnnotationInQuery ) [ \"/\" optionallyQualifiedComplexTypeName ] \r\n";
str += "selectOptionPC = filter / search / inlinecount / orderby / skip / top \r\n";
str += "selectOption = selectOptionPC\r\n";
str += " / compute / select / aliasAndValue\r\n";
str += "\r\n";
str += "allOperationsInSchema = namespace \".\" STAR \r\n";
str += "\r\n";
str += "; The parameterNames uniquely identify the bound function overload\r\n";
str += "; Necessary only if it has overloads\r\n";
str += "optionallyQualifiedActionName = [ namespace \".\" ] action\r\n";
str += "optionallyQualifiedFunctionName = [ namespace \".\" ] function [ OPEN parameterNames CLOSE ]\r\n";
str += "\r\n";
str += "; The names of all non-binding parameters, separated by commas \r\n";
str += "parameterNames = parameterName *( COMMA parameterName )\r\n";
str += "\r\n";
str += "deltatoken = \"$deltatoken\" EQ 1*( qchar-no-AMP )\r\n";
str += "\r\n";
str += "skiptoken = \"$skiptoken\" EQ 1*( qchar-no-AMP )\r\n";
str += "\r\n";
str += "aliasAndValue = parameterAlias EQ parameterValue\r\n";
str += "\r\n";
str += "nameAndValue = parameterName EQ parameterValue\r\n";
str += "\r\n";
str += "parameterValue = arrayOrObject\r\n";
str += " / commonExpr\r\n";
str += "\r\n";
str += "customQueryOption = customName [ EQ customValue ]\r\n";
str += "customName = qchar-no-AMP-EQ-AT-DOLLAR *( qchar-no-AMP-EQ ) \r\n";
str += "customValue = *( qchar-no-AMP )\r\n";
str += "\r\n";
str += "complexAnnotationInQuery = annotationInQuery ; complex-valued annotation\r\n";
str += "entityAnnotationInQuery = annotationInQuery ; entity-valued annotation\r\n";
str += "\r\n";
str += "primitiveAnnotationInQuery = annotationInQuery ; primitive-valued annotation\r\n";
str += "primitiveColAnnotationInQuery = annotationInQuery ; primitive collection-valued annotation\r\n";
str += " \r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "; 3. Context URL Fragments\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "\r\n";
str += "context = \"#\" contextFragment\r\n";
str += "contextFragment = %s\"Collection($ref)\"\r\n";
str += " / %s\"$ref\"\r\n";
str += " / %s\"Collection(Edm.EntityType)\"\r\n";
str += " / %s\"Collection(Edm.ComplexType)\"\r\n";
str += " / singletonEntity [ navigation *( containmentNavigation ) [ \"/\" qualifiedEntityTypeName ] ] [ selectList ]\r\n";
str += " / qualifiedTypeName [ selectList ]\r\n";
str += " / entitySet ( %s\"/$deletedEntity\" / %s\"/$link\" / %s\"/$deletedLink\" )\r\n";
str += " / entitySet keyPredicate \"/\" contextPropertyPath [ selectList ]\r\n";
str += " / entitySet [ selectList ] [ %s\"/$entity\" / %s\"/$delta\" ]\r\n";
str += "\r\n";
str += "entitySet = entitySetName *( containmentNavigation ) [ \"/\" qualifiedEntityTypeName ]\r\n";
str += " \r\n";
str += "containmentNavigation = keyPredicate [ \"/\" qualifiedEntityTypeName ] navigation\r\n";
str += "navigation = *( \"/\" complexProperty [ \"/\" qualifiedComplexTypeName ] ) \"/\" navigationProperty \r\n";
str += "\r\n";
str += "selectList = OPEN [ selectListItem *( COMMA selectListItem ) ] CLOSE\r\n";
str += "selectListItem = STAR ; all structural properties\r\n";
str += " / allOperationsInSchema \r\n";
str += " / [ ( qualifiedEntityTypeName / qualifiedComplexTypeName ) \"/\" ] \r\n";
str += " ( qualifiedActionName\r\n";
str += " / qualifiedFunctionName \r\n";
str += " / selectListProperty\r\n";
str += " )\r\n";
str += "selectListProperty = primitiveProperty \r\n";
str += " / primitiveColProperty \r\n";
str += " / ( navigationProperty / entityAnnotationInFragment ) [ \"+\" ] [ selectList ]\r\n";
str += " / ( complexProperty / complexColProperty / complexAnnotationInFragment ) [ \"/\" qualifiedComplexTypeName ] [ \"/\" selectListProperty ]\r\n";
str += "\r\n";
str += "contextPropertyPath = primitiveProperty\r\n";
str += " / primitiveColProperty\r\n";
str += " / complexColProperty\r\n";
str += " / complexProperty [ [ \"/\" qualifiedComplexTypeName ] \"/\" contextPropertyPath ]\r\n";
str += "\r\n";
str += "qualifiedActionName = namespace \".\" action\r\n";
str += "qualifiedFunctionName = namespace \".\" function [ OPEN parameterNames CLOSE ]\r\n";
str += " \r\n";
str += "complexAnnotationInFragment = annotationInFragment ; complex-valued annotation\r\n";
str += "entityAnnotationInFragment = annotationInFragment ; entity-valued annotation\r\n";
str += "\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "; 4. Expressions\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "\r\n";
str += "; Note: a boolCommonExpr is also a commonExpr, e.g. sort by Boolean \r\n";
str += "commonExpr = ( primitiveLiteral\r\n";
str += " / arrayOrObject\r\n";
str += " / rootExpr\r\n";
str += " / firstMemberExpr\r\n";
str += " / functionExpr\r\n";
str += " / negateExpr \r\n";
str += " / methodCallExpr \r\n";
str += " / parenExpr \r\n";
str += " / castExpr \r\n";
str += " / isofExpr\r\n";
str += " / notExpr\r\n";
str += " ) \r\n";
str += " [ addExpr \r\n";
str += " / subExpr \r\n";
str += " / mulExpr \r\n";
str += " / divExpr\r\n";
str += " / divbyExpr \r\n";
str += " / modExpr\r\n";
str += " ] \r\n";
str += " [ eqExpr \r\n";
str += " / neExpr \r\n";
str += " / ltExpr \r\n";
str += " / leExpr \r\n";
str += " / gtExpr \r\n";
str += " / geExpr \r\n";
str += " / hasExpr \r\n";
str += " / inExpr \r\n";
str += " ]\r\n";
str += " [ andExpr \r\n";
str += " / orExpr \r\n";
str += " ] \r\n";
str += "\r\n";
str += "boolCommonExpr = commonExpr ; resulting in a Boolean\r\n";
str += "\r\n";
str += "rootExpr = %s\"$root/\" ( entitySetName keyPredicate / singletonEntity ) [ singleNavigationExpr ]\r\n";
str += "\r\n";
str += "firstMemberExpr = memberExpr\r\n";
str += " / inscopeVariableExpr [ \"/\" memberExpr ]\r\n";
str += "\r\n";
str += "memberExpr = directMemberExpr\r\n";
str += " / ( optionallyQualifiedEntityTypeName / optionallyQualifiedComplexTypeName ) \"/\" directMemberExpr\r\n";
str += " \r\n";
str += "directMemberExpr = propertyPathExpr\r\n";
str += " / boundFunctionExpr \r\n";
str += " / annotationExpr\r\n";
str += " \r\n";
str += "propertyPathExpr = ( entityColNavigationProperty [ collectionNavigationExpr ] \r\n";
str += " / entityNavigationProperty [ singleNavigationExpr ] \r\n";
str += " / complexColProperty [ complexColPathExpr ]\r\n";
str += " / complexProperty [ complexPathExpr ] \r\n";
str += " / primitiveColProperty [ collectionPathExpr ]\r\n";
str += " / primitiveProperty [ primitivePathExpr ]\r\n";
str += " / streamProperty [ primitivePathExpr ]\r\n";
str += " )\r\n";
str += " \r\n";
str += "annotationExpr = annotationInQuery\r\n";
str += " [ collectionPathExpr\r\n";
str += " / singleNavigationExpr\r\n";
str += " / complexPathExpr\r\n";
str += " / primitivePathExpr\r\n";
str += " ]\r\n";
str += " \r\n";
str += "annotationInQuery = AT [ namespace \".\" ] termName [ HASH annotationQualifier ]\r\n";
str += "annotationInFragment = AT [ namespace \".\" ] termName [ \"#\" annotationQualifier ]\r\n";
str += "annotationQualifier = odataIdentifier \r\n";
str += " \r\n";
str += "inscopeVariableExpr = implicitVariableExpr \r\n";
str += " / parameterAlias\r\n";
str += " / lambdaVariableExpr ; only allowed inside a lambdaPredicateExpr\r\n";
str += "implicitVariableExpr = %s\"$it\" ; the current instance of the resource identified by the resource path\r\n";
str += " / %s\"$this\" ; the instance on which the query option is evaluated\r\n";
str += "lambdaVariableExpr = odataIdentifier\r\n";
str += "\r\n";
str += "collectionNavigationExpr = [ \"/\" optionallyQualifiedEntityTypeName ]\r\n";
str += " ( collectionPathExpr\r\n";
str += " / keyPredicate [ singleNavigationExpr ] \r\n";
str += " / filterExpr [ collectionNavigationExpr ]\r\n";
str += " )\r\n";
str += "\r\n";
str += "singleNavigationExpr = \"/\" memberExpr\r\n";
str += "\r\n";
str += "filterExpr = %s\"/$filter\" OPEN boolCommonExpr CLOSE\r\n";
str += "\r\n";
str += "complexColPathExpr = collectionPathExpr\r\n";
str += " / \"/\" optionallyQualifiedComplexTypeName [ collectionPathExpr ]\r\n";
str += " \r\n";
str += "collectionPathExpr = count [ OPEN expandCountOption *( SEMI expandCountOption ) CLOSE ]\r\n";
str += " / filterExpr [ collectionPathExpr ]\r\n";
str += " / \"/\" anyExpr\r\n";
str += " / \"/\" allExpr\r\n";
str += " / \"/\" boundFunctionExpr\r\n";
str += " / \"/\" annotationExpr\r\n";
str += " \r\n";
str += "complexPathExpr = \"/\" directMemberExpr\r\n";
str += " / \"/\" optionallyQualifiedComplexTypeName [ \"/\" directMemberExpr ]\r\n";
str += "\r\n";
str += "primitivePathExpr = \"/\" [ annotationExpr / boundFunctionExpr ]\r\n";
str += "\r\n";
str += "boundFunctionExpr = functionExpr ; boundFunction segments can only be composed if the type of the \r\n";
str += " ; previous segment matches the type of the first function parameter\r\n";
str += " \r\n";
str += "functionExpr = [ namespace \".\" ]\r\n";
str += " ( entityColFunction functionExprParameters [ collectionNavigationExpr ] \r\n";
str += " / entityFunction functionExprParameters [ singleNavigationExpr ] \r\n";
str += " / complexColFunction functionExprParameters [ complexColPathExpr ]\r\n";
str += " / complexFunction functionExprParameters [ complexPathExpr ] \r\n";
str += " / primitiveColFunction functionExprParameters [ collectionPathExpr ] \r\n";
str += " / primitiveFunction functionExprParameters [ primitivePathExpr ] \r\n";
str += " )\r\n";
str += "\r\n";
str += "functionExprParameters = OPEN [ functionExprParameter *( COMMA functionExprParameter ) ] CLOSE\r\n";
str += "functionExprParameter = parameterName EQ ( parameterAlias / parameterValue )\r\n";
str += "\r\n";
str += "anyExpr = \"any\" OPEN BWS [ lambdaVariableExpr BWS COLON BWS lambdaPredicateExpr ] BWS CLOSE\r\n";
str += "allExpr = \"all\" OPEN BWS lambdaVariableExpr BWS COLON BWS lambdaPredicateExpr BWS CLOSE\r\n";
str += "lambdaPredicateExpr = boolCommonExpr ; containing at least one lambdaVariableExpr\r\n";
str += "\r\n";
str += "methodCallExpr = indexOfMethodCallExpr \r\n";
str += " / toLowerMethodCallExpr \r\n";
str += " / toUpperMethodCallExpr \r\n";
str += " / trimMethodCallExpr \r\n";
str += " / substringMethodCallExpr \r\n";
str += " / concatMethodCallExpr \r\n";
str += " / lengthMethodCallExpr \r\n";
str += " / matchesPatternMethodCallExpr\r\n";
str += " / yearMethodCallExpr \r\n";
str += " / monthMethodCallExpr \r\n";
str += " / dayMethodCallExpr \r\n";
str += " / hourMethodCallExpr \r\n";
str += " / minuteMethodCallExpr \r\n";
str += " / secondMethodCallExpr \r\n";
str += " / fractionalsecondsMethodCallExpr\r\n";
str += " / totalsecondsMethodCallExpr\r\n";
str += " / dateMethodCallExpr \r\n";
str += " / timeMethodCallExpr \r\n";
str += " / roundMethodCallExpr \r\n";
str += " / floorMethodCallExpr \r\n";
str += " / ceilingMethodCallExpr \r\n";
str += " / distanceMethodCallExpr \r\n";
str += " / geoLengthMethodCallExpr \r\n";
str += " / totalOffsetMinutesMethodCallExpr\r\n";
str += " / minDateTimeMethodCallExpr\r\n";
str += " / maxDateTimeMethodCallExpr\r\n";
str += " / nowMethodCallExpr\r\n";
str += " / caseMethodCallExpr\r\n";
str += " / boolMethodCallExpr\r\n";
str += "\r\n";
str += "boolMethodCallExpr = endsWithMethodCallExpr \r\n";
str += " / startsWithMethodCallExpr \r\n";
str += " / containsMethodCallExpr \r\n";
str += " / intersectsMethodCallExpr \r\n";
str += " / hasSubsetMethodCallExpr\r\n";
str += " / hasSubsequenceMethodCallExpr\r\n";
str += "\r\n";
str += "concatMethodCallExpr = \"concat\" OPEN BWS commonExpr BWS COMMA BWS commonExpr BWS CLOSE\r\n";
str += "containsMethodCallExpr = \"contains\" OPEN BWS commonExpr BWS COMMA BWS commonExpr BWS CLOSE\r\n";
str += "endsWithMethodCallExpr = \"endswith\" OPEN BWS commonExpr BWS COMMA BWS commonExpr BWS CLOSE\r\n";
str += "indexOfMethodCallExpr = \"indexof\" OPEN BWS commonExpr BWS COMMA BWS commonExpr BWS CLOSE\r\n";
str += "lengthMethodCallExpr = \"length\" OPEN BWS commonExpr BWS CLOSE\r\n";
str += "matchesPatternMethodCallExpr = \"matchesPattern\" OPEN BWS commonExpr BWS COMMA BWS commonExpr BWS CLOSE\r\n";
str += "startsWithMethodCallExpr = \"startswith\" OPEN BWS commonExpr BWS COMMA BWS commonExpr BWS CLOSE\r\n";
str += "substringMethodCallExpr = \"substring\" OPEN BWS commonExpr BWS COMMA BWS commonExpr BWS [ COMMA BWS commonExpr BWS ] CLOSE\r\n";
str += "toLowerMethodCallExpr = \"tolower\" OPEN BWS commonExpr BWS CLOSE\r\n";
str += "toUpperMethodCallExpr = \"toupper\" OPEN BWS commonExpr BWS CLOSE\r\n";
str += "trimMethodCallExpr = \"trim\" OPEN BWS commonExpr BWS CLOSE\r\n";
str += "\r\n";
str += "yearMethodCallExpr = \"year\" OPEN BWS commonExpr BWS CLOSE\r\n";
str += "monthMethodCallExpr = \"month\" OPEN BWS commonExpr BWS CLOSE\r\n";
str += "dayMethodCallExpr = \"day\" OPEN BWS commonExpr BWS CLOSE\r\n";
str += "hourMethodCallExpr = \"hour\" OPEN BWS commonExpr BWS CLOSE\r\n";
str += "minuteMethodCallExpr = \"minute\" OPEN BWS commonExpr BWS CLOSE\r\n";
str += "secondMethodCallExpr = \"second\" OPEN BWS commonExpr BWS CLOSE\r\n";
str += "fractionalsecondsMethodCallExpr = \"fractionalseconds\" OPEN BWS commonExpr BWS CLOSE\r\n";
str += "totalsecondsMethodCallExpr = \"totalseconds\" OPEN BWS commonExpr BWS CLOSE\r\n";
str += "dateMethodCallExpr = \"date\" OPEN BWS commonExpr BWS CLOSE\r\n";
str += "timeMethodCallExpr = \"time\" OPEN BWS commonExpr BWS CLOSE\r\n";
str += "totalOffsetMinutesMethodCallExpr = \"totaloffsetminutes\" OPEN BWS commonExpr BWS CLOSE \r\n";
str += "\r\n";
str += "minDateTimeMethodCallExpr = \"mindatetime\" OPEN BWS CLOSE\r\n";
str += "maxDateTimeMethodCallExpr = \"maxdatetime\" OPEN BWS CLOSE\r\n";
str += "nowMethodCallExpr = \"now\" OPEN BWS CLOSE\r\n";
str += "\r\n";
str += "roundMethodCallExpr = \"round\" OPEN BWS commonExpr BWS CLOSE\r\n";
str += "floorMethodCallExpr = \"floor\" OPEN BWS commonExpr BWS CLOSE\r\n";
str += "ceilingMethodCallExpr = \"ceiling\" OPEN BWS commonExpr BWS CLOSE\r\n";
str += "\r\n";
str += "distanceMethodCallExpr = \"geo.distance\" OPEN BWS commonExpr BWS COMMA BWS commonExpr BWS CLOSE\r\n";
str += "geoLengthMethodCallExpr = \"geo.length\" OPEN BWS commonExpr BWS CLOSE\r\n";
str += "intersectsMethodCallExpr = \"geo.intersects\" OPEN BWS commonExpr BWS COMMA BWS commonExpr BWS CLOSE\r\n";
str += "\r\n";
str += "hasSubsetMethodCallExpr = \"hassubset\" OPEN BWS commonExpr BWS COMMA BWS commonExpr BWS CLOSE\r\n";
str += "hasSubsequenceMethodCallExpr = \"hassubsequence\" OPEN BWS commonExpr BWS COMMA BWS commonExpr BWS CLOSE\r\n";
str += "\r\n";
str += "caseMethodCallExpr = \"case\" OPEN BWS boolCommonExpr BWS COLON BWS commonExpr BWS \r\n";
str += " *( COMMA BWS boolCommonExpr BWS COLON BWS commonExpr BWS ) CLOSE\r\n";
str += "\r\n";
str += "parenExpr = OPEN BWS commonExpr BWS CLOSE\r\n";
str += "listExpr = OPEN BWS primitiveLiteral BWS *( COMMA BWS primitiveLiteral BWS ) CLOSE\r\n";
str += "\r\n";
str += "andExpr = RWS \"and\" RWS boolCommonExpr\r\n";
str += "orExpr = RWS \"or\" RWS boolCommonExpr\r\n";
str += "\r\n";
str += "eqExpr = RWS \"eq\" RWS commonExpr \r\n";
str += "neExpr = RWS \"ne\" RWS commonExpr\r\n";
str += "ltExpr = RWS \"lt\" RWS commonExpr\r\n";
str += "leExpr = RWS \"le\" RWS commonExpr\r\n";
str += "gtExpr = RWS \"gt\" RWS commonExpr\r\n";
str += "geExpr = RWS \"ge\" RWS commonExpr\r\n";
str += "inExpr = RWS \"in\" RWS ( listExpr / commonExpr )\r\n";
str += "\r\n";
str += "hasExpr = RWS \"has\" RWS enum\r\n";
str += "\r\n";
str += "addExpr = RWS \"add\" RWS commonExpr\r\n";
str += "subExpr = RWS \"sub\" RWS commonExpr\r\n";
str += "mulExpr = RWS \"mul\" RWS commonExpr\r\n";
str += "divExpr = RWS \"div\" RWS commonExpr\r\n";
str += "divbyExpr = RWS \"divby\" RWS commonExpr\r\n";
str += "modExpr = RWS \"mod\" RWS commonExpr\r\n";
str += "\r\n";
str += "negateExpr = \"-\" BWS commonExpr\r\n";
str += "\r\n";
str += "notExpr = \"not\" RWS boolCommonExpr\r\n";
str += "\r\n";
str += "isofExpr = \"isof\" OPEN BWS [ commonExpr BWS COMMA BWS ] optionallyQualifiedTypeName BWS CLOSE\r\n";
str += "castExpr = \"cast\" OPEN BWS [ commonExpr BWS COMMA BWS ] optionallyQualifiedTypeName BWS CLOSE\r\n";
str += "\r\n";
str += "\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "; 5. JSON format for queries\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "; Note: the query part of a URI needs to be percent-encoding normalized before\r\n";
str += "; applying these rules, see comment at the top of this file\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "\r\n";
str += "arrayOrObject = array\r\n";
str += " / object\r\n";
str += "\r\n";
str += "array = begin-array \r\n";
str += " [ valueInUrl *( value-separator valueInUrl ) ] \r\n";
str += " end-array\r\n";
str += "\r\n";
str += "object = begin-object\r\n";
str += " [ member *( value-separator member ) ]\r\n";
str += " end-object\r\n";
str += "\r\n";
str += "member = stringInUrl name-separator valueInUrl\r\n";
str += "\r\n";
str += "valueInUrl = stringInUrl\r\n";
str += " / commonExpr \r\n";
str += "\r\n";
str += "; JSON syntax: adapted to URI restrictions from [RFC8259] \r\n";
str += "begin-object = BWS ( \"{\" / \"%7B\" ) BWS\r\n";
str += "end-object = BWS ( \"}\" / \"%7D\" )\r\n";
str += "\r\n";
str += "begin-array = BWS ( \"[\" / \"%5B\" ) BWS \r\n";
str += "end-array = BWS ( \"]\" / \"%5D\" )\r\n";
str += "\r\n";
str += "quotation-mark = DQUOTE / \"%22\"\r\n";
str += "name-separator = BWS COLON BWS\r\n";
str += "value-separator = BWS COMMA BWS\r\n";
str += "\r\n";
str += "stringInUrl = quotation-mark *charInJSON quotation-mark\r\n";
str += "\r\n";
str += "charInJSON = qchar-unescaped \r\n";
str += " / qchar-JSON-special \r\n";
str += " / escape ( quotation-mark \r\n";
str += " / escape\r\n";
str += " / ( \"/\" / \"%2F\" ) ; solidus U+002F - literal form is allowed in the query part of a URL\r\n";
str += " / %s\"b\" ; backspace U+0008 \r\n";
str += " / %s\"f\" ; form feed U+000C\r\n";
str += " / %s\"n\" ; line feed U+000A\r\n";
str += " / %s\"r\" ; carriage return U+000D\r\n";
str += " / %s\"t\" ; tab U+0009\r\n";
str += " / %s\"u\" 4HEXDIG ; U+XXXX\r\n";
str += " )\r\n";
str += "\r\n";
str += "qchar-JSON-special = SP / \":\" / \"{\" / \"}\" / \"[\" / \"]\" ; some agents put these unencoded into the query part of a URL\r\n";
str += "\r\n";
str += "escape = \"\\\" / \"%5C\" ; reverse solidus U+005C\r\n";
str += "\r\n";
str += "\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "; 6. Names and identifiers\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "\r\n";
str += "qualifiedTypeName = singleQualifiedTypeName \r\n";
str += " / %s\"Collection\" OPEN singleQualifiedTypeName CLOSE\r\n";
str += "\r\n";
str += "optionallyQualifiedTypeName = singleQualifiedTypeName \r\n";
str += " / %s\"Collection\" OPEN singleQualifiedTypeName CLOSE\r\n";
str += " / singleTypeName\r\n";
str += " / %s\"Collection\" OPEN singleTypeName CLOSE\r\n";
str += "\r\n";
str += "singleQualifiedTypeName = qualifiedEntityTypeName \r\n";
str += " / qualifiedComplexTypeName\r\n";
str += " / qualifiedTypeDefinitionName\r\n";
str += " / qualifiedEnumTypeName\r\n";
str += " / primitiveTypeName \r\n";
str += " \r\n";
str += "singleTypeName = entityTypeName \r\n";
str += " / complexTypeName \r\n";
str += " / typeDefinitionName \r\n";
str += " / enumerationTypeName \r\n";
str += " \r\n";
str += "qualifiedEntityTypeName = namespace \".\" entityTypeName\r\n";
str += "qualifiedComplexTypeName = namespace \".\" complexTypeName\r\n";
str += "qualifiedTypeDefinitionName = namespace \".\" typeDefinitionName \r\n";
str += "qualifiedEnumTypeName = namespace \".\" enumerationTypeName\r\n";
str += "\r\n";
str += "optionallyQualifiedEntityTypeName = [ namespace \".\" ] entityTypeName\r\n";
str += "optionallyQualifiedComplexTypeName = [ namespace \".\" ] complexTypeName\r\n";
str += "\r\n";
str += "; an alias is just a single-part namespace\r\n";
str += "namespace = namespacePart *( \".\" namespacePart )\r\n";
str += "namespacePart = odataIdentifier\r\n";
str += "\r\n";
str += "entitySetName = odataIdentifier\r\n";
str += "singletonEntity = odataIdentifier \r\n";
str += "entityTypeName = odataIdentifier\r\n";
str += "complexTypeName = odataIdentifier\r\n";
str += "typeDefinitionName = odataIdentifier \r\n";
str += "enumerationTypeName = odataIdentifier\r\n";
str += "enumerationMember = odataIdentifier\r\n";
str += "termName = odataIdentifier\r\n";
str += "\r\n";
str += "; Note: this pattern is overly restrictive, the normative definition is type TSimpleIdentifier in OData EDM XML Schema\r\n";
str += "odataIdentifier = identifierLeadingCharacter *127identifierCharacter\r\n";
str += "identifierLeadingCharacter = ALPHA / \"_\" ; plus Unicode characters from the categories L or Nl\r\n";
str += "identifierCharacter = ALPHA / \"_\" / DIGIT ; plus Unicode characters from the categories L, Nl, Nd, Mn, Mc, Pc, or Cf\r\n";
str += "\r\n";
str += "primitiveTypeName = %s\"Edm.\" ( %s\"Binary\"\r\n";
str += " / %s\"Boolean\"\r\n";
str += " / %s\"Byte\"\r\n";
str += " / %s\"Date\" \r\n";
str += " / %s\"DateTimeOffset\"\r\n";
str += " / %s\"Decimal\"\r\n";
str += " / %s\"Double\"\r\n";
str += " / %s\"Duration\" \r\n";
str += " / %s\"Guid\" \r\n";
str += " / %s\"Int16\"\r\n";
str += " / %s\"Int32\"\r\n";
str += " / %s\"Int64\"\r\n";
str += " / %s\"SByte\"\r\n";
str += " / %s\"Single\"\r\n";
str += " / %s\"Stream\"\r\n";
str += " / %s\"String\"\r\n";
str += " / %s\"TimeOfDay\"\r\n";
str += " / abstractSpatialTypeName [ concreteSpatialTypeName ] \r\n";
str += " )\r\n";
str += "abstractSpatialTypeName = %s\"Geography\"\r\n";
str += " / %s\"Geometry\"\r\n";
str += "concreteSpatialTypeName = %s\"Collection\"\r\n";
str += " / %s\"LineString\"\r\n";
str += " / %s\"MultiLineString\"\r\n";
str += " / %s\"MultiPoint\"\r\n";
str += " / %s\"MultiPolygon\"\r\n";
str += " / %s\"Point\"\r\n";
str += " / %s\"Polygon\"\r\n";
str += "\r\n";
str += "primitiveProperty = primitiveKeyProperty / primitiveNonKeyProperty\r\n";
str += "primitiveKeyProperty = odataIdentifier\r\n";
str += "primitiveNonKeyProperty = odataIdentifier\r\n";
str += "primitiveColProperty = odataIdentifier\r\n";
str += "complexProperty = odataIdentifier\r\n";
str += "complexColProperty = odataIdentifier\r\n";
str += "streamProperty = odataIdentifier\r\n";
str += "\r\n";
str += "navigationProperty = entityNavigationProperty / entityColNavigationProperty \r\n";
str += "entityNavigationProperty = odataIdentifier\r\n";
str += "entityColNavigationProperty = odataIdentifier\r\n";
str += "\r\n";
str += "action = odataIdentifier\r\n";
str += "actionImport = odataIdentifier\r\n";
str += "\r\n";
str += "function = entityFunction \r\n";
str += " / entityColFunction \r\n";
str += " / complexFunction \r\n";
str += " / complexColFunction \r\n";
str += " / primitiveFunction \r\n";
str += " / primitiveColFunction\r\n";
str += " \r\n";
str += "entityFunction = odataIdentifier\r\n";
str += "entityColFunction = odataIdentifier\r\n";
str += "complexFunction = odataIdentifier\r\n";
str += "complexColFunction = odataIdentifier\r\n";
str += "primitiveFunction = odataIdentifier\r\n";
str += "primitiveColFunction = odataIdentifier\r\n";
str += "\r\n";
str += "entityFunctionImport = odataIdentifier\r\n";
str += "entityColFunctionImport = odataIdentifier\r\n";
str += "complexFunctionImport = odataIdentifier\r\n";
str += "complexColFunctionImport = odataIdentifier\r\n";
str += "primitiveFunctionImport = odataIdentifier\r\n";
str += "primitiveColFunctionImport = odataIdentifier\r\n";
str += "\r\n";
str += "\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "; 7. Literal Data Values\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "\r\n";
str += "; in URLs\r\n";
str += "primitiveLiteral = nullValue ; plain values up to int64Value\r\n";
str += " / booleanValue \r\n";
str += " / guidValue \r\n";
str += " / dateTimeOffsetValueInUrl \r\n";
str += " / dateValue\r\n";
str += " / timeOfDayValueInUrl\r\n";
str += " / decimalValue \r\n";
str += " / doubleValue \r\n";
str += " / singleValue \r\n";
str += " / sbyteValue \r\n";
str += " / byteValue\r\n";
str += " / int16Value \r\n";
str += " / int32Value \r\n";
str += " / int64Value \r\n";
str += " / string ; single-quoted\r\n";
str += " / duration\r\n";
str += " / enum\r\n";
str += " / binary ; all others are quoted and prefixed \r\n";
str += " / geographyCollection \r\n";
str += " / geographyLineString \r\n";
str += " / geographyMultiLineString \r\n";
str += " / geographyMultiPoint \r\n";
str += " / geographyMultiPolygon \r\n";
str += " / geographyPoint \r\n";
str += " / geographyPolygon \r\n";
str += " / geometryCollection \r\n";
str += " / geometryLineString \r\n";
str += " / geometryMultiLineString \r\n";
str += " / geometryMultiPoint \r\n";
str += " / geometryMultiPolygon \r\n";
str += " / geometryPoint \r\n";
str += " / geometryPolygon\r\n";
str += " \r\n";
str += "; in Atom and JSON message bodies and CSDL DefaultValue attributes \r\n";
str += "primitiveValue = booleanValue\r\n";
str += " / guidValue\r\n";
str += " / durationValue\r\n";
str += " / dateTimeOffsetValue \r\n";
str += " / dateValue\r\n";
str += " / timeOfDayValue\r\n";
str += " / enumValue\r\n";
str += " / fullCollectionLiteral\r\n";
str += " / fullLineStringLiteral\r\n";
str += " / fullMultiPointLiteral\r\n";
str += " / fullMultiLineStringLiteral\r\n";
str += " / fullMultiPolygonLiteral\r\n";
str += " / fullPointLiteral\r\n";
str += " / fullPolygonLiteral\r\n";
str += " / decimalValue \r\n";
str += " / doubleValue \r\n";
str += " / singleValue \r\n";
str += " / sbyteValue \r\n";
str += " / byteValue\r\n";
str += " / int16Value \r\n";
str += " / int32Value \r\n";
str += " / int64Value \r\n";
str += " / binaryValue \r\n";
str += " ; also valid are:\r\n";
str += " ; - any XML string for strings in Atom and CSDL documents\r\n";
str += " ; - any JSON string for JSON documents \r\n";
str += "\r\n";
str += "nullValue = %s\"null\" \r\n";
str += "\r\n";
str += "; base64url encoding according to http://tools.ietf.org/html/rfc4648#section-5 \r\n";
str += "binary = \"binary\" SQUOTE binaryValue SQUOTE\r\n";
str += "binaryValue = *(4base64char) [ base64b16 / base64b8 ]\r\n";
str += "base64b16 = 2base64char ( %s\"A\" / %s\"E\" / %s\"I\" / %s\"M\" / %s\"Q\" / %s\"U\" / %s\"Y\" / %s\"c\" / %s\"g\" / %s\"k\" / %s\"o\" / %s\"s\" / %s\"w\" / %s\"0\" / %s\"4\" / %s\"8\" ) [ \"=\" ]\r\n";
str += "base64b8 = base64char ( %s\"A\" / %s\"Q\" / %s\"g\" / %s\"w\" ) [ \"==\" ]\r\n";
str += "base64char = ALPHA / DIGIT / \"-\" / \"_\"\r\n";
str += "\r\n";
str += "booleanValue = \"true\" / \"false\"\r\n";
str += "\r\n";
str += "decimalValue = [ SIGN ] 1*DIGIT [ \".\" 1*DIGIT ] [ \"e\" [ SIGN ] 1*DIGIT ] / nanInfinity\r\n";
str += "doubleValue = decimalValue ; IEEE 754 binary64 floating-point number (15-17 decimal digits)\r\n";
str += "singleValue = decimalValue ; IEEE 754 binary32 floating-point number (6-9 decimal digits)\r\n";
str += "nanInfinity = %s\"NaN\" / %s\"-INF\" / %s\"INF\"\r\n";
str += "\r\n";
str += "guidValue = 8HEXDIG \"-\" 4HEXDIG \"-\" 4HEXDIG \"-\" 4HEXDIG \"-\" 12HEXDIG \r\n";
str += "\r\n";
str += "byteValue = 1*3DIGIT ; numbers in the range from 0 to 255\r\n";
str += "sbyteValue = [ SIGN ] 1*3DIGIT ; numbers in the range from -128 to 127\r\n";
str += "int16Value = [ SIGN ] 1*5DIGIT ; numbers in the range from -32768 to 32767 \r\n";
str += "int32Value = [ SIGN ] 1*10DIGIT ; numbers in the range from -2147483648 to 2147483647\r\n";
str += "int64Value = [ SIGN ] 1*19DIGIT ; numbers in the range from -9223372036854775808 to 9223372036854775807\r\n";
str += "\r\n";
str += "string = SQUOTE *( SQUOTE-in-string / pchar-no-SQUOTE ) SQUOTE\r\n";
str += "SQUOTE-in-string = SQUOTE SQUOTE ; two consecutive single quotes represent one within a string literal\r\n";
str += "\r\n";
str += "dateValue = year \"-\" month \"-\" day\r\n";
str += "\r\n";
str += "dateTimeOffsetValue = year \"-\" month \"-\" day \"T\" timeOfDayValue ( \"Z\" / SIGN hour \":\" minute )\r\n";
str += "dateTimeOffsetValueInUrl = year \"-\" month \"-\" day \"T\" timeOfDayValueInUrl ( \"Z\" / SIGN hour COLON minute )\r\n";
str += "\r\n";
str += "duration = [ \"duration\" ] SQUOTE durationValue SQUOTE\r\n";
str += "durationValue = [ SIGN ] \"P\" [ 1*DIGIT \"D\" ] [ \"T\" [ 1*DIGIT \"H\" ] [ 1*DIGIT \"M\" ] [ 1*DIGIT [ \".\" 1*DIGIT ] \"S\" ] ]\r\n";
str += " ; the above is an approximation of the rules for an xml dayTimeDuration.\r\n";
str += " ; see the lexical representation for dayTimeDuration in http://www.w3.org/TR/xmlschema11-2#dayTimeDuration for more information\r\n";
str += "\r\n";
str += "timeOfDayValue = hour \":\" minute [ \":\" second [ \".\" fractionalSeconds ] ]\r\n";
str += "timeOfDayValueInUrl = hour COLON minute [ COLON second [ \".\" fractionalSeconds ] ]\r\n";
str += " \r\n";
str += "oneToNine = \"1\" / \"2\" / \"3\" / \"4\" / \"5\" / \"6\" / \"7\" / \"8\" / \"9\" \r\n";
str += "zeroToFiftyNine = ( \"0\" / \"1\" / \"2\" / \"3\" / \"4\" / \"5\" ) DIGIT\r\n";
str += "year = [ \"-\" ] ( \"0\" 3DIGIT / oneToNine 3*DIGIT )\r\n";
str += "month = \"0\" oneToNine\r\n";
str += " / \"1\" ( \"0\" / \"1\" / \"2\" )\r\n";
str += "day = \"0\" oneToNine\r\n";
str += " / ( \"1\" / \"2\" ) DIGIT\r\n";
str += " / \"3\" ( \"0\" / \"1\" )\r\n";
str += "hour = ( \"0\" / \"1\" ) DIGIT\r\n";
str += " / \"2\" ( \"0\" / \"1\" / \"2\" / \"3\" ) \r\n";
str += "minute = zeroToFiftyNine\r\n";
str += "second = zeroToFiftyNine / \"60\" ; for leap seconds\r\n";
str += "fractionalSeconds = 1*12DIGIT\r\n";
str += "\r\n";
str += "enum = [ qualifiedEnumTypeName ] SQUOTE enumValue SQUOTE\r\n";
str += "enumValue = singleEnumValue *( COMMA singleEnumValue )\r\n";
str += "singleEnumValue = enumerationMember / enumMemberValue\r\n";
str += "enumMemberValue = int64Value\r\n";
str += "\r\n";
str += "geographyCollection = geographyPrefix SQUOTE fullCollectionLiteral SQUOTE\r\n";
str += "fullCollectionLiteral = sridLiteral collectionLiteral\r\n";
str += "collectionLiteral = \"Collection(\" geoLiteral *( COMMA geoLiteral ) CLOSE\r\n";
str += "geoLiteral = collectionLiteral\r\n";
str += " / lineStringLiteral\r\n";
str += " / multiPointLiteral\r\n";
str += " / multiLineStringLiteral\r\n";
str += " / multiPolygonLiteral\r\n";
str += " / pointLiteral\r\n";
str += " / polygonLiteral\r\n";
str += "\r\n";
str += "geographyLineString = geographyPrefix SQUOTE fullLineStringLiteral SQUOTE\r\n";
str += "fullLineStringLiteral = sridLiteral lineStringLiteral\r\n";
str += "lineStringLiteral = \"LineString\" lineStringData\r\n";
str += "lineStringData = OPEN positionLiteral 1*( COMMA positionLiteral ) CLOSE\r\n";
str += "\r\n";
str += "geographyMultiLineString = geographyPrefix SQUOTE fullMultiLineStringLiteral SQUOTE\r\n";
str += "fullMultiLineStringLiteral = sridLiteral multiLineStringLiteral\r\n";
str += "multiLineStringLiteral = \"MultiLineString(\" [ lineStringData *( COMMA lineStringData ) ] CLOSE\r\n";
str += "\r\n";
str += "geographyMultiPoint = geographyPrefix SQUOTE fullMultiPointLiteral SQUOTE\r\n";
str += "fullMultiPointLiteral = sridLiteral multiPointLiteral\r\n";
str += "multiPointLiteral = \"MultiPoint(\" [ pointData *( COMMA pointData ) ] CLOSE\r\n";
str += "\r\n";
str += "geographyMultiPolygon = geographyPrefix SQUOTE fullMultiPolygonLiteral SQUOTE\r\n";
str += "fullMultiPolygonLiteral = sridLiteral multiPolygonLiteral\r\n";
str += "multiPolygonLiteral = \"MultiPolygon(\" [ polygonData *( COMMA polygonData ) ] CLOSE\r\n";
str += "\r\n";
str += "geographyPoint = geographyPrefix SQUOTE fullPointLiteral SQUOTE\r\n";
str += "fullPointLiteral = sridLiteral pointLiteral\r\n";
str += "sridLiteral = \"SRID\" EQ 1*5DIGIT SEMI\r\n";
str += "pointLiteral =\"Point\" pointData\r\n";
str += "pointData = OPEN positionLiteral CLOSE\r\n";
str += "positionLiteral = doubleValue SP doubleValue [ SP doubleValue ] [ SP doubleValue ] ; longitude, latitude, altitude/elevation (optional), linear referencing measure (optional)\r\n";
str += "\r\n";
str += "geographyPolygon = geographyPrefix SQUOTE fullPolygonLiteral SQUOTE\r\n";
str += "fullPolygonLiteral = sridLiteral polygonLiteral\r\n";
str += "polygonLiteral = \"Polygon\" polygonData\r\n";
str += "polygonData = OPEN ringLiteral *( COMMA ringLiteral ) CLOSE\r\n";
str += "ringLiteral = OPEN positionLiteral *( COMMA positionLiteral ) CLOSE\r\n";
str += " ; Within each ringLiteral, the first and last positionLiteral elements MUST be an exact syntactic match to each other.\r\n";
str += " ; Within the polygonData, the ringLiterals MUST specify their points in appropriate winding order. \r\n";
str += " ; In order of traversal, points to the left side of the ring are interpreted as being in the polygon.\r\n";
str += "\r\n";
str += "geometryCollection = geometryPrefix SQUOTE fullCollectionLiteral SQUOTE\r\n";
str += "geometryLineString = geometryPrefix SQUOTE fullLineStringLiteral SQUOTE\r\n";
str += "geometryMultiLineString = geometryPrefix SQUOTE fullMultiLineStringLiteral SQUOTE\r\n";
str += "geometryMultiPoint = geometryPrefix SQUOTE fullMultiPointLiteral SQUOTE\r\n";
str += "geometryMultiPolygon = geometryPrefix SQUOTE fullMultiPolygonLiteral SQUOTE\r\n";
str += "geometryPoint = geometryPrefix SQUOTE fullPointLiteral SQUOTE\r\n";
str += "geometryPolygon = geometryPrefix SQUOTE fullPolygonLiteral SQUOTE\r\n";
str += "\r\n";
str += "geographyPrefix = \"geography\"\r\n";
str += "geometryPrefix = \"geometry\" \r\n";
str += "\r\n";
str += "\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "; 8. Header values\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "\r\n";
str += "header = content-id\r\n";
str += " / isolation\r\n";
str += " / odata-entityid \r\n";
str += " / odata-error\r\n";
str += " / odata-maxversion\r\n";
str += " / odata-version\r\n";
str += " / prefer\r\n";
str += "\r\n";
str += "content-id = \"Content-ID\" \":\" OWS request-id\r\n";
str += "isolation = [ \"OData-\" ] \"Isolation\" \":\" OWS \"snapshot\"\r\n";
str += "request-id = 1*unreserved\r\n";
str += " \r\n";
str += "odata-entityid = \"OData-EntityID\" \":\" OWS IRI-in-header\r\n";
str += "\r\n";
str += "; Note: the header value is a JSON object restricted to characters allowed in a header\r\n";
str += "odata-error = \"OData-Error\" \":\" OWS \"{\" DQUOTE %s\"code\" DQUOTE \":\" *( VCHAR / SP )\r\n";
str += "\r\n";
str += "odata-maxversion = \"OData-MaxVersion\" \":\" OWS 1*DIGIT \".\" 1*DIGIT \r\n";
str += "odata-version = \"OData-Version\" \":\" OWS \"4.0\" [ oneToNine ]\r\n";
str += " \r\n";
str += "prefer = \"Prefer\" \":\" OWS preference *( OWS \",\" OWS preference ) \r\n";
str += "preference = allowEntityReferencesPreference\r\n";
str += " / callbackPreference\r\n";
str += " / continueOnErrorPreference\r\n";
str += " / includeAnnotationsPreference\r\n";
str += " / maxpagesizePreference\r\n";
str += " / omitValuesPreference\r\n";
str += " / respondAsyncPreference\r\n";
str += " / returnPreference\r\n";
str += " / trackChangesPreference\r\n";
str += " / waitPreference\r\n";
str += " ; and everything allowed by https://tools.ietf.org/html/rfc7240\r\n";
str += " ; / ( parameter / token ) *( OWS \";\" [ OWS ( parameter / token ) ] )\r\n";
str += " \r\n";
str += "allowEntityReferencesPreference = [ \"odata.\" ] \"allow-entityreferences\"\r\n";
str += "\r\n";
str += "callbackPreference = [ \"odata.\" ] \"callback\" OWS \";\" OWS \"url\" EQ-h DQUOTE URI DQUOTE\r\n";
str += "\r\n";
str += "continueOnErrorPreference = [ \"odata.\" ] \"continue-on-error\" [ EQ-h booleanValue ] \r\n";
str += " \r\n";
str += "includeAnnotationsPreference = [ \"odata.\" ] \"include-annotations\" EQ-h DQUOTE annotationsList DQUOTE\r\n";
str += "annotationsList = annotationIdentifier *(\",\" annotationIdentifier)\r\n";
str += "annotationIdentifier = [ excludeOperator ]\r\n";
str += " ( STAR \r\n";
str += " / namespace \".\" ( termName / STAR ) \r\n";
str += " ) \r\n";
str += " [ \"#\" odataIdentifier ]\r\n";
str += "excludeOperator = \"-\"\r\n";
str += " \r\n";
str += "maxpagesizePreference = [ \"odata.\" ] \"maxpagesize\" EQ-h oneToNine *DIGIT \r\n";
str += "\r\n";
str += "omitValuesPreference = \"omit-values\" EQ-h ( \"nulls\" / \"defaults\" ) \r\n";
str += "\r\n";
str += "respondAsyncPreference = \"respond-async\"\r\n";
str += "\r\n";
str += "returnPreference = \"return\" EQ-h ( %s\"representation\" / %s\"minimal\" )\r\n";
str += "\r\n";
str += "trackChangesPreference = [ \"odata.\" ] \"track-changes\"\r\n";
str += "\r\n";
str += "waitPreference = \"wait\" EQ-h 1*DIGIT\r\n";
str += "\r\n";
str += ";parameter = token \"=\" ( token / quoted-string )\r\n";
str += ";token = 1*tchar\r\n";
str += ";tchar = \"!\" / \"#\" / \"$\" / \"%\" / \"&\" / \"'\" / \"*\"\r\n";
str += "; / \"+\" / \"-\" / \".\" / \"^\" / \"_\" / \"`\" / \"|\" / \"~\"\r\n";
str += "; / DIGIT / ALPHA\r\n";
str += ";quoted-string = DQUOTE *( qdtext / quoted-pair ) DQUOTE\r\n";
str += ";qdtext = %x21 / %x23-5B / %x5D-7E / obs-text / OWS\r\n";
str += "obs-text = %x80-FF\r\n";
str += ";quoted-pair = \"\\\" ( HTAB / SP / VCHAR / obs-text )\r\n";
str += "\r\n";
str += "OWS = *( SP / HTAB ) ; \"optional\" whitespace \r\n";
str += "BWS-h = *( SP / HTAB ) ; \"bad\" whitespace in header values \r\n";
str += "EQ-h = BWS-h EQ BWS-h \r\n";
str += "\r\n";
str += "\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "; 9. Punctuation\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "\r\n";
str += "RWS = 1*( SP / HTAB / \"%20\" / \"%09\" ) ; \"required\" whitespace \r\n";
str += "BWS = *( SP / HTAB / \"%20\" / \"%09\" ) ; \"bad\" whitespace \r\n";
str += "\r\n";
str += "AT = \"@\" / \"%40\"\r\n";
str += "COLON = \":\" / \"%3A\"\r\n";
str += "COMMA = \",\" / \"%2C\"\r\n";
str += "EQ = \"=\"\r\n";
str += "HASH = \"%23\" ; the # character is not allowed in the query part\r\n";
str += "SIGN = \"+\" / \"%2B\" / \"-\"\r\n";
str += "SEMI = \";\" / \"%3B\"\r\n";
str += "STAR = \"*\" / \"%2A\"\r\n";
str += "SQUOTE = \"'\" / \"%27\"\r\n";
str += "\r\n";
str += "OPEN = \"(\" / \"%28\"\r\n";
str += "CLOSE = \")\" / \"%29\"\r\n";
str += "\r\n";
str += "\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "; A. URI syntax [RFC3986]\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "\r\n";
str += "URI = scheme \":\" hier-part [ \"?\" query ] [ \"#\" fragment ]\r\n";
str += "hier-part = \"//\" authority path-abempty\r\n";
str += " / path-absolute\r\n";
str += " / path-rootless\r\n";
str += "; / path-empty\r\n";
str += ";URI-reference = URI / relative-ref\r\n";
str += ";absolute-URI = scheme \":\" hier-part [ \"?\" query ]\r\n";
str += ";relative-ref = relative-part [ \"?\" query ] [ \"#\" fragment ]\r\n";
str += ";relative-part = \"//\" authority path-abempty\r\n";
str += "; / path-absolute\r\n";
str += "; / path-noscheme\r\n";
str += "; / path-empty\r\n";
str += "scheme = ALPHA *( ALPHA / DIGIT / \"+\" / \"-\" / \".\" )\r\n";
str += "authority = [ userinfo \"@\" ] host [ \":\" port ]\r\n";
str += "userinfo = *( unreserved / pct-encoded / sub-delims / \":\" )\r\n";
str += "host = IP-literal / IPv4address / reg-name\r\n";
str += "port = *DIGIT\r\n";
str += "IP-literal = \"[\" ( IPv6address / IPvFuture ) \"]\"\r\n";
str += "IPvFuture = \"v\" 1*HEXDIG \".\" 1*( unreserved / sub-delims / \":\" )\r\n";
str += "IPv6address = 6( h16 \":\" ) ls32\r\n";
str += " / \"::\" 5( h16 \":\" ) ls32\r\n";
str += " / [ h16 ] \"::\" 4( h16 \":\" ) ls32\r\n";
str += " / [ *1( h16 \":\" ) h16 ] \"::\" 3( h16 \":\" ) ls32\r\n";
str += " / [ *2( h16 \":\" ) h16 ] \"::\" 2( h16 \":\" ) ls32\r\n";
str += " / [ *3( h16 \":\" ) h16 ] \"::\" h16 \":\" ls32\r\n";
str += " / [ *4( h16 \":\" ) h16 ] \"::\" ls32\r\n";
str += " / [ *5( h16 \":\" ) h16 ] \"::\" h16\r\n";
str += " / [ *6( h16 \":\" ) h16 ] \"::\"\r\n";
str += "h16 = 1*4HEXDIG\r\n";
str += "ls32 = ( h16 \":\" h16 ) / IPv4address\r\n";
str += "IPv4address = dec-octet \".\" dec-octet \".\" dec-octet \".\" dec-octet\r\n";
str += "dec-octet = \"1\" 2DIGIT ; 100-199\r\n";
str += " / \"2\" %x30-34 DIGIT ; 200-249\r\n";
str += " / \"25\" %x30-35 ; 250-255\r\n";
str += " / %x31-39 DIGIT ; 10-99\r\n";
str += " / DIGIT ; 0-9\r\n";
str += "reg-name = *( unreserved / pct-encoded / sub-delims )\r\n";
str += ";path = path-abempty ; begins with \"/\" or is empty\r\n";
str += "; / path-absolute ; begins with \"/\" but not \"//\"\r\n";
str += "; / path-noscheme ; begins with a non-colon segment\r\n";
str += "; / path-rootless ; begins with a segment\r\n";
str += "; / path-empty ; zero characters\r\n";
str += "path-abempty = *( \"/\" segment )\r\n";
str += "path-absolute = \"/\" [ segment-nz *( \"/\" segment ) ]\r\n";
str += ";path-noscheme = segment-nz-nc *( \"/\" segment )\r\n";
str += "path-rootless = segment-nz *( \"/\" segment )\r\n";
str += ";path-empty = \"\"\r\n";
str += "segment = *pchar\r\n";
str += "segment-nz = 1*pchar\r\n";
str += ";segment-nz-nc = 1*( unreserved / pct-encoded / sub-delims / \"@\" ) ; non-zero-length segment without any colon \":\"\r\n";
str += "pchar = unreserved / pct-encoded / sub-delims / \":\" / \"@\"\r\n";
str += "query = *( pchar / \"/\" / \"?\" )\r\n";
str += "fragment = *( pchar / \"/\" / \"?\" )\r\n";
str += "pct-encoded = \"%\" HEXDIG HEXDIG\r\n";
str += "unreserved = ALPHA / DIGIT / \"-\" / \".\" / \"_\" / \"~\"\r\n";
str += ";reserved = gen-delims / sub-delims\r\n";
str += ";gen-delims = \":\" / \"/\" / \"?\" / \"#\" / \"[\" / \"]\" / \"@\"\r\n";
str += ";sub-delims = \"!\" / \"$\" / \"&\" / \"'\" / \"(\" / \")\" / \"*\" / \"+\" / \",\" / \";\" / \"=\"\r\n";
str += "sub-delims = \"$\" / \"&\" / \"'\" / \"=\" / other-delims\r\n";
str += "other-delims = \"!\" / \"(\" / \")\" / \"*\" / \"+\" / \",\" / \";\"\r\n";
str += "\r\n";
str += "pchar-no-SQUOTE = unreserved / pct-encoded-no-SQUOTE / other-delims / \"$\" / \"&\" / \"=\" / \":\" / \"@\"\r\n";
str += "pct-encoded-no-SQUOTE = \"%\" ( \"0\" / \"1\" / \"3\" / \"4\" / \"5\" / \"6\" / \"8\" / \"9\" / A-to-F ) HEXDIG \r\n";
str += " / \"%\" \"2\" ( \"0\" / \"1\" / \"2\" / \"3\" / \"4\" / \"5\" / \"6\" / \"8\" / \"9\" / A-to-F )\r\n";
str += "\r\n";
str += "qchar-no-AMP = unreserved / pct-encoded / other-delims / \":\" / \"@\" / \"/\" / \"?\" / \"$\" / \"'\" / \"=\"\r\n";
str += "qchar-no-AMP-EQ = unreserved / pct-encoded / other-delims / \":\" / \"@\" / \"/\" / \"?\" / \"$\" / \"'\"\r\n";
str += "qchar-no-AMP-EQ-AT-DOLLAR = unreserved / pct-encoded / other-delims / \":\" / \"/\" / \"?\" / \"'\"\r\n";
str += "qchar-no-AMP-SQUOTE = unreserved / pct-encoded / other-delims / \":\" / \"@\" / \"/\" / \"?\" / \"$\" / \"=\"\r\n";
str += "qchar-no-AMP-DQUOTE = unreserved / pct-encoded-no-DQUOTE / other-delims / \":\" / \"@\" / \"/\" / \"?\" / \"$\" / \"'\" / \"=\"\r\n";
str += "\r\n";
str += "qchar-unescaped = unreserved / pct-encoded-unescaped / other-delims / \":\" / \"@\" / \"/\" / \"?\" / \"$\" / \"'\" / \"=\"\r\n";
str += "pct-encoded-unescaped = \"%\" ( \"0\" / \"1\" / \"3\" / \"4\" / \"6\" / \"7\" / \"8\" / \"9\" / A-to-F ) HEXDIG \r\n";
str += " / \"%\" \"2\" ( \"0\" / \"1\" / \"3\" / \"4\" / \"5\" / \"6\" / \"7\" / \"8\" / \"9\" / A-to-F ) \r\n";
str += " / \"%\" \"5\" ( DIGIT / \"A\" / \"B\" / \"D\" / \"E\" / \"F\" )\r\n";
str += "\r\n";
str += "pct-encoded-no-DQUOTE = \"%\" ( \"0\" / \"1\" / \"3\" / \"4\" / \"5\" / \"6\" / \"7\" / \"8\" / \"9\" / A-to-F ) HEXDIG \r\n";
str += " / \"%\" \"2\" ( \"0\" / \"1\" / \"3\" / \"4\" / \"5\" / \"6\" / \"7\" / \"8\" / \"9\" / A-to-F ) \r\n";
str += " \r\n";
str += " \r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "; B. IRI syntax [RFC3987]\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "; Note: these are over-generous stubs, for the actual patterns refer to RFC3987\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "\r\n";
str += "IRI-in-header = 1*( VCHAR / obs-text )\r\n";
str += "IRI-in-query = 1*qchar-no-AMP\r\n";
str += "\r\n";
str += " \r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "; C. ABNF core definitions [RFC5234]\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "\r\n";
str += "ALPHA = %x41-5A / %x61-7A \r\n";
str += "DIGIT = %x30-39 \r\n";
str += "HEXDIG = DIGIT / A-to-F\r\n";
str += "A-to-F = \"A\" / \"B\" / \"C\" / \"D\" / \"E\" / \"F\" \r\n";
str += "DQUOTE = %x22\r\n";
str += "SP = %x20 \r\n";
str += "HTAB = %x09 \r\n";
str += ";WSP = SP / HTAB \r\n";
str += ";LWSP = *(WSP / CRLF WSP) \r\n";
str += "VCHAR = %x21-7E \r\n";
str += ";CHAR = %x01-7F\r\n";
str += ";LOCTET = %x00-FF \r\n";
str += ";CR = %x0D \r\n";
str += ";LF = %x0A \r\n";
str += ";CRLF = CR LF\r\n";
str += ";BIT = \"0\" / \"1\" \r\n";
str += "\r\n";
str += "\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "; End of odata-abnf-construction-rules\r\n";
str += ";------------------------------------------------------------------------------\r\n";
str += "\r\n";
return str;
}
}